-
Notifications
You must be signed in to change notification settings - Fork 8
feat: list groups in registry #1038
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds support for displaying groups in the registry page, implementing the foundational UI components for the groups feature. The functionality is controlled by a new feature flag GROUPS_IN_REGISTRY and includes comprehensive test coverage for the new functionality.
Key changes:
- Adds groups display functionality to the registry page with feature flag control
- Refactors registry card components to support both servers and groups through a unified interface
- Implements comprehensive test coverage for groups display and empty state handling
Reviewed Changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| utils/feature-flags.ts | Adds new GROUPS_IN_REGISTRY feature flag key |
| renderer/src/routes/(registry)/registry.tsx | Updates registry component to fetch and display groups when feature flag is enabled |
| renderer/src/features/registry-servers/types.ts | Defines discriminated union type for registry items (servers and groups) |
| renderer/src/features/registry-servers/components/grid-cards-registry.tsx | Refactors grid component to handle both servers and groups with unified filtering |
| renderer/src/features/registry-servers/components/card-registry.tsx | Creates polymorphic card component that renders appropriate card type based on item type |
| renderer/src/features/registry-servers/components/card-registry-server.tsx | Refactors server card to use shared base component |
| renderer/src/features/registry-servers/components/card-registry-group.tsx | Implements new group card component with server count display |
| renderer/src/features/registry-servers/components/card-registry-base.tsx | Extracts shared card layout and behavior into reusable base component |
| renderer/src/common/types/utils.ts | Adds utility type for creating discriminated unions |
| renderer/src/routes/tests/registry.test.tsx | Adds comprehensive test coverage for groups functionality |
| renderer/src/common/mocks/customHandlers/fixtures/default_registry.ts | Updates mock data to include groups for testing |
| main/src/feature-flags.ts | Registers new feature flag in main process |
| examples/registries/registry-with-groups.json | Provides example registry configuration with groups |
Notes about testing et cetera:
FeatureFlag.groups_in_registry.enable()What's included:
How it looks when the feature flag is enabled AND using a custom registry with groups included:
recording-2025-10-14_16-50-56.mp4
when the feature flag is disabled, the groups are simply hidden. (Screenshot showing the same custom registry)