fix(desktop): release builds keep profile-switch publications — nanostores 1.4.2 (salvage #89690) - #89875
Merged
Merged
Conversation
…stores 1.4.2) nanostores 1.4.0-1.4.1 annotate batch() @__NO_SIDE_EFFECTS__. Rollup (via vite build) honors that and erases a result-unused batch(...) call as dead code -- callback included. Since d57f94a/053eb7aab/4e520f085 moved the gateway-switch publication (activate() + + ) inside batch(), packaged desktop builds lost the entire publication: clicking a profile in the rail did nothing at all. Dev builds and vitest run unminified, so only the packaged app broke. nanostores 1.4.2 removes the annotation from batch() (it stays on the creation functions, where it is correct). Bump all three pinned copies (apps/desktop, apps/bootstrap-installer, ui-tui) and add a regression test asserting the installed nanostores never re-annotates batch.
This was referenced Aug 19, 2026
This was referenced Aug 20, 2026
Open
[Architecture] Treat built artifacts and real protocol peers as part of the system under test
#90150
Open
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.
Summary
Release (minified) desktop builds get their profile-switch publications back: bumps nanostores 1.4.0 → 1.4.2 everywhere it's pinned. Salvaged from #89690 (@royzhrxy-glitch) with authorship preserved — his find, from a minified bundle diff.
Root cause (verified in an isolated repro AND our own build artifacts): nanostores 1.4.0 annotates
batch()with/* @__NO_SIDE_EFFECTS__ */. Rollup honors it duringvite buildand deletes any result-unusedbatch(...)call — callback included — from release bundles. Dev builds and vitest run unminified, which is why the #89483 series tested green while shipping a dead profile switcher (#89622), and why the just-merged #89797's$connectiondescriptor sync (the #46651 half) was dead code in packaged builds. 1.4.2 removes the annotation frombatch(it stays on the pure creation functions, where it's correct).Changes
apps/desktop/package.json,apps/bootstrap-installer/package.json,ui-tui/package.json: nanostores 1.4.0 → 1.4.2 (+ lock entries)apps/desktop/src/store/nanostores-batch-guard.test.ts(contributor's): CI fails if a purity annotation ever returns tobatchcontributors/emails/: attribution mappingValidation
profile-*.jsafter bumpbatch()publication present (was absent on 1.4.0)Infographic
Not included: FAL image account balance exhausted at PR time (
User is locked. Exhausted balance). Can be added viagh pr editafter top-up.