AI agents can produce a desktop feature in minutes, but testing it often still means checking out the PR branch, building the app locally and running it by hand. That slows feedback, puts off non-developers such as Product Owners, and tempts people to merge without really trying the change.
Instead, build every PR as a pre-release and let testers switch the installed app to that PR's build from Settings. No local branch juggling or manual builds required.
❌ Figure: Bad example - Bad example - Manual local branch switching, building, and running every time you want to test a change
✅ Figure: Good example - Good example - Switch your desktop app to a PR pre-release in Settings, install, and test in the real app
beta.200 for PR #200)Tip: Keep PRs small. Small PR pre-releases make investigation and rollback simpler.
Every push to the PR triggers a new build, so testers always get the latest commit:
opened, synchronize and reopened, and cancels any build still running for an older commit0.4.4-beta.200.1763605458 (base version, PR number, timestamp), so the updater always sees it as newer. The previous pre-release for that PR is deletedThe delay is the CI build time plus the polling interval. If a build fails, no new pre-release appears, so check the PR's CI status when a change doesn't show up.
The pattern isn't specific to JavaScript. You need two things: CI that publishes each PR build to its own channel, and an updater that can switch channels at runtime.
ExplicitChannel and AllowVersionDowngrade