Skip to content

fix(macos): add description placeholder and draft delete like web - #4654

Merged
tyler-dane merged 4 commits into
mainfrom
fix/macos-form-details
Oct 21, 2026
Merged

tyler-dane merged 4 commits into
mainfrom
fix/macos-form-details

Conversation

@tyler-dane

@tyler-dane tyler-dane commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Refs #4215

What and why

Two small event-form gaps found in the latest web vs macOS parity capture:

  • Description placeholder. Web's DescriptionEditor shows "Description" while empty. NSTextView has no placeholder, so DescriptionTextView now draws it (60% text color) while the string is empty and no IME composition is in progress.
  • Delete on a new draft. Web's FormActionsRow shows the trash button on a new draft too, and handleEventFormDelete closes the form because nothing is saved. macOS only showed Delete for existing events. A new, writable draft now gets the same button, which calls requestCloseEventForm(), so the discard prompt still appears if the draft was edited.

Verify

CompassUI and the app target build. bun run verify --strict: VERDICT: FAIL. Checks run: test:macos:packages, type-check, lint, knip, test:macos. The only failure is NativeLaunchTests.testEventClickShowsPointerHintWithoutOpening, which also fails on a clean origin/main checkout on this machine and passed in CI on the earlier merged parity PRs (local state, unrelated). All other macOS tests pass.

🤖 Generated with Claude Code

Summary

Brings the macOS event form in line with web for empty descriptions and new drafts:

  • Shows the Description placeholder when the rich-text field is empty (implemented on DescriptionEditorContainerView so DescriptionTextView behavior matches main).
  • Shows Delete on unsaved drafts; it closes the form and uses the existing discard prompt when edited.

Merged main so description-link, parity capture, and Swift package fixes from recent merges are included.

CI root cause (was red ~13h)

  1. swift-packages: Stale branch missed main’s description editor fixes; initial placeholder used draw(_:) on DescriptionTextView, which broke DescriptionEditorTests (emoji+bold list HTML and read-only font assertions). Fixed by container-based placeholder and keeping DescriptionTextView identical to main.
  2. macos gate: Failed because swift-packages failed.
  3. macos-capture / parity: Earlier run hit a title-bar capture flake (mac-title-bar.png traffic lights); latest run skips capture when path filters say parity surfaces unchanged.

Verify

VERDICT: PASS (bun run verify --strict on agent VM; Swift legs on macOS CI run 39619179975).

Fixes form-details parity work for #4654.

Open in Web Open in Cursor 

The description text view shows web's Description placeholder while
empty. A new draft gets web's trash button, which closes the form
(with the discard prompt when edited) since nothing is saved yet.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@tyler-dane
tyler-dane marked this pull request as ready for review October 21, 2026 00:46
@tyler-dane tyler-dane added the agent-automerge Agent-loop finished; merge-guard may squash-merge label Oct 21, 2026
@tyler-dane
tyler-dane enabled auto-merge October 21, 2026 00:46
cursoragent and others added 3 commits October 21, 2026 14:17
Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
…draw

Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
@tyler-dane
tyler-dane added this pull request to the merge queue Oct 21, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Oct 21, 2026
@tyler-dane
tyler-dane added this pull request to the merge queue Oct 21, 2026
Merged via the queue into main with commit 39ea3f3 Oct 21, 2026
26 checks passed
@tyler-dane
tyler-dane deleted the fix/macos-form-details branch October 21, 2026 16:25
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