Skip to content

fix(macos): preserve rich descriptions and add formatting controls - #4495

Merged
tyler-dane merged 20 commits into
mainfrom
fix/macos-description-formatting
Oct 16, 2026
Merged

tyler-dane merged 20 commits into
mainfrom
fix/macos-description-formatting

Conversation

@tyler-dane

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

Copy link
Copy Markdown
Contributor

Fixes #4494

What and why

Native description edits flattened lists, reused the first matching line’s attributes, dropped nested emphasis inside links, and could crash on emoji because regex UTF-16 offsets were used as Swift character offsets. Preserve structured lists, soft breaks, blank paragraphs, unsupported HTML, and each line’s own formatting. Save bold, italic, and link changes immediately, including when no extra character is typed.

Add accessible Bold, Italic, Numbered list, and Bullet list controls with selection feedback, list continuation and renumbering, and read-only handling. Retain caret formatting across theme updates. Keyboard field jumps now scroll the requested form section into view. Normalize physical keypad Enter and character-only Enter events so Command+Enter saves from the rich-text editor.

The regression uses the real AppKit controls to format a note, save without further typing, reopen, and verify the text and Bold selection. Keep native keyboard-adapter tests in Xcode, and run 14 AppKit editor unit tests in the existing native package lane. Fixture launches skip real system notification prompts/delivery, and the title-typing fallback leaves real editors in control.

Verify

VERDICT: PASS

The reconciled head passes all strict checks: native Swift package tests, Xcode unit and interaction tests, type-check, lint, and knip. Swift contracts and desktop export checks pass. The native persistence regression exercises the actual toolbar and Command+Enter save path; Return/keypad normalization also has native adapter coverage.

The simplify pass removed duplicate inline-formatting conversion and the redundant test-only toolbar mirror/notification bridge. Named native checkbox queries exercise the actual toolbar directly. Preserve the remote button identifiers and deterministic Up Next test intent.

tyler-dane and others added 20 commits October 16, 2026 06:40
…tests

Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
Co-authored-by: Tyler Dane <tyler-dane@users.noreply.github.com>
@tyler-dane
tyler-dane marked this pull request as ready for review October 16, 2026 17:52
@tyler-dane tyler-dane added the agent-automerge Agent-loop finished; merge-guard may squash-merge label Oct 16, 2026
@tyler-dane
tyler-dane enabled auto-merge October 16, 2026 17:52
@tyler-dane
tyler-dane added this pull request to the merge queue Oct 16, 2026
Merged via the queue into main with commit 86d2c0e Oct 16, 2026
30 checks passed
@tyler-dane
tyler-dane deleted the fix/macos-description-formatting branch October 16, 2026 18:24
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.

Preserve native event description formatting and expose editing controls

2 participants