Fix sidebar overlap around collapsed attachments on initial launch #2
Closed
opened 2026-09-13 13:34:39 +00:00 by kayg
·
10 comments
No Branch/Tag specified
dev
wave19/desktop-test
wave19/per-space-state
wave19/first-space-integration
wave19/first-space-draft-transfer
wave19/block-editor-craft
codex/wip/root-conflict-snapshot-20260914
wave12/first-space-draft-transfer
wave14/editor-overnight-combined
wave17/editor-diagnostics-3bbb
wave16/code-block-polish
wave16/image-controls
wave16/event-title-crash-control
wave16/image-preview-dispatch-repair
wave16/event-title-lifecycle-qa
wave16/editor-list-refinements
wave17/editor-layout-correction
wave16/event-edit-date
wave16/note-title-presentation
wave16/editor-final-combined
wave18/document-chrome-repair
wave17/cross-event-drop
wave16/editor-structural-combined
wave16/editor-hover-margins
wave16/editor-caret-relocation-perf
wave16/inspector-polish
wave16/image-preview-integration
wave16/english-transcription
wave16/document-background-edge
wave16/sidebar-live-layout
wave15/image-preview-ownership-repair
wave15/editor-handle-six-dot
wave15/titlebar-public-repair
wave15/sidebar-initial-restoration
wave15/editor-formatting-tooltips
wave15/editor-drag-mounted-repair
wave15/image-preview-foundation-isolated
wave15/editor-block-drag-feedback
wave15/sidebar-attachment-layout
wave14/editor-inline-plain-fastpath
wave14/editor-rendered-paste-replacement
wave14/clipboard-awaited-shutdown
wave14/editor-selectall-toolbar-perf
fix/clipboard-body-undo-group
diagnostic/clipboard-insertion-491
wave14/sidebar-unselected-drag-v2
diagnostic/sidebar-unselected-drag-trace
diagnostic/clipboard-phase-0225
wave14/sidebar-prime-access
wave14/nested-projection-handle-test-fix
wave14/sidebar-unselected-event-drag
fix/clipboard-task-ownership-6318
fix/editor-resource-url-invalidation
codex/wip/editor-handle-render-diagnostic-20260914
fix/central9c9-clipboard-crash
codex/wip/editor-handle-diagnostic-20260914
wave14/sidebar-event-runtime-repair
wave14/nested-projection-runtime-fix
wave14/sidebar-event-test-fixtures
wave14/sidebar-attachment-overlap
integration/rendered-image-clipboard
wave14/sidebar-event-preview-integration
wave14/editor-nested-list-integrate
wave14/editor-nested-list-projection
task/rendered-image-clipboard
wave14/sidebar-paste-preview-integration
wave14/sidebar-event-day-dnd
wave14/editor-preview-next
wave14/editor-list-handle-integrated
task/native-basic-paste
wave14/editor-list-keyboard-audit
task/native-clipboard-contract
codex/wip/editor-handle-geometry-20260914
wave14/editor-block-drag
wave14/editor-drag-integrated
wave14/editor-empty-marker-map-publication
wave14/editor-empty-marker-runtime-diag
wave14/editor-empty-marker-preview
wave14/editor-empty-marker-host-repro
wave14/editor-empty-marker-probe
codex/wip/editor-hr-leaf-fix-20260914
wave14/event-attachment-drop
wave14/editor-empty-marker-paint
wave14/editor-drop-list-preview
wave14/editor-finder-drop
wave14/editor-rule-caret
wave14/editor-list-enter-next
wave14/editor-image-qa
wave14/editor-mode-commands
wave13/editor-code-performance-preview
wave14/sidebar-overlap-repair
wave13/cross-day-compile-repair
wave13/spotlight-retry
wave13/editor-chrome-runtime-repair
wave13/editor-inline-fast-path
codex/wip/detached-87aa-20260914
wave12/editor-viewport-polish
wave12/craft-code-block-polish
wave12/editor-asset-return-preview
wave12/voice-polish-preview
wave12/editor-native-return-runtime-repair
wave12/editor-asset-focus
wave12/cross-day-reviewed-integration
wave12/optional-voice-provider-finish
wave12/event-move-descriptor-compile-fix
wave12/editor-image-geometry-preview
wave12/editor-native-return-undo-repair
wave12/image-native-geometry-fixture
wave12/editor-pattern-preview
wave12/editor-bullet-continuation
wave12/editor-top-chrome
wave12/voice-composer-restart
wave12/speech-variable-buffer-repair
wave12/editor-image-preview
wave12/event-move-descriptor-scale
wave12/editor-image-geometry
wave12/afternoon-ui-preview
wave12/sidebar-hosted-bounds-repair
wave12/sidebar-overlap-live
wave12/speech-e2e-verification
wave12/mentions-polish-finish
wave12/editor-structural-range-repair
wave12/sidebar-fade-desktop-preview
wave12/sidebar-design-ledger
wave12/voice-assets-physical-fixtures
wave12/native-event-marker-polish
wave12/sidebar-fade-undo-preview
wave12/event-move-fence-corrections
wave12/sidebar-fade-boundary-repair
wave12/parent-space-entry-integration
wave12/editor-undo-group-repair
wave12/native-event-row-performance
wave12/parent-swipe-integration
wave12/metadata-noteid-test-fix
wave12/space-composer-generation-fix
wave12/voice-lifecycle-clock-fixture
wave12/sidebar-child-binding
wave12/voice-provider-pool-preview
wave12/composer-recording-preview
wave12/event-cross-day-store-corrections
wave12/voice-async-test-locks
wave12/speech-buffer-lease-fix
wave12/composer-no-top-readouts
wave12/sidebar-child-target
wave12/space-required-composer
wave12/editor-correctness-preview
wave12/voice-provider-compile-corrected
wave12/event-move-integration
wave12/voice-assets-compile-fix
wave12/parakeet-compile-fix
wave12/note-metadata-flexibility
wave12/sidebar-event-drag-drop
wave12/editor-paste-source-guard
wave12/note-asset-import-safety-causal-tests
wave12/note-asset-import-safety
wave12/editor-readonly-command-guards
wave12/voice-provider-integration
wave12/editor-format-flexibility
wave12/hosted-sidebar-ui-sdk-fix
wave12/event-cross-day-store
wave12/voice-app-wiring
wave12/voice-parakeet-assets
wave12/voice-hosted-await-fix
wave12/event-edit-date-guard
wave12/event-cross-day-app
wave12/network-client-entitlement
wave12/sidebar-row-overlap
wave12/voice-settings-surface
wave12/parakeet-capture-adapter
wave12/task-marker-normalization
wave12/voice-polish-integration
wave12/voice-capture-hardening
wave12/voice-provider-settings-plan
wave12/copied-space-editor-io
wave12/hosted-background-sendability
wave12/voice-stop-nlp
wave12/voice-fixture-roots
wave12/voice-claim-collision
wave12/sidebar-add-swipe-plan
wave12/copied-space-app-wiring-plan
wave12/voice-fence-stat-compilefix
wave12/composer-dismiss-crash-hotfix
wave12/voice-retainer-defer-fix
wave12/overnight-recovery-space-preview
wave12/background-checkpoint-compilefix
wave12/copied-space-enumeration-fix
wave12/copied-space-local-state
wave12/voice-fence-fixture-fix
wave12/voice-manifest-fd-fix
wave12/voice-recovery-publication-proof
wave12/voice-retainer-bytecount-fix
wave12/overnight-navigation-background-compilefix
wave12/navigation-work-diagnostic
wave12/overnight-navigation-background-preview
wave12/background-import-bounds
wave12/overnight-voice-lifecycle-preview
wave12/voice-frozen-claim
wave12/voice-input-seam
wave12/voice-recovery-compile-fix
wave12/voice-terminal-cleanup-plan
wave12/voice-recovery-activation-plan-current
wave12/overnight-runtime-probe-preview
wave12/overnight-sandbox-startup-preview
wave12/startup-geometry-diagnostic
wave12/voice-source-sandbox-fix
wave12/image-root-sandbox-fix
wave12/perf-scroll-zero-args
wave12/overnight-document-geometry-preview
wave12/native-document-geometry-diagnostic
wave12/overnight-draft-root-preview
wave12/voice-recovery-c-session-fence
wave12/draft-root-direct-open
wave12/hosted-single-module-linkage
wave12/overnight-voice-recovery-preview
wave12/voice-recovery-checkpoint-a-finalization
wave12/copied-space-local-state-plan
wave12/overnight-refresh-hosted-preview
wave12/incremental-refresh-bounded-load
wave12/raw-source-reconciliation-test-fix
wave12/overnight-rendering-startup-preview
wave12/draft-root-diagnostic
wave12/day-event-bulk-load
wave12/speech-asset-install-test-preview
wave12/hr-material-contrast
wave12/height-clamp-followup
wave12/voice-recovery-checkpoint-a-corrections
wave12/overnight-cstore-caret-preview
wave12/voice-recovery-checkpoint-a
wave12/editor-adjacent-caret-boundary-v3
wave12/voice-recovery-index-query-fix
wave12/editor-adjacent-caret-boundary-v2
wave12/voice-recovery-index-query
wave12/startup-collector-empty-args
wave12/editor-adjacent-caret-boundary
wave12/overnight-hr-storage-preview
wave12/hr-native-diagnostic-followup
wave12/hr-native-diagnostic
wave12/overnight-storage-settings-preview
wave12/snapshot-native-move-followup
wave12/speech-local-fallback
wave12/settings-stream-test-compilefix
wave12/snapshot-path-identity-followup
wave12/corefrontmatter-join-fastpath
wave12/speech-fallback-plan
wave12/overnight-caret-control-registry
wave12/editor-registry-compilefix
wave12/voicea-test-compilefix
wave12/overnight-caret-control-ready
wave12/voicea-enum-compilefix
wave12/voice-recovery-phaseb
wave12/overnight-caret-control
wave12/overnight-polish-storage-preview
wave12/voicea-foundation-compilefix
wave12/snapshot-path-identity
wave12/overnight-native-polish-preview
wave12/hr-rule-geometry
wave12/speech-conversion-fixture
wave12/editor-deferred-caret
wave12/overnight-hosted-lifetime-preview
wave12/marker-glyph-clipping
wave12/voice-recovery-activation
wave12/overnight-package-fixture-preview
wave12/overnight-lifetime-voice-preview
wave12/app-tests-cleanup
wave12/snapshot-physical-fixtures
wave12/event-date-title-punctuation
wave12/overnight-lifetime-voice-plan
wave12/overnight-draw-before
wave12/overnight-picker-event-preview
wave12/settings-watcher
wave12/event-date-title-fix
wave12/note-background-picker-fix
wave12/editor-lifetime
wave12/overnight-draw-preview
wave12/snapshot-attribute-compile-fix
wave12/editor-accepted-draw-trace
wave12/overnight-runtime-preview
wave12/composer-test-concurrency-fix
wave12/editor-caret-performance
wave12/overnight-snapshot-correction
wave12/settings-model-callbacks
wave12/overnight-full-preview
wave12/overnight-store-preview
wave12/rendered-bullet-fix
wave12/settings-document-fixture-fix
wave12/composer-task-pill-ui
wave12/overnight-roadmap-preview
wave12/task-tag-readouts
wave12/event-snapshot-dependency
wave12/h1-strict-preview
wave12/settings-store-await-fix
wave12/settings-store-test-fix
wave12/overnight-pill-preview
wave12/composer-pill-accent-fix
wave12/composer-pill-final
wave11/sidebar-cold-index-prime
wave12/overnight-preview
wave11/voice-draft-recovery
wave11/voice-transcription-finish
wave11/note-save-rename
wave11/task-event-preview
wave11/settings-enabled-plugin-section
wave11/pill-fade-preview
wave11/sidebar-top-fade-regression
wave11/event-sidebar-preview
wave11/composer-pill-restore
wave11/settings-plugins-portability
wave11/composer-hash-semantics
wave11/event-composer-edit
wave11/sidebar-spacing-followup
wave11/editor-performance-evidence
wave11/voice-preview
wave11/voice-stop-repair
wave11/polish-verification
wave11/plugins-settings-ui
wave11/bullet-list-regression
wave11/sidebar-insert-stability
wave11/polish-preview
wave11/document-style-repair
wave11/composer-native-readouts
wave11/mentions-disclosure-motion
wave11/sidebar-swipe-compact
wave11/legacy-helper-path-fix
wave11/persistence-integration
wave11/capsule-instant-presentation
wave11/native-link-activation
wave11/desktop-integration
wave11/link-integration
wave11/synthetic-note-names
wave11/composer-overflow-actions
wave11/legacy-root-links
wave11/note-title-punctuation
wave11/note-title-metadata
wave11/spotlight-navigation
wave11/spotlight-trace-baseline
wave11/note-name-collisions
wave11/identity-query-indexes
wave11/note-heading-title
wave11/capsule-scroll-chrome
wave11/sidebar-context-menu
wave11/spotlight-metadata
wave11/rename-link-repair
wave11/analytics-native
wave11/sidebar-scroll-restoration
wave11/sidebar-bottom-spacing
wave11/capsule-optical-alignment
wave11/markdown-link-resolution
wave11/command-results-layout
wave11/capsule-outside-dismissal
wave11/events-folder
wave11/capsule-query-retention
wave11/capsule-snap-preview
wave11/composer-controls-preview
wave11/sidebar-fade-preview
wave11/selection-lookup
wave11/note-creation-routing
wave11/sidebar-header-spacing
wave11/block-editor
wave11/space-onboarding
wave11/space-terminology
wave4/voice
wave2/search
wave4/glur-probe
wave7/cli-integration
wave12/inspector-style
wave4/document-presentation
wave2/cli
wave2/sidebar
No results found.
Labels
Clear labels
No items
No labels
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
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
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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.
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.
Root integration/build update
Candidate
bb8e48b2was 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.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
bb8e48b2was independently reviewed PASS with no P1-P3 findings, compiled on the designated build host, and integrated into current Release candidate6ca85. 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 anNSTableViewremove/insert transaction plus neighboring height invalidation. Multi-row and count-changing disclosure updates keep the existing structural path. Opt-inCALTERNAL_SIDEBAR_GEOMETRY=1records 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.
QA update — the fresh 6ca85 synthetic foreground route now has a valid observed selection: after a fresh screenshot-derived foreground click,
Lunch and walkis visibly blue-selected and the viewer header readsLunch and walk; the one-lineDesign reviewpreview above remains visually separate. Evidence:.agents/native-break/sidebar-live-9153/6ca85-foreground/03-after1.pngand03-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 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.
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.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.
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.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.
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—b5577a48ec39870275bc660ad9511f80b237909aMaster #20 contains the resume instructions. No force push; dev remains
1d8f4adf.