Bug bash round 3: filesphotos #1397

Open
opened 2026-10-07 19:01:25 +00:00 by kayg · 4 comments
Owner

AREA: Files and Photos Tabs. Upload (drag, picker, folder, huge, many small, cancel, retry, offline), rename/move/copy/trash/restore, Quick Look viewers (image, video, audio, PDF, text, Markdown), selection (click, shift, cmd, keyboard, rubber band), sorting/grouping, Shared and Recent, Photos timeline, albums, the viewer (zoom, swipe, arrows), Copy link for files, folders, photos and albums.

Tracking issue for the 2026-10-08 night bug bash round 3. Every bug found gets its own issue, linked here.

AREA: Files and Photos Tabs. Upload (drag, picker, folder, huge, many small, cancel, retry, offline), rename/move/copy/trash/restore, Quick Look viewers (image, video, audio, PDF, text, Markdown), selection (click, shift, cmd, keyboard, rubber band), sorting/grouping, Shared and Recent, Photos timeline, albums, the viewer (zoom, swipe, arrows), Copy link for files, folders, photos and albums. Tracking issue for the 2026-10-08 night bug bash round 3. Every bug found gets its own issue, linked here.
Author
Owner

Started round 3 on branch job/bash3-filesphotos at HEAD 0419170fe4; merge-base with origin/dev is 0419170fe4. Reviewing rounds 1–2 and coverage before testing.

Started round 3 on branch job/bash3-filesphotos at HEAD 0419170fe456b58614befcb12d9c9d255118f1c0; merge-base with origin/dev is 0419170fe456b58614befcb12d9c9d255118f1c0. Reviewing rounds 1–2 and coverage before testing.
Author
Owner

Round 3 finding: known issue #1357 reproduced on d395b6e. The Photos production flow opens the first tile and presses ArrowRight before Quick Look focus moves; the viewer and route stay on item 1 for 60 s. The seeded library held 45 groups across 11 days. Failure screenshot: artifacts/bash3-filesphotos/photos-arrowright-failure.png. I am fixing the Photos-local keyboard handoff and will run its immediate-key regression.

Round 3 finding: known issue #1357 reproduced on d395b6e. The Photos production flow opens the first tile and presses ArrowRight before Quick Look focus moves; the viewer and route stay on item 1 for 60 s. The seeded library held 45 groups across 11 days. Failure screenshot: artifacts/bash3-filesphotos/photos-arrowright-failure.png. I am fixing the Photos-local keyboard handoff and will run its immediate-key regression.
Author
Owner

Round 3 evidence: Photos had 45 seeded photos over 11 days. Timeline grouping, zoom, scrubber pointer/keyboard, viewer arrows, Back-to-close, and direct photo deep-link with inspector passed. Immediate ArrowRight after opening the viewer now advances the deep link and count; this reproduces/fixes known #1357, with source and regression test on this branch pending the local web gate. The run then reproduced existing #1370: saving #paris and trip/lisbon 2026 did not show the expected confirmation within 30 seconds. Evidence: artifacts/bash3-filesphotos/photos-tags-save-known-failure.png. Also fixed a stale E2E selector ambiguity (Camera label matched the camera value), without changing its expectation.

Round 3 evidence: Photos had 45 seeded photos over 11 days. Timeline grouping, zoom, scrubber pointer/keyboard, viewer arrows, Back-to-close, and direct photo deep-link with inspector passed. Immediate ArrowRight after opening the viewer now advances the deep link and count; this reproduces/fixes known #1357, with source and regression test on this branch pending the local web gate. The run then reproduced existing #1370: saving `#paris` and `trip/lisbon 2026` did not show the expected confirmation within 30 seconds. Evidence: `artifacts/bash3-filesphotos/photos-tags-save-known-failure.png`. Also fixed a stale E2E selector ambiguity (`Camera` label matched the camera value), without changing its expectation.
Author
Owner

Round 3 final report — branch job/bash3-filesphotos

Head: 24643ce5db9b55ff0ad4bfc5881c17adabb1b971

Issue Symptom Severity Result
#1357 ArrowRight immediately after opening a photo Quick Look could be consumed by the timeline Major Fixed in 809a1e18a; production E2E regression covers the opening key and URL/title change.
#1370 Saved photo tags are missing from the item API Major Filed only; shared API behavior is outside this area.
#1355 Escape did not close a double-click Quick Look Major Rechecked across 390/820/1440, light/dark and reduced motion; no longer reproduces (issue is closed).

Coverage (tested on a real production build and throwaway data):

Flow Tested Width/theme/input coverage and findings
Upload: picker, drag, folder, many small, cancel, retry, offline Yes, partial matrix Desktop light/default: 24 small files, nested folder picker, drag/drop, in-flight cancel, offline error then online retry, and 5 MiB picker upload passed. No giant upload or full width/theme/throttle matrix.
Rename, move, copy, trash, restore Yes, partial matrix Real Files flows passed on desktop with pointer/keyboard, Undo, and restore; Files selection/navigation evidence spans 390/820/1440 and light/dark. No two-tab conflict or mid-action reload matrix.
Quick Look: image, video, audio, PDF, text, Markdown Yes, partial PDF loaded and remained visible; audio played/paused; text and Markdown preserved Unicode and whitespace. Photo image double-click zoom/reset passed. Video Quick Look and touch swipe/pinch were not verified in this round.
Selection: click, Shift, Cmd, keyboard, rubber band Yes Pointer, keyboard, touch long-press, grid/list; responsive screenshots at 390/820/1440 in light/dark.
Sorting/grouping Yes, partial Files name ascending/reverse and reload persistence passed on desktop; Photos day/month grouping, zoom and scrubber were exercised across review widths/themes.
Shared and Recent Yes, partial Recent/Trash rows and selection responsive captures; Recent reads real indexed items. Not every mutation was repeated at every width/theme.
Photos timeline Yes Real photo data; day/month, zoom, scrubber pointer/keyboard, Quick Look navigation and direct-link Inspector; 390/820/1440 light/dark Mac-emulated screenshots.
Albums No Albums are OPEN in DESIGN; no album UI was built or exercised.
Viewer: zoom, swipe, arrows Yes, partial Double-click zoom/reset and immediate/subsequent keyboard arrows passed; touch swipe/pinch was not verified because the automated touch probe did not produce a trustworthy gesture.
Copy link: files, folders, photos, albums Yes, partial Stable /f/<item-id> links copied for file/folder and /p/<item-id> for photo from viewer/context menu. Albums are OPEN and untested.

Performance (local, existing Photos profile; not a controlled regression comparison): 200 generated items; indexing 18.632s; warm timeline bucket API p50/p95 19.1/34.1ms; 60-day page 21.5/46.9ms; scrubber jump p50/p95 10/73ms. Timeline scroll was 6.5fps (frame p50/p95 133.4/250ms), fling 5fps (150.1/400ms); server mean/peak RSS about 245/263 MiB. The host load average was 32.9/35.6/33.2 before the run, so frame and cold-load numbers are noisy. Browser JS heap after a five-minute soak was not measured. Raw profile: artifacts/bash3-filesphotos/photos-perf-local.json.

Gates:

  • cargo fmt --check: exit 0, no output.
  • cd apps/web && bun run check: perf-lint: PASS; 0 violations; 22544 scoped exceptions; svelte-check found 0 errors and 4 warnings in 2 files (the warnings are in existing MailView and Money CSS). Full log: artifacts/bash3-filesphotos/bun-check.log.
  • Focused Photos Vitest: Test Files 4 passed (4); Tests 25 passed (25); duration 20.71s.
  • cargo clean: Removed 1 file, 356B total.
  • Full bun run test and full E2E/adversarial matrices are for the merge round under the current verification policy.

UX gaps closed: fixed #1357 opening-arrow routing and added its production E2E regression. Updated stale Files/Photos E2E selectors and assertions to match current accessible action names, shared pin-row semantics and the empty Photos surface.

UX gaps left: touch swipe/pinch, video Quick Look, album links/actions, giant upload, two-tab edit conflicts, five-minute browser-heap soak, and the full slow-network/offline/reload matrix remain unverified. No new issues were filed. Screenshots and captures are under artifacts/bash3-filesphotos/; scripts/fj issue comment accepts text only and has no attachment option, so they remain local review artifacts.

Decision not stated in DESIGN: while Quick Look is open, Photos routes an Arrow key from the still-focused source tile to the viewer so an immediate key after click advances the visible item. This implements the instant-interaction rule without changing the Photos URL grammar.

Round 3 final report — branch `job/bash3-filesphotos` Head: `24643ce5db9b55ff0ad4bfc5881c17adabb1b971` | Issue | Symptom | Severity | Result | |---|---|---|---| | #1357 | ArrowRight immediately after opening a photo Quick Look could be consumed by the timeline | Major | Fixed in `809a1e18a`; production E2E regression covers the opening key and URL/title change. | | #1370 | Saved photo tags are missing from the item API | Major | Filed only; shared API behavior is outside this area. | | #1355 | Escape did not close a double-click Quick Look | Major | Rechecked across 390/820/1440, light/dark and reduced motion; no longer reproduces (issue is closed). | Coverage (tested on a real production build and throwaway data): | Flow | Tested | Width/theme/input coverage and findings | |---|---|---| | Upload: picker, drag, folder, many small, cancel, retry, offline | Yes, partial matrix | Desktop light/default: 24 small files, nested folder picker, drag/drop, in-flight cancel, offline error then online retry, and 5 MiB picker upload passed. No giant upload or full width/theme/throttle matrix. | | Rename, move, copy, trash, restore | Yes, partial matrix | Real Files flows passed on desktop with pointer/keyboard, Undo, and restore; Files selection/navigation evidence spans 390/820/1440 and light/dark. No two-tab conflict or mid-action reload matrix. | | Quick Look: image, video, audio, PDF, text, Markdown | Yes, partial | PDF loaded and remained visible; audio played/paused; text and Markdown preserved Unicode and whitespace. Photo image double-click zoom/reset passed. Video Quick Look and touch swipe/pinch were not verified in this round. | | Selection: click, Shift, Cmd, keyboard, rubber band | Yes | Pointer, keyboard, touch long-press, grid/list; responsive screenshots at 390/820/1440 in light/dark. | | Sorting/grouping | Yes, partial | Files name ascending/reverse and reload persistence passed on desktop; Photos day/month grouping, zoom and scrubber were exercised across review widths/themes. | | Shared and Recent | Yes, partial | Recent/Trash rows and selection responsive captures; Recent reads real indexed items. Not every mutation was repeated at every width/theme. | | Photos timeline | Yes | Real photo data; day/month, zoom, scrubber pointer/keyboard, Quick Look navigation and direct-link Inspector; 390/820/1440 light/dark Mac-emulated screenshots. | | Albums | No | Albums are OPEN in DESIGN; no album UI was built or exercised. | | Viewer: zoom, swipe, arrows | Yes, partial | Double-click zoom/reset and immediate/subsequent keyboard arrows passed; touch swipe/pinch was not verified because the automated touch probe did not produce a trustworthy gesture. | | Copy link: files, folders, photos, albums | Yes, partial | Stable `/f/<item-id>` links copied for file/folder and `/p/<item-id>` for photo from viewer/context menu. Albums are OPEN and untested. | Performance (local, existing Photos profile; not a controlled regression comparison): 200 generated items; indexing 18.632s; warm timeline bucket API p50/p95 19.1/34.1ms; 60-day page 21.5/46.9ms; scrubber jump p50/p95 10/73ms. Timeline scroll was 6.5fps (frame p50/p95 133.4/250ms), fling 5fps (150.1/400ms); server mean/peak RSS about 245/263 MiB. The host load average was 32.9/35.6/33.2 before the run, so frame and cold-load numbers are noisy. Browser JS heap after a five-minute soak was not measured. Raw profile: `artifacts/bash3-filesphotos/photos-perf-local.json`. Gates: - `cargo fmt --check`: exit 0, no output. - `cd apps/web && bun run check`: `perf-lint: PASS; 0 violations; 22544 scoped exceptions`; `svelte-check found 0 errors and 4 warnings in 2 files` (the warnings are in existing MailView and Money CSS). Full log: `artifacts/bash3-filesphotos/bun-check.log`. - Focused Photos Vitest: `Test Files 4 passed (4)`; `Tests 25 passed (25)`; duration 20.71s. - `cargo clean`: `Removed 1 file, 356B total`. - Full `bun run test` and full E2E/adversarial matrices are for the merge round under the current verification policy. UX gaps closed: fixed #1357 opening-arrow routing and added its production E2E regression. Updated stale Files/Photos E2E selectors and assertions to match current accessible action names, shared pin-row semantics and the empty Photos surface. UX gaps left: touch swipe/pinch, video Quick Look, album links/actions, giant upload, two-tab edit conflicts, five-minute browser-heap soak, and the full slow-network/offline/reload matrix remain unverified. No new issues were filed. Screenshots and captures are under `artifacts/bash3-filesphotos/`; `scripts/fj issue comment` accepts text only and has no attachment option, so they remain local review artifacts. Decision not stated in DESIGN: while Quick Look is open, Photos routes an Arrow key from the still-focused source tile to the viewer so an immediate key after click advances the visible item. This implements the instant-interaction rule without changing the Photos URL grammar.
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#1397
No description provided.