Description
Workspace and Account Settings is the central preferences surface for identity and account-level operations. It combines profile details and avatar, workspace membership and local workspace paths, usage and plan information, application lifecycle behavior, connected accounts, and deployment-specific controls in a navigable settings overlay. Tabs are registered into stable groups so platform and module-owned settings coexist without one oversized component.
The overlay preserves the app shell around settings while giving each tab its own loading, ready, empty, and failure handling. Route-aware tab state supports direct links and browser navigation, while a top-bar portal can expose context such as an in-tab flow breadcrumb. Permission and deployment gates hide unavailable sections instead of advertising controls the current user cannot use.
Selling Points
- Gives users one predictable place for personal and workspace configuration instead of scattering controls across feature pages.
- Separates profile identity from shared workspace administration, making the scope of each change clear.
- Exposes usage and plan context near account settings, helping buyers understand capacity before a workflow is interrupted.
- Supports direct navigation to a settings tab, making help instructions and internal links precise.
- Hides unavailable deployment or permission-specific settings, avoiding dead ends and misleading disabled controls.
User Story
A user updates their display name and avatar, checks which workspace is active, reviews current usage, and adjusts whether the desktop app launches automatically. An owner on the same surface can inspect plan context and workspace details without those controls leaking into an account that lacks the required capability.
Extension Surface
The feature is configurable. apps/web/src/modules/shell/settings/registration.ts composes registered settings tabs, and apps/web/src/modules/shell/settings/SettingsOverlay.tsx renders the resulting navigation and content. Modules can contribute tabs through an in-repo declaration, but end users customize only the exposed values; there is no public external settings-tab plugin contract.
Capabilities & Limits
- Manages profile identity, avatar, workspace records, lifecycle preferences, and connected-account settings.
- Presents usage and plan information with complete asynchronous states.
- Supports route-addressable tabs and permission-aware visibility.
- Limit: settings only exposes operations supported by the current deployment and actor; it is not a generic editor for server configuration or raw workspace data.
Implementation Map
apps/web/src/modules/shell/settings/SettingsOverlay.tsxapps/web/src/modules/shell/settings/registration.tsapps/web/src/modules/shell/settings/tabs/AccountProfileTab.tsxapps/web/src/modules/shell/settings/tabs/WorkspacesTab.tsxapps/web/src/modules/shell/settings/tabs/UsageTab.tsx