Skip to content

AllInOneIME 0.7.2.1 - #79

Merged
melatonin98034 merged 12 commits into
mainlinefrom
release-0.7.2.1
Nov 9, 2026
Merged

melatonin98034 merged 12 commits into
mainlinefrom
release-0.7.2.1

Conversation

@melatonin98034

Copy link
Copy Markdown
Collaborator

AllInOneIME 0.7.2.1, replacing 0.7.2: finds itself by bundle ID at either folder name, never enables the input source by program (no System Settings popping up), plus #72 and #73. Tested: make test, make update-test (0.7.2 → 0.7.2.1, 0.7.1.1 → 0.7.2.1), a real rehearsal.

🤖 Generated with Claude Code

weijianz and others added 12 commits November 8, 2026 16:31
… or kept after config.json is rewritten

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
French's Keyboard layout picker changed only the window's settings, with
no save after it, so French kept typing AZERTY until something else was
saved, and the pick was lost if config.json was rewritten first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…usy test run

PanelPointerTests waited 5 s for autocomplete's suggestion. In a whole
test run, with the input method compiled for each issue suite, it takes
longer, so the suite failed only in full runs. 15 s, as
CommandSuggestionsSessionTests waits for the same reason.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
French keyboard layout picked in Settings isn't saved or applied (#73)
…'s settings and resets autocomplete's apps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ords or resets autocomplete's apps

While the file doesn't parse the session reads the defaults, which aren't
the user's settings. A word learned meanwhile is now held in memory with
its app, and learned only once the file parses and allows it (learning
on, AI in that app, no hidden word in it). Autocomplete's switch is seen
only from a file that parses, so a break no longer counts a switch or
starts every app over.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Broken config.json: defaults learn English words and reset autocomplete apps (#72)
…new installs, AllInOneIME.app kept

0.7.2 users have the input method in ~/Library/Input Methods/AllInOneIME.app
(0.7.1 put it there); 0.7.1.1 puts it in AllInOneIME Input.app, a path
no version with the earlier identity had (Text Input Sources files an
input method by its path). This version runs and updates from either,
and never names a fixed folder:

- Updater.installedInputMethod (AllInOneIMEMac): the app in the folder
  with this bundle ID, whatever its name; with several, the running one,
  else AllInOneIME Input.app. Updater.inputMethodName stays the folder's
  name in an update archive and a build; Updater.installedInputMethodName
  is where a new install goes.
- UpdateLocations.inputMethod: this process's own bundle when it is the
  installed one, else the lookup, found once; the helper swaps the apps
  there, so an update keeps the folder it finds (a same-identity path
  keeps its correct cache entry).
- AllInOneIME Settings opens the input method found the same way (the
  "not installed" text no longer names a folder: new catalog entry, 7
  translations).
- The installer: this identity's install wherever it is; an earlier
  identity's in AllInOneIME.app (moved by its own --migrate-identity, then
  found again by bundle ID; or, installed anyway, moved out of Input
  Methods for the new path). New installs go to AllInOneIME Input.app.
  Uninstall removes every copy with this bundle ID.
- make install/uninstall/status/install-pack: Scripts/installed-input-method.sh
  (the same lookup, run where it's used: the move puts the app in place).
- README, docs/extensions.md and the translated READMEs: the command line's
  path; the identity section says where the input method goes and why.

Tests: UpdateInstallTests (found at either path, under another name, the
earlier identity's never, which of two), IdentityHandoverTests (0.7.1.1's
record with its copy of the entries reads), make update-test (updates,
rollbacks and the lookup with the install in AllInOneIME Input.app and in
AllInOneIME.app; the folder is kept).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
CHANGELOG 0.7.3: new installs in AllInOneIME Input.app, 0.7.2's kept where
it is.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The pipeline's fix since 41755f1: a config.json that doesn't parse no
longer learns English words or resets autocomplete's apps (#72). Both
changelogs get its line under Fixed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The owner's call: no 0.7.3 now; this branch ships as 0.7.2.1, build 27
kept. AppVersion and the three plists; both changelogs' "0.7.3" section
is now "0.7.2.1" (unreleased), with the pipeline's #72 and #73 lines in
it; SystemIdentityTests name 0.7.2.1 as the version after 0.7.2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…gram

Asked to enable a third-party input method the user hasn't added,
Text Input Sources enables nothing and opens System Settings → Keyboard
by itself, with no window of AllInOneIME's saying why: the rehearsal saw
it after same-identity updates (the helper runs the new copy's
--register), and the installer and make install run it too. --register
now registers the input source and waits for it; enabled already (the
user added it), it keeps it in the user's input sources as before, and
its selection is Text Input Sources' own (kept). Never enabled, never
selected by it: what it prints for a source still to add no longer says
Keyboard settings should have opened (new catalog entry, 7
translations; the old one stale).

The installer's and README's text follow: the user adds the input source
once (the installer's step with its button, About's step), and an update
or installing again keeps it. CHANGELOG 0.7.2.1 (en/zh) under Fixed.

The Troubleshoot fix "Enable Input Method" (@doctor) still asks
Text Input Sources to enable it: a fix the user picks, not touched here.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@melatonin98034
melatonin98034 merged commit 60a9bc2 into mainline Nov 9, 2026
4 checks passed
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