Feat: per-window layout memory & Accessibility startup gate - #128
Feat: per-window layout memory & Accessibility startup gate#128dranik-by wants to merge 4 commits into
Conversation
runjuu
left a comment
There was a problem hiding this comment.
Found several blocking regressions that should be addressed before merging:
-
[P1] Restore the indicator controller and event subscription.
AppDelegateno longer createsIndicatorWindowController, and the controller no longer subscribes toactivateEventPublisher. As a result, the on-screen indicator, including always-on, auto-show, shortcut, and function-key indicators, can never appear. -
[P1] Use a stable persisted key for normal-app memory. Normal-app cache keys are written as
bundle#pid#window, but process IDs and CG window numbers change when the target application restarts.retrievesupports a bundle fallback, yetsavenever writes that fallback. Layout memory therefore cannot survive a target-app or Mac restart, and unreachable entries accumulate over time. -
[P1] Do not silently enable restore-previously-used during migration. Every profile without
ISPEnableRestorePreviouslyUsed.v1, including existing users who intentionally disabled the feature, is changed fromfalsetotrue. This unexpectedly changes input-source switching behavior. -
[P2] Remove
com.apple.security.cs.disable-library-validationunless it is demonstrably required. The entitlement weakens the hardened runtime, while this PR does not add an unsigned-library or plugin-loading requirement. -
[P2] Keep the shared scheme Run action on Debug. Changing
LaunchActionto Release makes normal Cmd+R launches optimized and excludes DEBUG behavior, which impairs development and debugging.
Verification: xcodebuild -scheme "Input Source Pro" -configuration Debug -destination "platform=macOS" CODE_SIGNING_ALLOWED=NO test succeeded with all 66 tests passing. The current tests do not cover indicator construction or persistence across a target-app relaunch.
No description provided.