Skip to content

refactor: share form jump ids and drop unused palette item fields - #4543

Merged
tyler-dane merged 1 commit into
mainfrom
cursor/technical-debt-simplification-1efc
Oct 18, 2026
Merged

tyler-dane merged 1 commit into
mainfrom
cursor/technical-debt-simplification-1efc

Conversation

@cursor

@cursor cursor Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

What and why

Nightly cleanup of merges after #4522, focused on #4540/#4541 (event form date/time), #4531 (command palette), #4523 (local recurring expansion), #4527 (recurrence end dates), and #4529 (offline calendar retention).

Date and time fields share resolveFormControlJumpIds. TimePicker reaches the portaled menu through one combobox lookup. Dead openMenuOnFocus props on TimePickers are gone (TimePicker already forces the menu on focus). Date-field CSS targets the classed input only.

Command palette items drop unused sectionId / sectionHeading copies of the section. Overlay query changes schedule search and scroll in one observer. RecurrenceRule loses the unused serialize() alias of summary(). Recurrence until dates call RecurrenceRuleLine.inclusiveEndDate directly. Local occurrence stamps reuse LocalOccurrenceKey. EventsStore shares one local-record builder. Calendar cache discard reads local-owned ids from one helper.

Left alone: AuthStore success paths (trial vs reset-token stay distinct), Welcome Enter vs connect-prompt Enter, first-event celebration, TimePicker commit-draft event, TimePicker/TimePickers shortcut test harness, calendar notice stack (still two views), TimeGrid hit-test passes, ContactsAPI (now used), ShiftHintOverlay, TimePickers start/end menu booleans, NativeGridKeyboardRouter confirmation-dialog key handling, deploy yaml awk readers.

Verify

VERDICT: PASS

Checks run: test:web 687/687, type-check, lint, knip, test:a11y 65/65, test:e2e 251/251.

CI-only: test:macos / test:macos:packages (no Xcode on this machine).

Open in Web View Automation 

Note

Low Risk
Refactors and API trims across web and macOS with tests passing; no auth, billing, or server contract changes.

Overview
Cross-platform cleanup after recent event-form and palette work: mostly deduplication and dead-code removal with no intended behavior changes.

Web event form: Date and time controls now share resolveFormControlJumpIds in form.util so Mod+number field jumps use the visible wrapper id (not react-select’s tiny hidden input). TimePicker centralizes combobox lookup for portaled menus; redundant openMenuOnFocus on start/end pickers is removed. Date-field CSS scopes chrome to .c-event-form-date-field__input only.

macOS command palette: CommandPaletteItem drops redundant sectionId / sectionHeading (sections already own headings). Palette query changes schedule event search and scroll in one onChange on the results list.

macOS data/recurrence: Local recurring expansion stamps dates via LocalOccurrenceKey with cached ISO8601 formatters. Calendar cache retention uses calendarIdsOwnedByLocalEvents(); EventsStore shares a localRecord builder. Native recurrence form calls RecurrenceRuleLine.inclusiveEndDate directly; unused RecurrenceRule.serialize() is removed.

Reviewed by Cursor Bugbot for commit 2440595. Bugbot is set up for automated code reviews on this repo. Configure here.

Co-authored-by: tyler <tyler@switchback.tech>
@tyler-dane
tyler-dane marked this pull request as ready for review October 18, 2026 01:22
@tyler-dane tyler-dane added the agent-automerge Agent-loop finished; merge-guard may squash-merge label Oct 18, 2026
@tyler-dane
tyler-dane enabled auto-merge October 18, 2026 01:22
@github-actions

Copy link
Copy Markdown
Contributor

Boot bundle: 509.5 KB gzip (-0.0 KB vs main)

@tyler-dane
tyler-dane added this pull request to the merge queue Oct 18, 2026
Merged via the queue into main with commit 0eb7090 Oct 18, 2026
31 checks passed
@tyler-dane
tyler-dane deleted the cursor/technical-debt-simplification-1efc branch October 18, 2026 01:38
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