Repository navigation
fix(macos): put hour gutter labels on the 1 am track origin like web - #4719
Merged
Merged
Conversation
Cards, hour lines and the now line sit on web's 1 AM timed-track origin (timedGridTopPx), but the gutter still used the old web layout: a calc(100% / 13 - 5px) offset plus an empty first slot. Every label drew two hours below its events, so a 5 PM event sat on the 3 PM row. Web #4686 dropped that offset; lay labels out one slot per hour from 1 AM at the top of the track. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GKHjv2HDx1DFAnG4cfSxcr
tyler-dane
marked this pull request as ready for review
October 22, 2026 02:52
tyler-dane
enabled auto-merge
October 22, 2026 02:52
The welcome modal's buttons pair a title with a keycap chip and had no explicit label, so accessibility read "Get started for free, Enter". The onboarding parity capture added in #4707 clicks buttons["Get started for free"] and fails on every run since. Label each welcome button with its title; the keycap is a visual hint. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GKHjv2HDx1DFAnG4cfSxcr (cherry picked from commit 5d42363)
Contributor
Author
|
Generated by Claude Code |
… panel With the welcome buttons named by title, buttons["Next"] also matched the grid's week "Next" button behind the modal, so the click failed with multiple matches. Query the buttons inside compass-native-welcome-modal. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GKHjv2HDx1DFAnG4cfSxcr (cherry picked from commit 77e87f4)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GKHjv2HDx1DFAnG4cfSxcr (cherry picked from commit b031ea7)
The onboarding capture exports onboarding-welcome-account-choice, but the name was not a ParityCaptureSurface, so the debug URL never parsed and the export timed out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GKHjv2HDx1DFAnG4cfSxcr (cherry picked from commit 07b3cce)
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Oct 22, 2026
…-origin # Conflicts: # docs/features/desktop-web-parity-checklist.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #4331
What and why
In every macOS week-grid parity capture (latest compare: run 39704640345), events sat two hours above their gutter labels. "Call a friend 5 - 6 PM" drew on the 3 PM row, while web draws it on 5 PM.
Cards, hour lines and the now line already use web's 1 AM timed-track origin (
GridTimeConstants.timedGridTopPx, ported from webtimedGridTopPx). The gutter did not.renderHourColumnstill followed web's oldCalendarTimeColumnlayout: acalc(100% / TIMED_VISIBLE_HOURS - 5px)top offset (about one hour) plus an empty first slot (another hour) before "1 AM". Web #4686 removed that offset; itsHourLabelColumnnow gives each label one hour slot from 1 AM at the top of the track ("no extra translate here").This PR:
HourLabelColumn, with the current-hour accent unchangedTimeGridCivilDayTests.testHourLabelsShareTheEventTrackOrigin: the "5 PM" label's top matchestimedGridTopPxfor 17:00 within 3 pt. The existing DST label-count test still covers 23- and 25-hour days.docs/features/desktop-web-parity-checklist.mdVerify
VERDICT: PASSfrombun run verify --strict(type-check, lint, knip).bun cli contracts:swift --checkandbun cli desktop:export --checkpass.Not run locally: this cloud session has no Swift toolchain or Xcode, so the Swift build and the new CompassUI test only run in macOS CI. The
parity-screenshotslabel is added separately: the week-grid compare should show the macOS labels matching web's.Generated by Claude Code