Skip to content

[Feature Request]: Persistent Admin UI Filter State #177

@onmete

Description

@onmete

🧭 Epic

Title: Persistent Admin UI Filter State
Goal: Improve admin interface usability by preserving user's filter preferences across tool operations
Why now: Users frequently need to activate multiple inactive tools but the current UI resets filters after each operation, creating friction and repetitive clicking. This is especially problematic when bulk-managing tools.


🧭 Type of Feature

Please select the most appropriate category:

  • Enhancement to existing functionality

🙋‍♂️ User Story 1

As a: Gateway administrator
I want: The "Show Inactive" filter state to persist when I activate/deactivate tools
So that: I don't have to repeatedly toggle the filter when managing multiple inactive tools

✅ Acceptance Criteria

Scenario: Filter state persists during tool activation
  Given I am on the tools admin page
  And I have set the filter to "Show Inactive"
  And there are inactive tools visible
  When I activate a tool
  Then the filter should remain set to "Show Inactive"
  And I should still see other inactive tools in the list

Scenario: Filter state persists during tool deactivation
  Given I am on the tools admin page
  And I have set the filter to "Show Active"
  And there are active tools visible
  When I deactivate a tool
  Then the filter should remain set to "Show Active"
  And I should still see other active tools in the list

Scenario: Filter state persists across page refreshes
  Given I have set a specific filter preference
  When I refresh the page
  Then my filter preference should be restored

🙋‍♂️ User Story 2

As a: Gateway administrator doing bulk tool management
I want: All my filter and sorting preferences to be remembered
So that: I can efficiently manage large numbers of tools without losing my context

✅ Acceptance Criteria

Scenario: Bulk activation workflow
  Given I have 20 inactive tools to activate
  And I set the filter to "Show Inactive"
  When I activate each tool one by one
  Then the filter should remain "Show Inactive" throughout the process
  And the list should update to show remaining inactive tools
  And I should not need to manually reset the filter between activations

📐 Design Sketch (optional)

sequenceDiagram
    participant User
    participant AdminUI
    participant LocalStorage
    participant ToolService

    User->>AdminUI: Set filter to "Show Inactive"
    AdminUI->>LocalStorage: Save filter preference
    User->>AdminUI: Activate tool
    AdminUI->>ToolService: POST /tools/{id}/activate
    ToolService-->>AdminUI: Success response
    AdminUI->>LocalStorage: Retrieve saved filter preference
    AdminUI->>AdminUI: Apply saved filter (Show Inactive)
    AdminUI->>User: Display updated list with filter preserved
Loading

🔗 MCP Standards Check

  • Change adheres to current MCP specifications
  • No breaking changes to existing MCP-compliant integrations
  • If deviations exist, please describe them below:

🔄 Alternatives Considered

Session-based storage: Store preferences server-side in user session
Pros: Persists across devices for same session
Cons: More complex, requires user session management

URL-based state: Store filter state in URL parameters
Pros: Shareable, bookmarkable
Cons: Clutters URL, might not be desired for admin interface

No persistence: Keep current behavior
Pros: Simple, stateless
Cons: Poor UX for bulk operations (current problem)

Recommended: Browser localStorage for simplicity and immediate user benefit.


📓 Additional Context

This issue becomes particularly painful when:

  • Setting up a new gateway with many inactive tools
  • Troubleshooting by activating/deactivating specific tool sets

Metadata

Metadata

Labels

enhancementNew feature or requestfrontendFrontend development (HTML, CSS, JavaScript)triageIssues / Features awaiting triage

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions