Skip to content

feat: replace MCP sessions inline filter bar with collapsible sidebar - #5916

Merged
Pratham-Mishra04 merged 1 commit into
devfrom
08-06-feat_replace_mcp_auth_sessions_top_filter_bar_with_a_side_filter_panel
Aug 8, 2026
Merged

Pratham-Mishra04 merged 1 commit into
devfrom
08-06-feat_replace_mcp_auth_sessions_top_filter_bar_with_a_side_filter_panel

Conversation

@Pratham-Mishra04

Copy link
Copy Markdown
Collaborator

Summary

Replaces the inline filter bar (search + multi-select dropdowns) on the MCP Sessions page with a collapsible sidebar panel, matching the filter UX pattern already used on the MCP Clients and MCP Library pages.

Changes

  • Added MCPSessionsFilterSidebar component (mcpSessionsFilterSidebar.tsx) with collapsible checkbox sections for Type, Status, and Identity filters. The sidebar collapses to a narrow rail with an active-filter-count badge, and its collapsed state is persisted to localStorage.
  • Removed sessionsFilterBar.tsx and its inline multi-select dropdowns. The search input is now rendered directly inside SessionsTable, keeping it above the table without the sidebar owning it.
  • Removed filter-specific props (kindFilter, onKindFilterChange, statusFilter, onStatusFilterChange, authModeFilter, onAuthModeFilterChange, onClearFilters) from SessionsTable, since filter state is now managed by the sidebar.
  • Introduced a MCPSessionFilters type and EMPTY_FILTERS constant to represent the three filterable dimensions as a single object, passed between the page and sidebar via filters/onFiltersChange props.
  • When there are no sessions and no active filters or search, the page renders full-width without the sidebar, mirroring the MCP clients onboarding/empty state.
  • Filter label and icon choices (e.g. "OAuth"/"Headers" for kind, UserRound/KeyRound/Fingerprint for identity mode) intentionally match the vocabulary used in the table's rendered cells.

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Documentation
  • Chore/CI

Affected areas

  • Core (Go)
  • Transports (HTTP)
  • Providers/Integrations
  • Plugins
  • UI (React)
  • Docs

How to test

  1. Navigate to the MCP Sessions page.
  2. Verify the filter sidebar appears on the left with collapsible sections for Type, Status, and Identity.
  3. Select one or more checkboxes and confirm the table filters accordingly and the URL query params update.
  4. Collapse the sidebar and confirm it shrinks to a narrow rail showing the active filter count badge.
  5. Confirm the collapsed state persists across page reloads.
  6. Click Reset and confirm all filters clear.
  7. With no sessions and no active filters, confirm the page renders full-width without the sidebar.
cd ui
pnpm i || npm i
pnpm build || npm run build

Screenshots/Recordings

Before: Inline filter bar with search input and three multi-select dropdowns above the table.

After: Collapsible sidebar with checkbox sections for Type, Status, and Identity; search input remains above the table inline.

Breaking changes

  • No

Related issues

Security considerations

None. Filter values are URL-state-bound strings with no auth, secrets, or PII implications.

Checklist

  • I read docs/contributing/README.md and followed the guidelines
  • I added/updated tests where appropriate
  • I updated documentation where needed
  • I verified builds succeed (Go and UI)
  • I verified the CI pipeline passes locally if applicable

This was referenced Aug 6, 2026
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@coderabbitai coderabbitai 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.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ui/app/workspace/mcp-sessions/page.tsx`:
- Around line 112-118: The MCP sessions layout currently keeps
MCPSessionsFilterSidebar beside the table at all viewport sizes, leaving
insufficient mobile width. Update the responsive layout around
MCPSessionsFilterSidebar and the table pane to stack them or render filters
through a drawer/sheet on narrow screens, while preserving the desktop
side-by-side layout and ensuring the table retains its minimum usable width
across loading, empty, error, and mobile states.

In `@ui/app/workspace/mcp-sessions/views/mcpSessionsFilterSidebar.tsx`:
- Around line 41-44: Update KIND_OPTIONS so OAuth is represented as a
UI-specific filter value, then expand that selection to both token and flow
before invoking useGetMCPSessionsQuery in the MCP sessions page. Keep Headers
mapped to header and preserve the existing query behavior for other filters.
- Around line 100-106: Rename the data-testid values in the MCP sessions filter
sidebar, including the symbols around the show toggle and the related reset and
hide controls, to kebab-case using the three-part entity-element-qualifier
convention. Update all corresponding E2E selectors to match the new identifiers.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 315eb904-8a92-4d8c-917e-2a2dafd10abc

📥 Commits

Reviewing files that changed from the base of the PR and between 7703653 and fd38b7f.

📒 Files selected for processing (4)
  • ui/app/workspace/mcp-sessions/page.tsx
  • ui/app/workspace/mcp-sessions/views/mcpSessionsFilterSidebar.tsx
  • ui/app/workspace/mcp-sessions/views/sessionsFilterBar.tsx
  • ui/app/workspace/mcp-sessions/views/sessionsTable.tsx
💤 Files with no reviewable changes (1)
  • ui/app/workspace/mcp-sessions/views/sessionsFilterBar.tsx

Comment thread ui/app/workspace/mcp-sessions/page.tsx
Comment thread ui/app/workspace/mcp-sessions/views/mcpSessionsFilterSidebar.tsx
Comment thread ui/app/workspace/mcp-sessions/views/mcpSessionsFilterSidebar.tsx Outdated
@Pratham-Mishra04
Pratham-Mishra04 force-pushed the 08-06-feat_add_per-client_needs_session_stickiness_to_let_shared_mcp_clients_opt_into_per-call_connections branch from 7703653 to fd6de71 Compare August 6, 2026 21:53
@Pratham-Mishra04
Pratham-Mishra04 force-pushed the 08-06-feat_replace_mcp_auth_sessions_top_filter_bar_with_a_side_filter_panel branch from fd38b7f to 792c734 Compare August 6, 2026 21:53
@coderabbitai

coderabbitai Bot commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Note

GitHub couldn't provide a complete incremental comparison for this pull request, so CodeRabbit is performing a full review instead. This review may take a little longer.

@coderabbitai coderabbitai 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@ui/app/workspace/mcp-sessions/page.tsx`:
- Around line 40-47: Update setFilters and the sidebar reset behavior to include
mcp_client_id and identity, and add corresponding controls so every filter
consumed by useGetMCPSessionsQuery can be cleared from the page. Preserve
offset: 0 when filters change, and ensure clearing removes both query fields
rather than leaving URL-provided values active.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: a168facf-dbaf-455a-ae78-16f3314eac50

📥 Commits

Reviewing files that changed from the base of the PR and between fd6de71 and 792c734.

📒 Files selected for processing (4)
  • ui/app/workspace/mcp-sessions/page.tsx
  • ui/app/workspace/mcp-sessions/views/mcpSessionsFilterSidebar.tsx
  • ui/app/workspace/mcp-sessions/views/sessionsFilterBar.tsx
  • ui/app/workspace/mcp-sessions/views/sessionsTable.tsx
💤 Files with no reviewable changes (1)
  • ui/app/workspace/mcp-sessions/views/sessionsFilterBar.tsx
🚧 Files skipped from review as they are similar to previous changes (2)
  • ui/app/workspace/mcp-sessions/views/mcpSessionsFilterSidebar.tsx
  • ui/app/workspace/mcp-sessions/views/sessionsTable.tsx

Comment thread ui/app/workspace/mcp-sessions/page.tsx
coderabbitai[bot]
coderabbitai Bot previously approved these changes Aug 6, 2026
@Pratham-Mishra04
Pratham-Mishra04 force-pushed the 08-06-feat_add_per-client_needs_session_stickiness_to_let_shared_mcp_clients_opt_into_per-call_connections branch from fd6de71 to e91665c Compare August 8, 2026 10:29
@Pratham-Mishra04
Pratham-Mishra04 force-pushed the 08-06-feat_replace_mcp_auth_sessions_top_filter_bar_with_a_side_filter_panel branch from 792c734 to 7bc34ab Compare August 8, 2026 10:29

Pratham-Mishra04 commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator Author

Merge activity

  • Aug 8, 10:33 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Aug 8, 11:16 AM UTC: Graphite rebased this pull request as part of a merge.
  • Aug 8, 11:17 AM UTC: @Pratham-Mishra04 merged this pull request with Graphite.

@Pratham-Mishra04
Pratham-Mishra04 changed the base branch from 08-06-feat_add_per-client_needs_session_stickiness_to_let_shared_mcp_clients_opt_into_per-call_connections to graphite-base/5916 August 8, 2026 11:12
@Pratham-Mishra04
Pratham-Mishra04 changed the base branch from graphite-base/5916 to dev August 8, 2026 11:14
@Pratham-Mishra04
Pratham-Mishra04 dismissed coderabbitai[bot]’s stale review August 8, 2026 11:14

The base branch was changed.

@Pratham-Mishra04
Pratham-Mishra04 requested a review from a team as a code owner August 8, 2026 11:14
@Pratham-Mishra04
Pratham-Mishra04 force-pushed the 08-06-feat_replace_mcp_auth_sessions_top_filter_bar_with_a_side_filter_panel branch from 7bc34ab to 8b926fe Compare August 8, 2026 11:15
@Pratham-Mishra04
Pratham-Mishra04 merged commit 7379092 into dev Aug 8, 2026
14 of 15 checks passed
@Pratham-Mishra04
Pratham-Mishra04 deleted the 08-06-feat_replace_mcp_auth_sessions_top_filter_bar_with_a_side_filter_panel branch August 8, 2026 11:17
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