Skip to content

Refactor workspace settings: from modal dialog to route-based pages #2723

@yangzheli

Description

@yangzheli

Background

The current Workspace Settings is a single <Dialog> modal containing 7 tabs (Account / Appearance / Notification / Memory / Tools / Skills / About). As features have grown, three issues have surfaced.

1. Architecture: the modal no longer scales

Each tab's content has become substantial:

  • Memory — search, filters, import/export, manual fact CRUD
  • Skills — full management UI (public / custom tabs, enable toggle, creation flow)
  • Tools — MCP server configuration

The modal now relies on nested scrolling (modal scroll + inner panel scroll) and offers no support for:

  • Deep links (e.g. sharing a link to /settings/skills)
  • Browser back / forward
  • Refresh-preserving the active tab

2. Information architecture

  • Default tab is Appearance, and Account sits at the top of the list — both inconsistent with mainstream SaaS patterns (Claude / Linear / Notion put "general preferences" first and "account" at the bottom).
  • Appearance and Notification are both "personal preferences" and naturally belong under a unified General section.

3. Memory toolbar overlap under EN locale

In the Memory tab, xl:flex-row forces the search box, filter group (All / Facts / Summaries), and four action buttons (Import / Export / Add / Clear) into a single row at 1280px. Fine for ZH labels but EN labels overflow, producing a visibly broken toolbar.

References

Workspace settings using routing

Workspace settings using modal dialog

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions