Skip to content

feat: optimize model selection with source filters and sticky groups - #10084

Merged
Soulter merged 3 commits into
masterfrom
codex/group-model-selector
Sep 14, 2026
Merged

feat: optimize model selection with source filters and sticky groups#10084
Soulter merged 3 commits into
masterfrom
codex/group-model-selector

Conversation

@Soulter

@Soulter Soulter commented Sep 14, 2026

Copy link
Copy Markdown
Member

Group models by provider source in the shared selector used by chat and configuration pages. Keep the current source heading visible while scrolling, and add a custom source filter to the left of model search with API Base subtitles. Opening the menu clears prior filters and centers the selected model.

Large lists previously mounted every model row and its tooltips, and reopening hid the list while refreshing. Render only nearby rows with spacers that preserve sticky group headings, and retain loaded models during background refresh, including refresh failures. Single selection, multiple selection, clear selection, and model testing remain available.

Validation:

  • Dashboard production build, including vue-tsc --noEmit; Prettier component check; all four updated locale JSON files parsed successfully.
  • ruff format . and ruff check . passed.
  • Browser fixture using the actual Vue component and Vuetify with mocked API responses: 500 models improved from about 3.8 seconds to 230 ms; 10,000 models opened in about 230 ms with roughly 12 mounted rows. These are local fixture measurements, not production API timings.
  • Verified sticky transitions between sources, API Base subtitles, source filtering combined with search, empty results, selected-model positioning, clear selection, multiple-selection toggling, cached refresh failure, and narrow-screen layout.

Summary by Sourcery

Optimize the shared provider selector for source-aware navigation and efficient handling of large model lists.

New Features:

  • Add provider-source filtering with API base information alongside model search.
  • Group models by provider source with sticky source headings in the shared selector.
  • Center the menu on the currently selected model when opened.

Bug Fixes:

  • Preserve already loaded models during background refreshes, including failed refresh attempts.

Enhancements:

  • Virtualize large provider lists so only nearby model rows are rendered while preserving scrolling and group layout.
  • Retain existing single-selection, multiple-selection, clearing, and model-testing interactions while updating filtering and list behavior.

Documentation:

  • Add localized text for provider-source filtering and source selection.

Tests:

  • Validate source grouping, filtering, selection behavior, refresh caching, responsive layout, and large-list rendering performance.

@sourcery-ai sourcery-ai Bot 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.

Sorry @Soulter, you've used your own review budget of 250,000 diff characters for the last 7 days.

You can request another review in 1 hour and 10 minutes by commenting @sourcery-ai review. Upgrade to get a review now.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 14, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
astrbot-docs 59aca4f Commit Preview URL

Branch Preview URL
Sep 14 2026, 01:43 PM

@Soulter Soulter changed the title feat: group model selection by provider source feat: optimize model selection with source filters and sticky groups Sep 14, 2026

@sourcery-ai sourcery-ai Bot 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.

Sourcery assessment

Approved.

@Soulter
Soulter merged commit 56cbc4a into master Sep 14, 2026
23 of 24 checks passed
@Soulter
Soulter deleted the codex/group-model-selector branch September 14, 2026 13:47
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.

1 participant