Fix sidebar overlap around collapsed attachments on initial launch #2

Closed
opened 2026-09-13 13:34:39 +00:00 by kayg · 10 comments
Owner

Request and current status

Resolved and user-accepted on desktop preview 37c5d40d. User explicitly confirmed on 2026-09-13: “yes overlap is finally fixed!” The exact persisted attachment/event scenario was tested by the user; the synthetic VM control alone had not established this result. Root delivery/signature/process receipts and candidate/source review are in comments.

The separate event-edit error remains tracked in #1. Broader performance acceptance remains #13 and is not implied by this bug closure.

Acceptance

Reproduce persisted one-attachment startup then select lower event before scrolling. Compare row/cell/hosting geometry and pixels. Verify zero/one/many attachments, resize and repeated selection; preserve scroll and selection.

Keep open until the user-facing outcome is verified in a delivered build. Source review or a successful build alone is not completion.

## Request and current status **Resolved and user-accepted on desktop preview 37c5d40d.** User explicitly confirmed on 2026-09-13: “yes overlap is finally fixed!” The exact persisted attachment/event scenario was tested by the user; the synthetic VM control alone had not established this result. Root delivery/signature/process receipts and candidate/source review are in comments. The separate event-edit error remains tracked in #1. Broader performance acceptance remains #13 and is not implied by this bug closure. ## Acceptance Reproduce persisted one-attachment startup then select lower event before scrolling. Compare row/cell/hosting geometry and pixels. Verify zero/one/many attachments, resize and repeated selection; preserve scroll and selection. Keep open until the user-facing outcome is verified in a delivered build. Source review or a successful build alone is not completion.
Author
Owner

QA correction: not passed.

The bb8e synthetic click previously reported as a lower-event selection did not select any row: its screenshot still showed “Nothing selected,” and no AX-selected row or viewer title was present. The report has been corrected; it is not evidence for initial-layout repair.

The current 6ca85 VM driver exposes a token for the virtualized Calendar timeline, but event cells have offscreen AX frames. Table-token focus plus one Down key also produced no selected row or viewer title. No coordinate retry is being counted as interaction evidence.

Required remaining proof is unchanged: delivered-build live reproduction with persisted one-attachment startup and lower-event selection before scrolling, pixels plus materialized row/cell/host geometry at immediate and next layout. The synthetic control is nonreproducing and cannot close this issue.

QA correction: **not passed**. The bb8e synthetic click previously reported as a lower-event selection did not select any row: its screenshot still showed “Nothing selected,” and no AX-selected row or viewer title was present. The report has been corrected; it is not evidence for initial-layout repair. The current 6ca85 VM driver exposes a token for the virtualized `Calendar timeline`, but event cells have offscreen AX frames. Table-token focus plus one Down key also produced no selected row or viewer title. No coordinate retry is being counted as interaction evidence. Required remaining proof is unchanged: delivered-build live reproduction with persisted one-attachment startup and lower-event selection before scrolling, pixels plus materialized row/cell/host geometry at immediate and next layout. The synthetic control is nonreproducing and cannot close this issue.
Author
Owner

Root integration/build update

Candidate bb8e48b2 was integrated as7e55a66f, then combined with hover-only85117 as6ca85fd2. Exact6ca85 Release, signature and provenance checks passed; basic VM launch passed. The attempted synthetic lower-row click did not change selection, so NO exact overlap/reproduction pass exists. Source diagnosis and real desktop evidence remain in the issue. Candidate is staged, not installed; user's current event-edit draft must be preserved.

## Root integration/build update Candidate bb8e48b2 was integrated as7e55a66f, then combined with hover-only85117 as6ca85fd2. Exact6ca85 Release, signature and provenance checks passed; basic VM launch passed. The attempted synthetic lower-row click did not change selection, so NO exact overlap/reproduction pass exists. Source diagnosis and real desktop evidence remain in the issue. Candidate is staged, not installed; user's current event-edit draft must be preserved.
Author
Owner

Worker/role: /root/sidebar_live_geometry_diagnosis (task, source diagnosis/candidate).

Owned worktree/branch: /Users/kayg/Developer/calternal-app/.worktrees/sidebar-live-layout, wave16/sidebar-live-layout.

Current state: candidate bb8e48b2 was independently reviewed PASS with no P1-P3 findings, compiled on the designated build host, and integrated into current Release candidate 6ca85. It specializes the persisted one-attachment expanded/collapsed swap: because the attachment row and preview are both 28 points at the same index, it reloads that cell in place instead of issuing an NSTableView remove/insert transaction plus neighboring height invalidation. Multi-row and count-changing disclosure updates keep the existing structural path. Opt-in CALTERNAL_SIDEBAR_GEOMETRY=1 records table rect, row-view, cell, and hosting frames before the update, immediately after it, and on the next native table layout without recording user content or identities.

Evidence/limitations: the source review and compile are complete. The isolated plain-collapsed synthetic control did not reproduce the desktop failure. The attempted VM click on the lower row did not actually change selection, so it is not runtime evidence and does not causally verify the candidate. The live desktop observation remains: selecting an unrelated row did not clear corruption, while scrolling the affected rows fully offscreen and back did clear it; a one-note deck has zero rotation, and whole event text was displaced, so deck clipping alone is insufficient as an explanation.

Next action: keep issue #2 open. On the VM only, launch the exact integrated Release with a persisted expanded event containing one attachment, select the following event before any scroll, capture the opt-in native geometry log and pixels, then stress zero/one/many attachments, resize, and repeated selection. Preserve selection and scroll state checks. Do not treat build or source review as acceptance.

Worker/role: `/root/sidebar_live_geometry_diagnosis` (`task`, source diagnosis/candidate). Owned worktree/branch: `/Users/kayg/Developer/calternal-app/.worktrees/sidebar-live-layout`, `wave16/sidebar-live-layout`. Current state: candidate `bb8e48b2` was independently reviewed PASS with no P1-P3 findings, compiled on the designated build host, and integrated into current Release candidate `6ca85`. It specializes the persisted one-attachment expanded/collapsed swap: because the attachment row and preview are both 28 points at the same index, it reloads that cell in place instead of issuing an `NSTableView` remove/insert transaction plus neighboring height invalidation. Multi-row and count-changing disclosure updates keep the existing structural path. Opt-in `CALTERNAL_SIDEBAR_GEOMETRY=1` records table rect, row-view, cell, and hosting frames before the update, immediately after it, and on the next native table layout without recording user content or identities. Evidence/limitations: the source review and compile are complete. The isolated plain-collapsed synthetic control did not reproduce the desktop failure. The attempted VM click on the lower row did not actually change selection, so it is not runtime evidence and does not causally verify the candidate. The live desktop observation remains: selecting an unrelated row did not clear corruption, while scrolling the affected rows fully offscreen and back did clear it; a one-note deck has zero rotation, and whole event text was displaced, so deck clipping alone is insufficient as an explanation. Next action: keep issue #2 open. On the VM only, launch the exact integrated Release with a persisted expanded event containing one attachment, select the following event before any scroll, capture the opt-in native geometry log and pixels, then stress zero/one/many attachments, resize, and repeated selection. Preserve selection and scroll state checks. Do not treat build or source review as acceptance.
Author
Owner

QA update — the fresh 6ca85 synthetic foreground route now has a valid observed selection: after a fresh screenshot-derived foreground click, Lunch and walk is visibly blue-selected and the viewer header reads Lunch and walk; the one-line Design review preview above remains visually separate. Evidence: .agents/native-break/sidebar-live-9153/6ca85-foreground/03-after1.png and 03-attempt1.txt.

This is only a synthetic control. It does not reproduce or close the reported live persisted long-preview/recycling overlap; issue remains open.

QA update — the fresh 6ca85 synthetic foreground route now has a valid observed selection: after a fresh screenshot-derived foreground click, `Lunch and walk` is visibly blue-selected and the viewer header reads `Lunch and walk`; the one-line `Design review` preview above remains visually separate. Evidence: `.agents/native-break/sidebar-live-9153/6ca85-foreground/03-after1.png` and `03-attempt1.txt`. This is only a synthetic control. It does **not** reproduce or close the reported live persisted long-preview/recycling overlap; issue remains open.
Author
Owner

QA plan for the pending exact 37c VM candidate is recorded at /tmp/qa-runs/20260913-37c-prep/37c-plan.md (shared summary will be copied with candidate evidence). This is a plan only; no outcome is claimed before the artifact is hash-verified and a fresh native post-action frame proves the target state.

Issue-specific acceptance for #2 will be exercised with a synthetic/disposable launch only. Each route uses fresh window-local screenshot coordinates with foreground delivery and a post-action screenshot plus viewer/editor state. Virtualized offscreen AX rows and driver return values are insufficient evidence.

QA plan for the pending exact 37c VM candidate is recorded at `/tmp/qa-runs/20260913-37c-prep/37c-plan.md` (shared summary will be copied with candidate evidence). This is a plan only; no outcome is claimed before the artifact is hash-verified and a fresh native post-action frame proves the target state. Issue-specific acceptance for #2 will be exercised with a synthetic/disposable launch only. Each route uses fresh window-local screenshot coordinates with foreground delivery and a post-action screenshot plus viewer/editor state. Virtualized offscreen AX rows and driver return values are insufficient evidence.
Author
Owner

37c5 preliminary VM result: basic synthetic launch and ordinary visible-event selection passed (.agents/native-break/37c5-vm-qa/09-after-sidebar.png). The cold state did not present a collapsed note preview at launch, so the required collapsed-preview → following-event-before-scroll reproduction was not executed. This is not a pass or a repro result; issue remains open.

37c5 preliminary VM result: basic synthetic launch and ordinary visible-event selection passed (`.agents/native-break/37c5-vm-qa/09-after-sidebar.png`). The cold state did not present a collapsed note preview at launch, so the required collapsed-preview → following-event-before-scroll reproduction was not executed. This is not a pass or a repro result; issue remains open.
Author
Owner

Root delivery verified: desktop ~/Applications/Calternal.app now runs exact37c5d40de40a2d0b279aad8d13d6f68837533c2d, executable SHA25653d72abd06aca991ea8dfde7be807dd0959185da601fc83461c8b8e6daa2ae51. Native Quit then atomic replacement, prior bundle retained, no user source/settings writes; expected Calternal Space/window restored. Receipt .agents/desktop-install/37c5d40d/install-receipt.json.

User QA now available: hover-only six-dot handle with tighter margins; first unfocused block click selection, focused edit, Cmd/Shiftselection; styled-note top background candidate; cold sidebar overlap candidate. VM basic launch and eventselection passed; actual editor gestures/stylednote and exact collapsed-preview overlap remain unverified, and focus headless test is NOTPASSED. No performance/stable/useracceptance claim.

Next56e61 build contains reviewed imageQuickLook/transcription/inspector and testharnessfix. Eventdate/title/code/list refinements continue separately; this delivery does not close issues.

Root delivery verified: desktop ~/Applications/Calternal.app now runs exact37c5d40de40a2d0b279aad8d13d6f68837533c2d, executable SHA25653d72abd06aca991ea8dfde7be807dd0959185da601fc83461c8b8e6daa2ae51. Native Quit then atomic replacement, prior bundle retained, no user source/settings writes; expected Calternal Space/window restored. Receipt `.agents/desktop-install/37c5d40d/install-receipt.json`. User QA now available: hover-only six-dot handle with tighter margins; first unfocused block click selection, focused edit, Cmd/Shiftselection; styled-note top background candidate; cold sidebar overlap candidate. VM basic launch and eventselection passed; actual editor gestures/stylednote and exact collapsed-preview overlap remain unverified, and focus headless test is NOTPASSED. No performance/stable/useracceptance claim. Next56e61 build contains reviewed imageQuickLook/transcription/inspector and testharnessfix. Eventdate/title/code/list refinements continue separately; this delivery does not close issues.
Author
Owner

37c5 VM final bounded result: exact bundle integrity and ordinary synthetic event selection pass; the selected event visibly updates the viewer (.agents/native-break/37c5-vm-qa/09-after-sidebar.png). The fresh synthetic state did not contain the required collapsed long note-preview at cold launch, so persisted-preview → following-event-before-scroll and recycling remain unexecuted. Keep #2 open.

37c5 VM final bounded result: exact bundle integrity and ordinary synthetic event selection pass; the selected event visibly updates the viewer (`.agents/native-break/37c5-vm-qa/09-after-sidebar.png`). The fresh synthetic state did not contain the required collapsed long note-preview at cold launch, so persisted-preview → following-event-before-scroll and recycling remain unexecuted. Keep #2 open.
Author
Owner

User acceptance on delivered37c5d40d: user explicitly confirmed "yes overlap is finally fixed!" after testing the desktop preview on their actual attachment/event layout. This is the real scenario previously unavailable in the synthetic VM fixture. Root delivered exact signed37c5 app and recorded provenance; source review plus preliminary VM launch/selection passed. Marking the reported sidebar overlap resolved/user-accepted. Broader performance gates remain tracked in #13 and are not implied by this acceptance.

The event-edit error in the same report is separate and remains open in #1: "This event edit is no longer available. Refresh the timeline and try again." Screenshot shows the existing event with today appended. Event fix is not in37c and remains in Store-boundary review/repair.

User acceptance on delivered37c5d40d: user explicitly confirmed "yes overlap is finally fixed!" after testing the desktop preview on their actual attachment/event layout. This is the real scenario previously unavailable in the synthetic VM fixture. Root delivered exact signed37c5 app and recorded provenance; source review plus preliminary VM launch/selection passed. Marking the reported sidebar overlap resolved/user-accepted. Broader performance gates remain tracked in #13 and are not implied by this acceptance. The event-edit error in the same report is separate and remains open in #1: "This event edit is no longer available. Refresh the timeline and try again." Screenshot shows the existing event with today appended. Event fix is not in37c and remains in Store-boundary review/repair.
kayg closed this issue 2026-09-13 14:43:08 +00:00
Author
Owner

Remote preservation checkpoint — 2026-09-14

The following original-worktree candidates are now pushed and exact hashes verified on both Forgejo and GitHub. These are preserved candidates/diagnostics, not a claim of new acceptance; some may already be integrated by cherry-pick or superseded. Use the issue’s existing evidence before choosing changes to resume.

  • wave14/sidebar-overlap-repair — b5577a48ec39870275bc660ad9511f80b237909a

Master #20 contains the resume instructions. No force push; dev remains 1d8f4adf.

Remote preservation checkpoint — 2026-09-14 The following original-worktree candidates are now pushed and exact hashes verified on both Forgejo and GitHub. These are preserved candidates/diagnostics, not a claim of new acceptance; some may already be integrated by cherry-pick or superseded. Use the issue’s existing evidence before choosing changes to resume. - `wave14/sidebar-overlap-repair` — `b5577a48ec39870275bc660ad9511f80b237909a` Master #20 contains the resume instructions. No force push; dev remains 1d8f4adf.
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-macos#2
No description provided.