Repository navigation
AllInOneIME 0.7.2 - #77
Merged
Merged
Conversation
Every identifier of the identity before is the new one's: the bundle IDs com.allinoneime.inputmethod.AllInOneIME (its input source ID and connection name too) and com.allinoneime.settings, the installer's, the keychain access group 9SR8N3UD5Y.com.allinoneime.shared, the log subsystem, the queue and launch agent labels. The updater installs only this identity's apps, from update-v2.json; update.json is never written again (it names 0.7.1). The bridge's Migration and the data moves of the app's first name (LegacyData) are gone: this version relies on 0.7.1 having moved the install, and tells another identity's install only by its bundle ID not being this one's (SystemIdentity). The installer asks such an install to move itself (--migrate-identity, 0.7.1); one too old to is told to update first, with Install Anyway after a warning that saved API keys must be entered again. `make install` does the same check. After the move, the input method says once which permissions macOS asks for again, on the About page with Troubleshoot outlined. The old Developer ID profile is removed (it was the old App ID's): the owner's new one goes at the same path. Core/.split-paths names the first name's folders by pattern. A test fails while the old name is in any file of the repository; the six Acceptance files that still have it are for their owner to change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CHANGELOG 0.7.2 (unreleased), both languages: the new system identity, settings and keys carried over by 0.7.1 (or an earlier version updated to it first), the permissions to allow again, Input Sources listing it under English. Old entries that named the app's first name say so without it. The READMEs (and their translations) say how an install from 0.7.1 or earlier moves, and what the bundle ID is. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…have As every text of the Mac's that names a command does (CommandTriggerTextTests). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
9SR8N3UD5Y.com.allinoneime.inputmethod.AllInOneIME, all devices, keychain groups 9SR8N3UD5Y.*, three Developer ID Application certificates; checked with Scripts/profile-entitlements.sh against this Info.plist and keychain group (`make dmg` uses it, as before). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, the cleanup record done The installed input method, at each launch and in the background (IdentityFinish): - once the version that moved has handed its cleanup record over (or stopped: 10 minutes without a change), it does the steps the record lists with the identifiers it lists alone (this version never names the identity before): the login keychain's originals of the keys handed over (each only when its handover item is there and it is still that key), the input source, the defaults domains, the apps (only those with one of the record's bundle IDs), the launch agents (only under their name) and the old group's items (left, logged, when this version isn't entitled to the group). Nothing of this identity's is ever removed, whatever the record says. Each step that succeeds goes out of the record; the record goes once it's empty. While the record isn't handed over, it waits (again every 10 seconds for 3 minutes, then the next launch); - each handover item is imported into the login keychain, where this identity creates the item (its own access list: macOS never asks for it), read back, then deleted. A key whose original is still there waits; an item there already that this identity reads is kept. The notice after the move no longer says macOS asks for the login password (the sentence out of the catalog's texts and translations). README: the move's handover and record; the Developer ID profile lists three G1 certificates; 0.7.2's update summary says which permissions are asked for again (a summary to use, also in the Makefile's comment). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rlier one goes only then macOS lets only the user add a new input method: asked to enable it, Text Input Sources says it did and changes nothing (the rehearsal of the move on a real account). While this input method's own source isn't enabled, Settings → About now shows that step first: add AllInOneIME in System Settings → Keyboard → Input Sources → + → English, with a button that opens Keyboard settings; then the permissions to allow again (the move's notice, Troubleshoot outlined once the source is added). It is looked at again when the app becomes active and when a text field activates the input method, and goes once the source is enabled as itself: a source Text Input Sources doesn't list, or files under another bundle ID (its cache keeping the earlier identity's for the path), is registered again first (`InputSourceCheck`). The cleanup record's input source is taken out (by its ID, never an entry another source is filed under) only once this one is enabled, if the user had it; until then that step stays in the record, the rest is done, and the record's step runs when the source is found enabled. The record's cache folders go too, only the user's named after one of its bundle IDs. Runs of the record are one at a time. New texts in all seven other interface languages. Tested with fakes (IdentityFinishTests: the input source waiting for this one, one the user didn't have, the caches, the check registering a source filed under another bundle ID) and the self-test's About image with the step. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… move, in plain words The one place that asks the user to add the input method (0.7.1 no longer asks macOS to enable it) is the top of Settings → About. Right after the move, with the input source not added yet, the input method now opens About on it at once, before any other page: a settings window asked for at launch (the helper's `--settings`, when Settings was open for the update) opens on About too, not General first (`SystemIdentity.firstShown`). With the source added, About with Troubleshoot outlined, as before. The step says it plainly: "One step left: add AllInOneIME — System Settings → Keyboard → Input Sources → + → English → AllInOneIME", and that AllInOneIME can't type until it's added, in all seven other interface languages. The cleanup's line about the earlier input source says what it is: it can't be used any more, its entry is kept only to be taken out once this one is added. The changelogs and READMEs say so. Tested with fakes (SystemIdentityTests: what is shown first after the move, with the source added or not, and after other launches; IdentityFinishTests: the line), the String Catalog checks, `make test` and `make update-test`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…en English doesn't list it Seen on the owner's Mac: System Settings' list of input sources to add showed the new one only after a restart. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
AllInOneIME 0.7.2: AllInOneIME's own system identity (com.allinoneime.*). 0.7.1's updater moves settings and keys over before installing it; on first launch 0.7.2 imports the login-keychain handover, finishes the cleanup record, and shows the one step left (add the input source under English) and the permissions to allow again. No "aipinyin" remains in the repository (OldNameTests).
Tested: make test, make update-test, make app; a real rehearsal 0.7.0 → 0.7.1 → 0.7.2 on a separate Mac's account; the owner's Mac moved and cleaned.
🤖 Generated with Claude Code