Skip to content

Add store source dropdown to filter plugin registries - #459

Open
GoblinRules wants to merge 16 commits into
router-for-me:devfrom
GoblinRules:feat/plugin-store-filter
Open

GoblinRules wants to merge 16 commits into
router-for-me:devfrom
GoblinRules:feat/plugin-store-filter

Conversation

@GoblinRules

@GoblinRules GoblinRules commented Oct 15, 2026 •

Copy link
Copy Markdown

The plugin store combines all configured registries into one list, making it difficult to browse a particular store. Add a Store source dropdown beside the existing All / Installed / Updates filter.

  • Default to All stores; combine the selected source with search and installation/update filters.
  • Identify sources by source ID (with a URL fallback), disambiguate duplicate names, and keep failed sources selectable with existing errors visible.
  • Preserve the selection during refresh and tab navigation; reset to All stores if the source disappears. Find in store clears the source selection so it cannot hide the requested plugin.
  • Bound the selector width for long registry names and small screens. Include English, Simplified/Traditional Chinese and Japanese labels.

Uses sources returned by the existing store endpoint; no backend or registry format changes. Includes #458 and implements the shared helper change directly: both Find in store and Check for updates clear the source selection before opening the target. No manual follow-up code change is required.

Validation: bun run check and 49 focused Bun tests on the final combined series pass. The plugin browser workflow covers combined filters, offline sources, refresh retention, responsive layouts and both local-card shortcuts escaping a previously selected registry. Full production build passes on the combined series. Browser checks use the IPC mock; the latest native-viewer adaptation has not been tested in a packaged desktop build.

Merge order and review scope

This is part 3 of the tested series: #457 → #458 → #459 → #460. Later branches include their predecessors, with overlapping code already resolved. All four now target upstream dev, as selected upstream. The tested main merge 8e013ba includes dev tip 44ab185. Merge in that order using merge commits to preserve ancestry; if squash/rebase is preferred, the remaining branches need rebasing before merging.

Review this layer against its predecessor: incremental diff. Until predecessors land, GitHub's base-branch Files changed view includes those prerequisite changes. The lab packaging and build configuration remain fork-only and are not included in these PRs.

Screenshots

Captured from the actual PluginsPage browser fixture in dark mode at 1280px width. Plugin names, registry contents, and the offline-source error are test data; no live account data is shown.

All stores — combined registry listings

All stores — combined registry listings

Community selected — only that store’s plugins

Community selected — only that store’s plugins

Official + Updates — source and status filters together

Official + Updates — source and status filters together

@github-actions

Copy link
Copy Markdown
Contributor

This pull request targeted main.

The base branch has been automatically changed to dev.

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.

2 participants