New Canvas can show a Note load error although its source exists #1091

Open
opened 2026-10-05 04:32:39 +00:00 by kayg · 1 comment
Owner

Found in merge round 7c5 (#867), head 7f160f736. The ordinary New Canvas flow created Notes/Untitled canvas.excalidraw.md successfully. A direct Notes API read returned 200 with canvas data and the expected Note fields. The production Note host instead showed "This note could not be opened" and its Try again button. No browser error or failing API status was recorded by the flow.

Evidence: artifacts/merge-round-7c5/canvas-976-retry.log. It stopped while waiting for the required Rename Canvas dialog, before drawing. Earlier runs opened this same flow and retained text across reload, Tab close and rename.

NoteView.load already uses withFreshEtag's three bounded reads. Repeated cache invalidation is a possible cause, but the exact thrown error is not captured yet. Keep the retry bound and authority checks; capture the error and relevant Note change paths before choosing a fix. This is a retryable opening gap, with no source loss observed. The e2e will exercise the real Try again action against the same authorized API identity and retain the original Rename Canvas assertion.

Found in merge round 7c5 (#867), head 7f160f736. The ordinary New Canvas flow created Notes/Untitled canvas.excalidraw.md successfully. A direct Notes API read returned 200 with canvas data and the expected Note fields. The production Note host instead showed "This note could not be opened" and its Try again button. No browser error or failing API status was recorded by the flow. Evidence: artifacts/merge-round-7c5/canvas-976-retry.log. It stopped while waiting for the required Rename Canvas dialog, before drawing. Earlier runs opened this same flow and retained text across reload, Tab close and rename. NoteView.load already uses withFreshEtag's three bounded reads. Repeated cache invalidation is a possible cause, but the exact thrown error is not captured yet. Keep the retry bound and authority checks; capture the error and relevant Note change paths before choosing a fix. This is a retryable opening gap, with no source loss observed. The e2e will exercise the real Try again action against the same authorized API identity and retain the original Rename Canvas assertion.
Author
Owner

Round 7c5 finished at df92d4da12. The final ordinary Canvas flow passed its primary opening and both retitles without any recovery action. The optional test recovery branches were removed; dialog, title and source assertions remain strict. This issue remains open because the earlier failure was real and its exact cause is still unknown. Full evidence and final gate output are on #867.

Round 7c5 finished at df92d4da129bfead879d417aef6e0514fc56ee96. The final ordinary Canvas flow passed its primary opening and both retitles without any recovery action. The optional test recovery branches were removed; dialog, title and source assertions remain strict. This issue remains open because the earlier failure was real and its exact cause is still unknown. Full evidence and final gate output are on #867.
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#1091
No description provided.