Rebuild Settings and top-anchor every modal
iamnbutler opened ·
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).
iamnbutlerreferenced this in [Meta] Dogfood Ace end to end #5last month on GitHub
iamnbutlerreferenced this in feat(app): rebuild Settings and top-anchor every dialog #171last month on GitHub
iamnbutlerreferenced this in Keep keyboard focus inside open modal dialogs #172last month on GitHub
iamnbutlerparent-issue-addedlast month on GitHub
iamnbutlerreferenced this in fix(ui): set modal top offset to 64px #196last month on GitHub
- IA
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.