App shell: update toast overlaps phone Share controls #1341

Open
opened 2026-10-07 07:51:05 +00:00 by kayg · 1 comment
Owner

Steps

  1. Open Files at 390 px in the Paper theme.
  2. Keep the real “Update available” toast visible.
  3. Open Share for a folder with public-link controls.

Expected

The toast stays outside every open overlay's controls. The User can reach and activate New link and Collect files.

Actual

The bottom toast overlaps the Public links controls in the phone Share sheet. At 1440 px the same toast sits below the centered Share dialog and does not overlap it.

Evidence

artifacts/bash-chrome/share-pill-contrast-1332/share-390-paper.png

Severity: major. A visible shell toast covers actions in an open overlay.

## Steps 1. Open Files at 390 px in the Paper theme. 2. Keep the real “Update available” toast visible. 3. Open Share for a folder with public-link controls. ## Expected The toast stays outside every open overlay's controls. The User can reach and activate New link and Collect files. ## Actual The bottom toast overlaps the Public links controls in the phone Share sheet. At 1440 px the same toast sits below the centered Share dialog and does not overlap it. ## Evidence `artifacts/bash-chrome/share-pill-contrast-1332/share-390-paper.png` Severity: major. A visible shell toast covers actions in an open overlay.
Author
Owner

Fixed #1341 on job/bash-chrome.

  • 7472a2747 makes the toast dock prefer an explicit overlay safe edge, then use the top edge of the newest visible active modal/menu/listbox when no dock is declared. The toast stays 12 px above that edge.
  • Added a shared-component regression and a production Share-sheet check that waits for the sheet transition to finish before measuring.
  • 5a8528e59 refreshed only the two exact observer fingerprints for this source change. The ratchet did not change.

Verification:

  • bunx vitest run src/lib/components/AppToaster.svelte.test.ts --maxWorkers=2: 1 file, 3 tests passed.
  • The local production-server E2E passed 390 px and 820 px in Paper and Tokyo Night, plus 1440 px Paper. The 1440 px Tokyo Night case timed out during navigation; a fresh retry failed during test-user registration before reaching the cases. The 1440 px dark screenshot is therefore missing.
  • bun run check: perf-lint: PASS; 0 violations; 22548 scoped exceptions; svelte-check found 0 errors and 0 warnings.
  • bun run test: 290 test files and 2053 tests passed.

Evidence screenshots are in artifacts/bash-chrome/share-pill-contrast-1332/ (390 and 820 px, both themes; 1440 px Paper). The fj issue comment command has no attachment option, so the files remain in the worktree rather than uploaded to this issue.

Decision: an active modal without an explicit dock uses its top edge as the toast safe edge, preserving the existing 12 px gap and explicit Search dock behavior.

Fixed #1341 on `job/bash-chrome`. - `7472a2747` makes the toast dock prefer an explicit overlay safe edge, then use the top edge of the newest visible active modal/menu/listbox when no dock is declared. The toast stays 12 px above that edge. - Added a shared-component regression and a production Share-sheet check that waits for the sheet transition to finish before measuring. - `5a8528e59` refreshed only the two exact observer fingerprints for this source change. The ratchet did not change. Verification: - `bunx vitest run src/lib/components/AppToaster.svelte.test.ts --maxWorkers=2`: 1 file, 3 tests passed. - The local production-server E2E passed 390 px and 820 px in Paper and Tokyo Night, plus 1440 px Paper. The 1440 px Tokyo Night case timed out during navigation; a fresh retry failed during test-user registration before reaching the cases. The 1440 px dark screenshot is therefore missing. - `bun run check`: `perf-lint: PASS; 0 violations; 22548 scoped exceptions`; `svelte-check found 0 errors and 0 warnings`. - `bun run test`: 290 test files and 2053 tests passed. Evidence screenshots are in `artifacts/bash-chrome/share-pill-contrast-1332/` (390 and 820 px, both themes; 1440 px Paper). The `fj issue comment` command has no attachment option, so the files remain in the worktree rather than uploaded to this issue. Decision: an active modal without an explicit dock uses its top edge as the toast safe edge, preserving the existing 12 px gap and explicit Search dock behavior.
Commenting is not possible because the repository is archived.
No labels
No milestone
No project
No assignees
1 participant
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-v0#1341
No description provided.