feat: rework the MCP server clients and sessions tab - #5077
Open
bflad wants to merge 1 commit into
Open
Conversation
🦋 Changeset detectedLatest commit: ed5cf06 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
There was a problem hiding this comment.
All reported issues were addressed across 23 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
Member
Author
DemoSessions
Clients
|
bflad
force-pushed
the
bflad/chore-mcp-server-clients-sessions-ui
branch
from
August 8, 2026 14:02
b512901 to
ee2f448
Compare
bflad
force-pushed
the
bflad/chore-mcp-server-clients-sessions-ui
branch
from
August 8, 2026 15:50
ee2f448 to
6c3558b
Compare
Both listings move from ad-hoc markup onto the shared design system Table: searchable, filterable, sortable, and paginated ten rows at a time, under a pair of metric cards summarizing the server's active sessions and registered clients. The clients table gains an active session count per client, backed by a new required active_session_count field on the UserSessionClient API type and a batched tally query that defines "active" exactly as the sessions listing's active filter does. The count is clickable and drills into that client's sessions, the same as the kebab menu's View sessions action. Drilling in narrows both listings to that client behind a Filtered to X bar with a Clear filter button, so the two tables stay in view without scrolling. The sessions table shows the subject's avatar and the session creation date, which adds subject_photo_url and user_session_client_id to the UserSession API type. Both come from columns the listing query already selects or joins. The CIMD and DCR source badges each carry their own color now, so the two registration modes separate at a glance in a long list. Counts, search, filters, sort, and pagination all operate over the whole result set rather than one page of it, so the tab pulls every cursor page up front, capped at ten pages, and says so when a set is cut short. Section copy is shortened accordingly and the per-row issuer slug is dropped, since a server is provisioned with one session issuer today. Date dimensions are relative presets rather than the shared daterange filter kind, which reads and writes one set of URL params and so cannot express the three date windows this page needs. Also fixes sortable headers in the shared Table component losing their uppercase eyebrow styling, because the browser's form control styling drops text-transform on the button inside the header cell. This affects every sortable table in the dashboard.
bflad
force-pushed
the
bflad/chore-mcp-server-clients-sessions-ui
branch
from
August 8, 2026 16:55
6c3558b to
ed5cf06
Compare
simplesagar
approved these changes
Aug 9, 2026
adaam2
approved these changes
Aug 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Both listings move from ad-hoc markup onto the shared design system
Table: searchable, filterable, sortable, and paginated ten rows at a time, under a pair of metric cards summarizing the server's active sessions and registered clients.The clients table gains an active session count per client, backed by a new required
active_session_countfield on theUserSessionClientAPI type and a batched tally query that defines "active" exactly as the sessions listing's active filter does. The count is clickable and drills into that client's sessions, the same as the kebab menu's View sessions action. Drilling in narrows both listings to that client behind a Filtered to X bar with a Clear filter button, so the two tables stay in view without scrolling.The sessions table shows the subject's avatar and the session creation date, which adds
subject_photo_urlanduser_session_client_idto theUserSessionAPI type. Both come from columns the listing query already selects or joins.The CIMD and DCR source badges each carry their own color now, so the two registration modes separate at a glance in a long list.
Counts, search, filters, sort, and pagination all operate over the whole result set rather than one page of it, so the tab pulls every cursor page up front, capped at ten pages, and says so when a set is cut short. Section copy is shortened accordingly and the per-row issuer slug is dropped, since a server is provisioned with one session issuer today.
Date dimensions are relative presets rather than the shared
daterangefilter kind, which reads and writes one set of URL params and so cannot express the three date windows this page needs.Also fixes sortable headers in the shared
Tablecomponent losing their uppercase eyebrow styling, because the browser's form control styling dropstext-transformon thebuttoninside the header cell. This affects every sortable table in the dashboard.