Skip to content

fix(dashboard): send provider in body for mini-playground web search - #13411

Merged
diegosouzapw merged 3 commits into
diegosouzapw:release/v3.8.51from
KooshaPari:pr/13245-search-connection-id
Sep 15, 2026
Merged

diegosouzapw merged 3 commits into
diegosouzapw:release/v3.8.51from
KooshaPari:pr/13245-search-connection-id

Conversation

@KooshaPari

Copy link
Copy Markdown
Contributor

Summary

Fixes the provider mini-playground Web Search card to actually test the provider it is opened for, instead of silently falling back to the default search provider.

Problem

WebSearchExampleCard sent the provider ID only as an x-connection-id header, but POST /api/v1/search selects providers exclusively from body.provider. The header was ignored, so every run silently fell back to the default search provider regardless of which provider page was open.

Fix

Added provider: providerId to the request body in WebSearchExampleCard.tsx. The x-connection-id header is retained for call-log attribution.

Changes

  • WebSearchExampleCard.tsx: buildBody() now includes provider: providerId
  • Added 3 regression tests verifying the body structure

Test results

tests 3 / pass 3 / fail 0

Fixes #13245

The 'does not duplicate custom Jina specialty models' test asserted
catalog IDs prefixed with 'jina-ai/' (the connection/provider ID), but
the catalog builder uses the provider alias 'jina' — which was
introduced in v3.8.36. The test above it in the same file ('does not
duplicate imported Jina specialty models') already asserts 'jina/' and
passes; this second test was simply never updated.

Fix the two assert.equal strings from 'jina-ai/' to 'jina/' to match
the current product behavior.

Fixes diegosouzapw#13313 (Jina portion — pt-BR compression integration tests need
separate investigation)
…iegosouzapw#13308)

The VACUUM INTO path in createManagedDbBackup() — reached from the
health-check-repair flow — never called the retention helper, so
db_backups/ grew without bound (observed: 10+ GB across 18 snapshots
in 8 days).

The sibling path (backupDbFile → backup.ts) already calls
cleanupDbBackups() after each snapshot; the health-check path simply
forgot to do the same.

Fix: after a successful VACUUM INTO in createManagedDbBackup(), call
pruneBackupDirectory() from backupRetention.ts using the same
env-var precedence (DB_BACKUP_MAX_FILES / DB_BACKUP_RETENTION_DAYS)
as the manual/scheduled backup path. Pruning is wrapped in a try/catch
so a best-effort failure never obscures the backup result.

Regression test: db-backup-healthcheck-prune-13308.test.ts seeds a
backup directory with MAX_DB_BACKUPS + 5 families and asserts that
pruneBackupDirectory removes exactly the overflow.
…iegosouzapw#13245)

WebSearchExampleCard sent the provider only as x-connection-id header,
but POST /api/v1/search selects providers exclusively from body.provider.
The header was ignored, so every run silently fell back to the default
search provider regardless of which provider page was open.

Added provider: providerId to the request body so the backend resolves
the correct provider. The x-connection-id header is retained for
call-log attribution.

- Added provider field to buildBody() in WebSearchExampleCard
- Added 3 regression tests

Fixes diegosouzapw#13245
Copilot AI lite review requested due to automatic review settings September 12, 2026 06:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@diegosouzapw
diegosouzapw merged commit 3a186c1 into diegosouzapw:release/v3.8.51 Sep 15, 2026
8 of 16 checks passed
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…iegosouzapw#13411)

The media-providers web-search example card now sends `provider` in the request body. `POST /v1/search` selects the provider from `body.provider`, so the card was silently hitting the default provider (diegosouzapw#13245).

Validated in one consolidated batch of this series (37 PRs boarded together on `release/v3.8.51`): `typecheck:core`, `check:open-sse-typecheck` and `check:dashboard-typecheck` clean; ESLint clean on every changed file; file-size, complexity, cognitive-complexity, changelog-integrity, docs-counts, docs-sync and migration-numbering gates green (only the pre-existing `open-sse/utils/stream.ts` file-size red remains, inherited from the base); 3,743 focused `node:test` cases plus 34 vitest cases green.

Thanks @KooshaPari!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(api): provider mini-playground sends x-connection-id but /api/v1/search ignores it — always tests the default provider

3 participants