Upload recovery detail overflows a collapsed toast behind a shorter notification #1388

Open
opened 2026-10-07 18:03:55 +00:00 by kayg · 1 comment
Owner

Found during journaldup6 / #1295, head 9c08db27b, real production web build with macOS platform emulation.

After restoring pending uploads, an Update available notification is the front toast. The older upload toast is constrained to the front toast width by AppToaster. Its recovery detail has no shared two-line label clamp. Screenshot evidence shows that detail text continuing vertically outside the capsule and through the pending-text sheet. The expanded list's row Show text pointer click also timed out with the summary button or page content intercepting events. The first reproduction's main tab was in the background after opening two other tabs; foreground correction is in the test, but a later unrelated Daily Note metadata-byte assertion prevents reaching that row check. Keep those two observations distinct; the foreground row failure is not established.

Exact pending text Copy succeeds after Cancel and reload. The local bytes are retained. This finding is display/input access in the shared toast stack, not evidence of lost bytes. Do not remove the recovery action or loosen the security policy to hide it. Reuse the shared toast label/layout behavior and check both pointer and keyboard actions with a second notification present.

Local artifacts, not committed: artifacts/journaldup6-screenshots/pending-text-390-light-mac.png, recovery-diagnostic.png, artifacts/journaldup6-browser-local-preview.log. Twelve macOS screenshots cover phone/tablet/desktop, light/dark. CLI attachment support is absent and direct asset authentication was unavailable; orchestration can attach these existing files.

Found during journaldup6 / #1295, head `9c08db27b`, real production web build with macOS platform emulation. After restoring pending uploads, an Update available notification is the front toast. The older upload toast is constrained to the front toast width by AppToaster. Its recovery detail has no shared two-line label clamp. Screenshot evidence shows that detail text continuing vertically outside the capsule and through the pending-text sheet. The expanded list's row Show text pointer click also timed out with the summary button or page content intercepting events. The first reproduction's main tab was in the background after opening two other tabs; foreground correction is in the test, but a later unrelated Daily Note metadata-byte assertion prevents reaching that row check. Keep those two observations distinct; the foreground row failure is not established. Exact pending text Copy succeeds after Cancel and reload. The local bytes are retained. This finding is display/input access in the shared toast stack, not evidence of lost bytes. Do not remove the recovery action or loosen the security policy to hide it. Reuse the shared toast label/layout behavior and check both pointer and keyboard actions with a second notification present. Local artifacts, not committed: `artifacts/journaldup6-screenshots/pending-text-390-light-mac.png`, `recovery-diagnostic.png`, `artifacts/journaldup6-browser-local-preview.log`. Twelve macOS screenshots cover phone/tablet/desktop, light/dark. CLI attachment support is absent and direct asset authentication was unavailable; orchestration can attach these existing files.
Author
Owner

journaldup7 UI slice committed as c5df5c5ac. Pending text now uses shared Quick Look, TextView, PillGroup and CopyLink feedback. Upload summaries use shared ToastBody with one title line and one truncated detail line; icon controls use shared Pills. Collapsed non-front cards clip content within Sonner's box (#1388).

Found a focus-transfer defect in AppToaster: every toast button moved focus to the next toast, even when an upload control did not dismiss its toast. Show text could therefore focus Update available while opening the viewer. Transfer now waits for Sonner to mark the card removed. The shared overlay focus option permits quiet initial focus without changing data-input or later Tab rings.

Focused UI checks: 35 tests passed for the initial shared viewer/toast slice, followed by 5 passing focus/toaster tests after the focus-transfer correction. Browser fixture isolation and production screenshots remain in progress. Rust admission regression is compiling in the prescribed target directory. No new dependencies.

journaldup7 UI slice committed as `c5df5c5ac`. Pending text now uses shared Quick Look, TextView, PillGroup and CopyLink feedback. Upload summaries use shared ToastBody with one title line and one truncated detail line; icon controls use shared Pills. Collapsed non-front cards clip content within Sonner's box (#1388). Found a focus-transfer defect in AppToaster: every toast button moved focus to the next toast, even when an upload control did not dismiss its toast. Show text could therefore focus Update available while opening the viewer. Transfer now waits for Sonner to mark the card removed. The shared overlay focus option permits quiet initial focus without changing data-input or later Tab rings. Focused UI checks: 35 tests passed for the initial shared viewer/toast slice, followed by 5 passing focus/toaster tests after the focus-transfer correction. Browser fixture isolation and production screenshots remain in progress. Rust admission regression is compiling in the prescribed target directory. No new dependencies.
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#1388
No description provided.