3115e202c7c8df9afd357df6453747dff9d148a5
The private key and certificate fields kept TextEditor's own opaque control background, which inside a grouped Form reads as a white card sitting on the section rather than as part of it. Hiding it puts them on the same footing as the skill editor's fields. Fix the prompt alignment that removing the box exposed. The overlay carried `.padding(.top, 8)`, but TextEditor insets its text container by its line fragment padding horizontally and by nothing vertically, so the prompt stood a line below the caret it was standing in for. Measured offscreen: leading 5, top 0 — the same inset the composer prompt in ConversationViews uses, now a named constant. Both sections repeated their own title in a row above the editor next to the Choose button. With no box left for that row to attach to it read as a second heading, so the button moves to the trailing edge of the section header, matching the Targets section in the snippet editor. The certificate editor gains the accessibility label its removed label row had been standing in for, and the private key editor gains a prompt, since an empty unboxed field is otherwise an unmarked gap in the form. Verification: build succeeds; check-zh-localization.sh passes; swift-format reports only the findings this file already had on main. The failing suites in the test run (ChatComposerStateTests, ColorSystemTests, WindowStateTests) fail identically on a clean HEAD and are untouched by this change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Description
AI-driven remote workspace for Mac, iPhone, and iPad.
https://termind.akinokaede.com
23 MiB
0 Stars
1 Watchers
0 Forks
Languages
Swift
98.9%
Python
0.8%
Ruby
0.3%