Skip to content

feat: expand editor formatting toolbar and compact menu icons - #58

Merged
exterminatorrat merged 12 commits into
mainfrom
capy/toolbar-public-integration
Sep 18, 2026
Merged

exterminatorrat merged 12 commits into
mainfrom
capy/toolbar-public-integration

Conversation

@exterminatorrat

@exterminatorrat exterminatorrat commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Expand the native editor toolbar while retaining the current measured overflow, trailing Delete, and shared picker/popover handling. This follows #57, now merged into main, and adapts the reviewed toolbar features onto public source rather than importing the development donor's full ancestry.

  • Add visual text styles, paragraph alignment/spacing/indentation, clear and copied formatting, baseline controls, and Unicode-aware case conversion.

  • Add guarded web/note links and native in-note find actions. Find shortcuts remain registered with closed overflow or a hidden formatting toolbar: ⌥⌘F, ⇧⌥⌘F, ⌘G, and ⇧⌘G. ⌘F remains workspace search.

  • Use distinct Text, Paragraph, and Tools icons with one decorative chevron each; retain textual overflow menus, accessible mixed-formatting state, and the existing picker focus behavior.

  • Preserve attributed selections, real undo/redo, list metadata, canonical image references, and RTF save/reload. Reject stale link targets and attachment-bearing web-link selections; protect unavailable image references during case conversion.

  • Advance VERSION to 1.1.2-beta.1, preserving the lower 1.0.21-beta.1 changelog entry and scrollbar implementation byte-for-byte.

  • Remove the executable-size ceiling per the maintainer's explicit policy decision. Continue reporting executable/helper byte counts and retain all model-asset, symlink, source, UI-string, symbol, signing, identity, and packaging checks.

Verification

  • 147/147 focused native tests passed, with expected/started/passed IDs checked, plus a separate 1/1 capture test covering 12 owned-window layouts at 380/800/1600 points. Five affected/regression checks passed again after the focused CI test-harness corrections.
  • Both full test graphs passed on the preceding source: 2,543 ordinary tests and 2,754 Enhanced Local tests. The ordinary job then stopped at the former size cap; complete CI on this final head remains required. Earlier intermittent search-readiness failures are not claimed fixed, and the original deadline/assertions remain intact.
  • The size-policy regression was red against the old checker and green after the change: an oversized valid compiled artifact passes even with the legacy size-limit environment variable set, while the same oversized artifact containing a forbidden model still fails with its exact path. Parent reruns passed the full model-asset fixtures, actual 19,591,608-byte baseline executable audit, no-launch/artifact-preservation contract, symbol-packaging fixtures, shell syntax, and diff whitespace checks.
  • Independent review approved the feature and prior focused corrections. A fresh independent GPT-6 Astra/xhigh reviewer approved the exact four-file size-policy patch and source-identical main reconciliation with no findings; published head is 9703e37e77f943d558744a76480e5ed513d9a511.
  • Keep finite CI runtime budgets of 60 minutes for Enhanced Local and 90 minutes for the ordinary job, which runs the full suite twice plus packaging. All tests and non-size gates remain enabled.
  • Evidence covers native fixture windows and owned-window shortcut dispatch. Actual native Find search/replace was not exercised to avoid touching the user's shared find pasteboard. Appearance profiles are fixture settings, not physical system-setting acceptance. Hosted CI remains a separate gate; this PR does not release or accept a build.

Native-window evidence

Enlarged crops of the final Text Style, Text, Paragraph, and Tools controls:

Final toolbar menu icons

Responsive layouts across light, dark, high-contrast appearance, and reduced-transparency fixtures:

Responsive toolbar layouts

Open in Capy

@exterminatorrat
exterminatorrat added this pull request to stack #59 September 17, 2026 15:37
Base automatically changed from capy/agent-activity-stable-thumb to main September 17, 2026 17:40
exterminatorrat and others added 6 commits September 18, 2026 01:46
Replace blind yields with the established bounded waitForRuntimeCondition
poll and extend the search result deadline to the 5-second convention so
the ordinary graph no longer flakes under runner load.

Co-authored-by: Harry Jin <harry2028334@concordiashanghai.org>
A transient order-out during an active live-resize drag resigned key and
immediately cancelled the drag; the deferred visibility reconcile only
cancels now when the window stays hidden, so the documented
hide/show-keeps-tracking behavior holds under load. Closing still cancels
immediately, and clicking away (visible resign) still cancels. The escape
fixture only dispatches to a live tracking session, avoiding the AppKit
key-input exception that wedged the enhanced graph.

Co-authored-by: Harry Jin <harry2028334@concordiashanghai.org>
The bounded waitForRuntimeCondition helper requires a throwing context,
so the lifecycle preemption test now throws like its sibling tests.

Co-authored-by: Harry Jin <harry2028334@concordiashanghai.org>
The drag session re-enables the hosted resize through an asynchronous
SwiftUI update; a fixed settle can outrun it under runner load and the
drag never begins. Probe the track begin with a five-second deadline so
the retained-drag fixture stays deterministic.

Co-authored-by: Harry Jin <harry2028334@concordiashanghai.org>
@exterminatorrat
exterminatorrat merged commit fdab153 into main Sep 18, 2026
2 checks passed
@exterminatorrat
exterminatorrat deleted the capy/toolbar-public-integration branch September 18, 2026 05:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant