Add nightly build support#3623
Open
wojtekn wants to merge 2 commits into
Open
Conversation
- Enable automatic update polling for dev/nightly builds (previously disabled) - Add 24-hour TTL for nightly update checks stored in app.json to avoid checking on every launch - Extract buildUpdateFeedUrl() helper and add channel param support so the nightly channel can be requested from the update endpoint - Add maybePromptNightlySwitch() which detects signed-in Automatticians on stable builds and offers a one-time prompt to switch to nightly, with a "Don't ask again" option - On accepting, switchToNightlyAndUpdate() points autoUpdater at the nightly channel feed and triggers an immediate update using the existing Electron update flow - Add hourly poller to catch users who sign in after app launch
Collaborator
📊 Performance Test ResultsComparing 32d37b8 vs trunk app-size
site-editor
site-startup
Results are median values from multiple test runs. Legend: 🟢 Improvement (faster) | 🔴 Regression (slower) | ⚪ No change (<50ms diff) |
1 task
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.
Related issues
How AI was used in this PR
Claude helped implement the changes. All code was reviewed and iterated on by the author.
Proposed Changes
app.json(lastNightlyUpdateCheck) so the check fires at most once per day rather than on every launchbuildUpdateFeedUrl({ channel? })— extracted helper replacing the duplicated inline URL construction insetupUpdatesandpollLinuxUpdates; adds optionalchannelparam supportswitchToNightlyAndUpdate()— exported fromupdates.ts; pointsautoUpdaterat?channel=nightlyfeed and triggers an immediate check, letting Electron's existing update flow handle download and the restart prompt. On Linux, callspollLinuxUpdates({ channel: 'nightly' })directlymaybePromptNightlySwitch()— detects signed-in Automatticians on stable builds via/rest/v1.2/read/teams, shows a one-time prompt offering to switch to nightly with a "Don't ask again" checkbox. On accept, callsswitchToNightlyAndUpdate()directly — no manual download neededstartNightlyPromptPoller()re-runs the check every hour to catch users who sign in after launchTesting Instructions
This PR requires sandboxing against 220097-ghe-Automattic/wpcom for the
channel=nightlyendpoint support.To test with the sandbox:
To test nightly auto-update polling:
lastNightlyUpdateCheckin~/.studio/app.json)Pre-merge Checklist