这个版本更新了什么#
chore(release): v0.1.18
The Homebrew name is now mochi-app#
brew install --cask xiaolai/tap/mochi-app
Homebrew's own cask index carries a different mochi — a flashcards app from
mochi.cards — and the Caskroom is keyed by BARE token, so while this shipped as
mochi the two were one entry to Homebrew. Whichever you upgraded last replaced
the other's /Applications/Mochi.app, in either direction, with no error to
notice. Cask upgrades compare versions for inequality, not order, so neither
direction counts as a downgrade to Homebrew and nothing warns you.
It was documented at length, and that was not enough: the command that triggered
it was the correct, fully-qualified one, run by somebody who had read the
warning. A hazard on the documented happy path is not a documentation problem.
The app is unchanged — still called Mochi, still Mochi.app, same bundle
identifier, same data. Only the Homebrew token moved.
If you installed before this, you are under the old token and it is two
commands:
brew uninstall --cask mochi
brew install --cask xiaolai/tap/mochi-app
Uninstall is not zap: your characters, transcripts and memory are untouched,
and the new install finds all of it.
Nothing else changed for you#
There is no behaviour change in the application in this release. The rest is underneath, and it is written down here because it is the kind of thing that only ever surfaces as a bug report months later.
Underneath#
Every channel between the window and the machine now declares what it answers
with, in one table both ends read. Before, ipcMain.handle returned unknown
and the window's side was a cast, so a field added to one shape and forgotten on
the other compiled cleanly on both sides and arrived missing — nothing thrown,
nothing red, and the screen looking right until something read a value that was
never sent. Three channels were in exactly that state.
Measured rather than argued: a required field added to the three shapes produced
no compiler error anywhere in the project. It now fails to build.
The first attempt at this was a test that read the source and checked every
handler declared its type. It found the three, and its own first version could
not have failed — it parsed twenty-four of twenty-eight handlers, and every one
(更新说明有删节,完整内容见下方链接。)
以上是作者写在 GitHub 上的英文更新说明原文,未经翻译。查看原页面