Repository navigation
chore(app): pnpm local puts this checkout over the installed Botloft - #84
Merged
Merged
Conversation
Trying main on the real install meant building the installer, publishing or copying it, and running it. `pnpm local` builds botloftd and the app for release (tauri build --no-bundle, so the UI is embedded), closes the installed app, keeps the two exes it replaces in local-backup, copies the new ones in, runs `service install` against the real home (the task then runs the new daemon) and reopens the app. `--no-build` installs the last build; `--restore` puts back the previous one.
httpsphl
enabled auto-merge
October 1, 2026 02:00
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.
Why
Trying what is on
mainin the Botloft I actually use meant building the NSIS installer, getting it onto the machine and running it.pnpm localdoes it in one step and needs no installer or release.What
app/scripts/local.mjsdoesbotloftd(cargo build --release -p botloftd) and the app (pnpm tauri build --no-bundle), which embeds the UI.HKCU\Software\Botloft\Botloft(written byhooks.nsh), falling back to%LOCALAPPDATA%\Botloft.Botloft.exe. Its exe is locked while it runs; the daemon keeps the bots going meanwhile.local-backup\, then copies the new ones in.botloftd.exe --home %LOCALAPPDATA%\Botloft service install, withBOTLOFT_HOMEremoved so a dev shell cannot point it at the dev home. This copies the daemon tobin\, restarts theBotlofttask and waits for/healthto report the new version (spec 14).start, so it holds no handles of the terminal.Options:
pnpm local --no-buildinstalls what the last build left intarget/release.pnpm local --restoreputs back the previous exes.CLAUDE.mddocuments the command and its caveat: it uses the real data. New migrations run on the real database, and an older daemon then refuses to open it (StoreError::TooNew). The updater still offers any higher release version.Checked
I ran it on my install, going from 0.6.0 to
main(0.7.0):local-backup\;bin\;/healthreports0.7.0, and the log shows a clean start with the migrations applied;