You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current Web UI follows browser language detection and one fixed visual presentation. It has no user-facing theme or language controls, no reviewed persistence contract for those choices, and only initial responsive/reduced-motion coverage. Keyboard navigation, focus management, screen-reader semantics, contrast, zoom, and narrow mobile layouts have not received a complete real-browser audit.
These are recoverable polish gaps, but together they prevent the workbench from being a dependable daily interface for a broader range of users.
Value
Let users choose a readable appearance and language consistently.
Make all core workbench operations usable without a pointer.
Catch mobile and accessibility regressions with repeatable evidence.
Approach constraints
Package-owned theme/UI preferences follow the OpenPI setup configuration contract: canonical config, setup status, SETUP.md, README defaults, and tests stay synchronized.
Define which transient browser state, if any, may remain browser-local; do not create an accidental second package configuration store.
Preserve system preference fallback and reduced-motion behavior.
Theme and language changes must not reload, duplicate, or mutate the active Session.
Avoid color-only status communication and preserve semantic labels.
Validate real browser behavior in addition to static source assertions.
Acceptance criteria
Users can choose documented supported themes plus system/default behavior.
Users can explicitly choose supported languages plus automatic detection.
Preferences survive reload according to the documented canonical storage contract.
No credential, Session transcript, or workspace path is persisted with UI preferences.
Sidebar, dialogs, model picker, search, composer, transcript, tool details, and activity panels are fully keyboard operable.
Focus is trapped/restored correctly for dialogs and remains visible.
Accessible names, roles, live updates, status text, contrast, zoom, and reduced motion are audited.
Core flows remain usable at documented narrow viewport widths and with touch input.
Automated accessibility checks and real-browser desktop/mobile interaction tests are added.
Setup/config documentation and drift guards are updated for package-owned preferences.
bun run check and bun run test pass.
Out of scope
Native mobile applications.
Pixel parity with another product.
Remote synchronization of personal UI preferences.
Parent
Problem
The current Web UI follows browser language detection and one fixed visual presentation. It has no user-facing theme or language controls, no reviewed persistence contract for those choices, and only initial responsive/reduced-motion coverage. Keyboard navigation, focus management, screen-reader semantics, contrast, zoom, and narrow mobile layouts have not received a complete real-browser audit.
These are recoverable polish gaps, but together they prevent the workbench from being a dependable daily interface for a broader range of users.
Value
Approach constraints
Acceptance criteria
Out of scope