Skip to content

feat: add update channel selector (Default / Early Access) to Settings#121

Open
theblondealex wants to merge 4 commits intocollaborator-ai:mainfrom
theblondealex:feat/update-channel-selector
Open

feat: add update channel selector (Default / Early Access) to Settings#121
theblondealex wants to merge 4 commits intocollaborator-ai:mainfrom
theblondealex:feat/update-channel-selector

Conversation

@theblondealex
Copy link
Copy Markdown
Contributor

Why?

I wanted to try the latest "pre-release" but it doesnt appear via auto update, similar to cursor this adds a small enable beta pre release access in the collaborator settings

Summary

  • Adds an Update Access dropdown to Settings → Appearance, mirroring Cursor's update channel UI
  • Two options: Default (stable releases only) and Early Access (includes pre-releases)
  • Selection persists to ~/.collaborator/config.json and applies immediately — no restart required

How it works

electron-updater already supports allowPrerelease natively. This PR wires it up end-to-end:

  • UpdateManager.init() reads the stored updateChannel pref on startup and sets autoUpdater.allowPrerelease
  • New setAllowPrerelease() method updates the flag live and immediately re-triggers an update check
  • New update:setChannel IPC handler bridges renderer → main
  • Shell preload exposes updateSetChannel()
  • Settings AppearancePane reads/writes the pref and calls updateSetChannel on change

Test plan

  • Open Settings → Appearance → confirm "Update Access" row appears with "Default" selected
  • Switch to "Early Access" → check main process logs for [updater] re-check
  • Quit and relaunch → confirm "Early Access" selection persists
  • Switch back to "Default" → confirm re-check fires and pre-release is no longer offered

theblondealex and others added 4 commits April 7, 2026 00:39
Adds an "Update Access" dropdown to Settings > Appearance that lets
users opt into Early Access (pre-release) builds. Mirrors Cursor's
update access UI pattern with "Default" and "Early Access" options.

- UpdateManager.init() accepts allowPrerelease, applied to autoUpdater
- New setAllowPrerelease() method updates the flag live and re-checks
- IPC handler update:setChannel wires renderer → main
- Shell preload exposes updateSetChannel()
- Settings AppearancePane reads/writes updateChannel pref and calls
  updateSetChannel to apply immediately without a restart
Adds an "Update Access" dropdown to Settings > Appearance that lets
users opt into Early Access (pre-release) builds. Mirrors Cursor's
update access UI pattern with "Default" and "Early Access" options.

- UpdateManager.init() accepts allowPrerelease, applied to autoUpdater
- New setAllowPrerelease() method updates the flag live and re-checks
- IPC handler update:setChannel wires renderer → main
- Shell preload exposes updateSetChannel()
- Settings AppearancePane reads/writes updateChannel pref and calls
  updateSetChannel to apply immediately without a restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants