Skip to content

fix(macos): open the event form time list on the selected time like web - #4721

Merged
tyler-dane merged 1 commit into
mainfrom
fix/macos-time-list-opens-on-selection
Oct 22, 2026
Merged

tyler-dane merged 1 commit into
mainfrom
fix/macos-time-list-opens-on-selection

Conversation

@tyler-dane

Copy link
Copy Markdown
Contributor

Refs #4331

What and why

With #4717's popover capture, the macOS event-form-time-picker image (run 39715292847) shows the start-time list open at 12 AM: 12 AM, 12:15, 12:30 and so on. The selected 3 PM is about 60 rows down. Web's time list opens centered on the selection (2:30, 2:45, 3 PM highlighted, 3:15, 3:30).

This PR wraps the list in a ScrollViewReader, gives each row its label as an id, and on appear scrolls the selected row to the center. When the time isn't on a quarter hour (3:10), it uses the quarter hour before it, so the list still opens next to the selection. The highlight logic is unchanged. It also updates the time-pickers row in docs/features/desktop-web-parity-checklist.md.

Still different from web (noted in the checklist): macOS shows the time list and date picker as AppKit popovers, which can open to the side of the field. Web drops them below it.

Verify

VERDICT: PASS from bun run verify --strict (type-check, lint, knip). bun cli contracts:swift --check and bun cli desktop:export --check pass.

Not run locally: this cloud session has no Swift toolchain or Xcode, so the build only runs in macOS CI. There's no unit test because this is SwiftUI scroll behavior inside a popover. The evidence will be the event-form-time-picker capture on main once #4717 (popovers in captures) and #4720 (welcome capture fix) have merged.


Generated by Claude Code

The quarter-hour list always opened at 12 AM, so picking a time near the
current one meant scrolling through the morning. Web centers the list on
the selected time. Scroll to the selected row, or the quarter hour
before it, when the list opens.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GKHjv2HDx1DFAnG4cfSxcr
@tyler-dane
tyler-dane marked this pull request as ready for review October 22, 2026 03:20
@tyler-dane tyler-dane added the agent-automerge Agent-loop finished; merge-guard may squash-merge label Oct 22, 2026 — with Claude
@tyler-dane
tyler-dane enabled auto-merge October 22, 2026 03:20
@tyler-dane
tyler-dane added this pull request to the merge queue Oct 22, 2026
Merged via the queue into main with commit ba851a4 Oct 22, 2026
33 checks passed
@tyler-dane
tyler-dane deleted the fix/macos-time-list-opens-on-selection branch October 22, 2026 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agent-automerge Agent-loop finished; merge-guard may squash-merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants