Tab Bar: Ask leaves only four full Tabs in the five-Tab desktop window #1172

Open
opened 2026-10-06 02:46:06 +00:00 by kayg · 1 comment
Owner

Found during merge27j verification for #1109 at 5e683712155e6f93941f6e8331a5f62d46112d5e.

Run the standard production shell test with the server and web build from the same revision:

cd apps/web
bun run test:e2e

At 1440 px, switch Files → Calendar → Photos → Ask. assertTrayViewport fails at apps/web/e2e/shell.mjs:773: four complete Tabs are visible, but the configured desktop window requires five. Ask remains fully visible, and the remaining Tabs scroll. This is a geometry defect; the test assertion was kept.

The recorded settled geometry is:

{"visible":4,"expectedVisible":5,"scrolls":true,"selectedVisible":true,"viewport":1440,"trackWidth":274,"selectedWidth":81.75,"windowWidth":"width: 274px;","activeLabel":"Ask","activeLabelWidth":22.75,"activeAnimations":[],"tabs":[{"label":"Calendar","left":483,"right":528},{"label":"Tasks","left":528,"right":573},{"label":"Notes","left":573,"right":618},{"label":"Files","left":618,"right":663},{"label":"Photos","left":663,"right":708},{"label":"Mail","left":708,"right":753},{"label":"Ask","left":753,"right":835}]}

packages/ui/src/components/TabBar.svelte and SegmentedControl.svelte have no diff from origin/dev (41bf97fb2). This does not establish the root cause; it identifies the source boundary for investigation. Do not weaken the five-Tab assertion or add runtime text metrics. Keep shared keyboard/pointer motion and reduced-motion behavior (DESIGN §§34–35, #611).

The same run passed first-owner setup, passkey registration, recovery-code handoff, and real Daily note/Note creation. CSP reports: zero across two pages.

Found during merge27j verification for #1109 at `5e683712155e6f93941f6e8331a5f62d46112d5e`. Run the standard production shell test with the server and web build from the same revision: ```sh cd apps/web bun run test:e2e ``` At 1440 px, switch Files → Calendar → Photos → Ask. `assertTrayViewport` fails at `apps/web/e2e/shell.mjs:773`: four complete Tabs are visible, but the configured desktop window requires five. Ask remains fully visible, and the remaining Tabs scroll. This is a geometry defect; the test assertion was kept. The recorded settled geometry is: ```json {"visible":4,"expectedVisible":5,"scrolls":true,"selectedVisible":true,"viewport":1440,"trackWidth":274,"selectedWidth":81.75,"windowWidth":"width: 274px;","activeLabel":"Ask","activeLabelWidth":22.75,"activeAnimations":[],"tabs":[{"label":"Calendar","left":483,"right":528},{"label":"Tasks","left":528,"right":573},{"label":"Notes","left":573,"right":618},{"label":"Files","left":618,"right":663},{"label":"Photos","left":663,"right":708},{"label":"Mail","left":708,"right":753},{"label":"Ask","left":753,"right":835}]} ``` `packages/ui/src/components/TabBar.svelte` and `SegmentedControl.svelte` have no diff from `origin/dev` (`41bf97fb2`). This does not establish the root cause; it identifies the source boundary for investigation. Do not weaken the five-Tab assertion or add runtime text metrics. Keep shared keyboard/pointer motion and reduced-motion behavior (DESIGN §§34–35, #611). The same run passed first-owner setup, passkey registration, recovery-code handoff, and real Daily note/Note creation. CSP reports: zero across two pages.
Author
Owner

Merge29j reproduced #1172 on combined source e03e16d6e, based on f5fbced3c. bun run --cwd apps/web test:e2e used the real merged server, current production SPA, macOS emulation and a fresh Instance. Setup/passkey/recovery, real Daily note Log creation and real Note creation passed. CSP reports were zero across two pages. The run then stopped at the existing Ask geometry check. Tab Bar, SegmentedControl and shell.mjs have no diff from this round’s base. No expectation or timing threshold was changed.

Exact failure:

Error: tray viewport did not settle: {"viewport":1440,"visible":["Files","Photos","Mail","Ask"],"selected":"Ask","scrollLeft":106,"trackWidth":274,"clientWidth":274,"scrollWidth":380,"inputModality":"pointer","selectedAnimations":[],"tabs":[{"label":"Calendar","left":483,"right":528},{"label":"Tasks","left":528,"right":573},{"label":"Notes","left":573,"right":618},{"label":"Files","left":618,"right":663},{"label":"Photos","left":663,"right":708},{"label":"Mail","left":708,"right":753},{"label":"Ask","left":753,"right":835}]}

This is the same non-SLOW cosmetic finding already filed in #1172; no duplicate issue was created. All 12 fresh Licence/at-limit Users screenshots passed and are attached to #1145. The requested Rust gates continue separately.

Merge29j reproduced #1172 on combined source `e03e16d6e`, based on `f5fbced3c`. `bun run --cwd apps/web test:e2e` used the real merged server, current production SPA, macOS emulation and a fresh Instance. Setup/passkey/recovery, real Daily note Log creation and real Note creation passed. CSP reports were zero across two pages. The run then stopped at the existing Ask geometry check. Tab Bar, SegmentedControl and shell.mjs have no diff from this round’s base. No expectation or timing threshold was changed. Exact failure: ```text Error: tray viewport did not settle: {"viewport":1440,"visible":["Files","Photos","Mail","Ask"],"selected":"Ask","scrollLeft":106,"trackWidth":274,"clientWidth":274,"scrollWidth":380,"inputModality":"pointer","selectedAnimations":[],"tabs":[{"label":"Calendar","left":483,"right":528},{"label":"Tasks","left":528,"right":573},{"label":"Notes","left":573,"right":618},{"label":"Files","left":618,"right":663},{"label":"Photos","left":663,"right":708},{"label":"Mail","left":708,"right":753},{"label":"Ask","left":753,"right":835}]} ``` This is the same non-SLOW cosmetic finding already filed in #1172; no duplicate issue was created. All 12 fresh Licence/at-limit Users screenshots passed and are attached to #1145. The requested Rust gates continue separately.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#1172
No description provided.