Repository navigation
Split the largest app files and run tests on pull requests - #3
Merged
Merged
Conversation
Inklet is wired to OpenAI only, so the Anthropic, Gemini and OpenAI-compatible providers, their presets, the provider factory and the custom endpoint setting were unreachable. Saved configs that still carry the old keys keep decoding and fall back to OpenAI. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DzisdHuvFVePscX66cn3Lw
The full suite previously ran only inside the DMG release workflow, so a broken test surfaced at release time. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DzisdHuvFVePscX66cn3Lw
The Translate and Pronounce flow (selection reads, translation, speech, copy feedback and their task bookkeeping) now lives in SelectionActionsController. AppCoordinator wires it up, reports its idle state to migration and update gating, and drives its shutdown and maintenance steps in the same order as before. Source tests that pin the selection invariants now read the new file. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DzisdHuvFVePscX66cn3Lw
wanming
force-pushed
the
claude/project-thread-oj33qx
branch
from
October 4, 2026 23:02
bce870c to
8b6dc73
Compare
SettingsViewModel and the notification names move to SettingsViewModel.swift, and the AppKit-backed prompt mode table, prompt editor and hotkey recorder move to SettingsControls.swift. SettingsView.swift keeps the SwiftUI layout. The unused private PromptMode.builtInIDs set is dropped. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DzisdHuvFVePscX66cn3Lw
InkletPopoverViewModel moves to its own file, and the AppKit text editor and key handling (InkletTextView, its container and native text view, PopoverKeyEventHandler) move to InkletTextView.swift. InkletPopoverView.swift keeps the SwiftUI layout. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DzisdHuvFVePscX66cn3Lw
Reverts "Remove unused non-OpenAI providers". Letting users choose a provider is planned, so the presets, providers, factory and custom endpoint setting stay. Call sites are restored in their new files. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DzisdHuvFVePscX66cn3Lw
wanming
marked this pull request as ready for review
October 4, 2026 23:14
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Tom · project thread
Before:
SettingsView.swift(2,650 lines),InkletPopoverView.swift(1,897) andAppCoordinator.swift(1,437) each mixed several jobs. The unit tests ran only during DMG release builds.After: each large file is split by what it does, with no change to app behavior, and every pull request runs the full test suite.
How:
.github/workflows/test.yml(swift teston macOS 15) and updates both READMEs.SelectionActionsController.AppCoordinator(1,437 → ~920 lines) wires it up and runs shutdown and migration maintenance in the same order as before.SettingsViewModel.swift,SettingsView.swift(layout) andSettingsControls.swift(AppKit table, prompt editor, hotkey recorder).InkletPopoverViewModel.swift,InkletPopoverView.swift(layout) andInkletTextView.swift(AppKit text editor and key handling).Code was moved verbatim. Visibility only widened where a type now crosses files, and the unused private
PromptMode.builtInIDsset was dropped. Many existing tests check the source text of these files; they now read the new files, so every invariant they guarded still applies.The branch first removed the unused non-OpenAI provider code, then restored it because provider choice is planned. Net, the provider code is unchanged from
main.Manual QA worth a quick pass: open the writing popover, then transform and insert text; use Translate and Pronounce on a selection; check that Settings panels, prompt-mode reordering and the hotkey recorder still work; quit while a translation is running.
🤖 Generated with Claude Code
https://claude.ai/code/session_01DzisdHuvFVePscX66cn3Lw