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
Settings visibly jumps when its final height loads because every Ace dialog is vertically centered (translate-y-[-50%]) and Settings grows as async provider, helper, and native-permission state arrives. Settings has also grown into a stack of bordered diagnostic panels and permanently expanded forms.
Scope
Top-anchor every modal from the shared packages/ui dialog primitive at about 20vh on comfortable desktop sizes, with fixed margins on compact or short screens. Generic dialogs, Settings, and the command palette share one remaining-viewport-height calculation; no content-height-dependent translation or scale origin that reads as vertical jumping. Consumers: Settings, Open Project, tab Rename, command palette.
Rebuild Settings as a stable bounded two-column shell: a small navigation rail (General, Providers, Computer use, This Mac/This host, Updates), fixed header, and scrolling content so section switches and async state never move its top.
Rows: label and restrained description on the left, compact controls on the right; subtle separators; diagnostics and long technical explanations behind secondary disclosure, with actual errors and recovery actions visible.
Preserve every working control and state: provider key add/replace/check/remove and secret handling, default model and environment overrides, helper approval/command-line-host/start/restart/stop distinctions, Tailscale/GitHub/tool diagnostics, computer-use permissions and clipboard policy, automatic update checking vs explicit install/restart, ace:updates routing, and disabled/loading/error/disconnected states.
Out of scope
Accounts, billing, team access controls, old sandbox options, new fake settings, or duplicate persistence. Timeline clipping (#168).
Follow-up requested: reduce the shared modal top offset from 20dvh to a fixed 64px. Implemented in #196, preserving top anchoring and height/scroll constraints. Formatting/lint, UI typecheck, and app production build pass.
Activity
iamnbutler commentedon Oct 7, 2026
Follow-up requested: reduce the shared modal top offset from 20dvh to a fixed 64px. Implemented in #196, preserving top anchoring and height/scroll constraints. Formatting/lint, UI typecheck, and app production build pass.