Skip to content

perf(server): reuse provider catalog responses within instance lifecycle - #47758

Closed
pirate wants to merge 1 commit into
anomalyco:devfrom
pirate:provider-catalog-cache-current
Closed

perf(server): reuse provider catalog responses within instance lifecycle#47758
pirate wants to merge 1 commit into
anomalyco:devfrom
pirate:provider-catalog-cache-current

Conversation

@pirate

@pirate pirate commented Sep 7, 2026

Copy link
Copy Markdown

What does this PR do?

Avoid rebuilding and re-encoding the full provider catalog on every GET /provider. Reuse the encoded response inside the existing instance lifecycle, keyed by the ModelsDev catalog identity and connected credential IDs. Configuration disposal, catalog refresh, and provider connections invalidate it naturally. No timers or new cache service.

How did you verify your code works?

  • Real HTTP regression test: repeated responses match, editing configuration plus disposing the instance removes the disabled provider.
  • Provider/listener tests: 17 passed (one existing skipped test).
  • All 30 workspace typecheck tasks passed.
  • Backported to v1.17.15 and tested on a small Linux server: a 5.7 MB catalog response previously took seconds; settled warm requests measured 35–61 ms. Cold startup remains separate.

AI-assisted implementation and testing.

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

@github-actions github-actions Bot added needs:title needs:compliance This means the issue will auto-close after 2 hours. labels Sep 7, 2026
@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Hey! Your PR title perf(server): reuse provider catalog responses within instance lifecycle doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, opencode).

See CONTRIBUTING.md for details.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

Based on the search results, I found one potentially related PR:

Related PR:

The other results (#46789, #45822) are about provider/catalog management but address different concerns (workspace release and registry changes) rather than response caching.

@github-actions

github-actions Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window.

Feel free to open a new pull request that follows our guidelines.

@github-actions github-actions Bot removed the needs:compliance This means the issue will auto-close after 2 hours. label Sep 7, 2026
@github-actions github-actions Bot closed this Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant