Card 465 is fixed. (+59/−12, +0 mod, tests +1 test files(ts)) #27
Loading…
Reference in a new issue
No description provided.
Delete branch "build/5dda1370"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What changed
code: src/lib/update.ts and src/main.ts; 4 files; selfupdate and update cases (+243/−18)
build/5dda1370→main— 8 file(s), +243/−18.source: 2 file(s), +59/−12
other: 4 file(s), +6/−5
tests: 2 file(s), +178/−1
manifest.jsonpackage-lock.jsonpackage.jsonsrc/lib/update.tssrc/main.tstest/selfupdate.test.tstest/update.test.tsversions.jsonGrowth
Why
Joel, card 465 is fixed. The update button no longer loops, and the plugin is bumped to 0.4.3 so it publishes. The gate passed:
npm run gateran 299 tests, all passing, with the type check and build check green. I had no way to run Obsidian from here, so the fix is proven by tests on the real plugin code against a fake plugin manager, not by a click in Obsidian. The first time you'll see it work for real is the 0.4.2 → 0.4.3 update.Obsidian now re-reads the plugin manifests during the reload
When the plugin reloads itself after an update, it now turns itself off, has Obsidian re-read the plugin manifests from disk (
app.plugins.loadManifests()), then turns itself back on. Before, Obsidian rebuilt the plugin from the manifest it had cached at startup, so the new code ran under the old version number. That's why your row still said 0.4.0 and offered 0.4.1 again.loadManifests: the plugin doesn't reload itself at all. A half-reload would come back under the old number. Instead you get a notice: restart Obsidian, or turn the plugin off and on.The row can no longer offer what's already installed […]
Gate
npm run gateran 299 tests in 4.7s and exited 0 — green.Flow engine
Built by Connor's frontend backburner (dispatch
5dda1370) in an isolated clone; shipped deterministically byship.py. The full build notes were spoken in conversation and stored in memory (agent-dispatch:5dda1370). Review is the gate.The brief this build was given
Kept for provenance. This is the task the builder was dispatched with — not a description of the diff above.
675ab31f, ~line 898): after…Independent review — reviewer-bot (local model
qwen2.5-coder:14b)The PR fixes the update loop issue by ensuring the plugin re-reads manifests after an update. It also adds tests to verify the behavior.
Suggestions (non-blocking)
src/lib/update.ts:178— Consider adding a comment explaining whyinstalledis checked beforeisNewer.src/main.ts:902— Add logging to help debug issues with manifest re-reading.