Repository navigation
fix(desktop): install v0.2.0 from a desktop built on main, which reads shared and toolkit manifests it does not have - #823
Conversation
… shared or toolkit manifest CopilotKit#784 added shared and toolkit to the packages whose manifests preparation reads, but the latest release, v0.2.0, predates it: shared is plain source and there is no toolkit. A desktop built from main failed every new install with 'shared/package.json: No such file or directory'. Those two are now read only when the release has them; the four every release has stay required.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
guidovizoso
left a comment
There was a problem hiding this comment.
Unblocks installs from main. Fine to land even though it goes moot after the next release.
|
@guidovizoso merged main to clear a CHANGELOG conflict with #822 (kept both entries, no code change). The push dismissed your approval under the stale-review rule, could you re-approve? |
guidovizoso
left a comment
There was a problem hiding this comment.
Re-approving: the merge only resolved the CHANGELOG conflict with #822; the preparation.rs change is identical to what I approved.
What this changes
A desktop app built from
maincannot install the latest release, v0.2.0. Every new install stops at "Installing OpenBot":This PR:
shared/package.jsonandtoolkit/package.jsononly when the release has them (preparation::packages), for both the dependency fingerprint and the installed-package check;server,app,worker) required, so a damaged download still fails Install;a_release_from_before_the_toolkit_needs_no_shared_or_toolkit_manifest, which lays out the v0.2.0 shape and the current shape and checks both.Root cause
6fb38c8, "Move the turn engine into @openbot/toolkit") changedpreparation::PACKAGESfrom["", "server", "app", "worker"]to add"shared"and"toolkit", because onmainboth are now workspace packages with their ownpackage.json.deployment_release::resolve_versionreadsreleases/latest). v0.2.0 was tagged before Move the turn engine into @openbot/toolkit, and split the largest server files #784: in itshared/is plain source with nopackage.json, and there is notoolkit/.dependency_fingerprintandpackage_filesread every manifest inPACKAGESand fail on the first missing one.mainat74051c1: the install folder hasshared/with source files and no manifest, notoolkit/, and the stamp reads{"version":"v0.2.0",…}.git cat-file -e v0.2.0:shared/package.jsonandv0.2.0:toolkit/package.jsonboth fail; both exist onmain. With this change the same install completes.PACKAGESitself, so the fixture always has every manifest the code asks for. Nothing installs the real latest release with a desktop built frommain, and the next release will contain both packages, so the gap only exists between Move the turn engine into @openbot/toolkit, and split the largest server files #784 and that release.LATER_PACKAGESthe same way.Where it runs
Boundary and audit
Changelog
CHANGELOG.mdunderUnreleased("A new desktop install of v0.2.0 gets past Install again").