Uh oh!
There was an error while loading. Please reload this page.
fix: sync declarative schedules on deployment rollback - #3468
Conversation
When rolling back a deployment via ChangeCurrentDeploymentService, declarative schedules were not being synced to match the rolled-back deployment's worker metadata. This caused schedules to remain as configured by the most recent deployment instead of reflecting the target deployment's schedule configuration. The fix adds a call to syncDeclarativeSchedules after the deployment promotion is updated, using the target deployment's worker metadata to restore the correct schedule state. Co-Authored-By: nick <55853254+nicktrn@users.noreply.github.com>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
Co-Authored-By: nick <55853254+nicktrn@users.noreply.github.com>
nicktrn
commented
Apr 29, 2026
ready |
Uh oh!
There was an error while loading. Please reload this page.
## Summary Delete 34 `.server-changes/*.md` files that should have been cleaned up automatically when v4.4.5 (#3406) was merged but were stranded by a workflow race. ## Why these are stale The `update-lockfile` job in `.github/workflows/changesets-pr.yml` is what cleans up consumed `.server-changes/*.md` files on the release branch. When v4.4.5 was merged on 2026-05-01, the post-merge workflow run on `main` failed at `pnpm install --frozen-lockfile` (stale lockfile in the merge commit), and `cancel-in-progress: true` cancelled the in-flight run from the previous push — so `update-lockfile` never reached the cleanup step. Result: the 34 files described changes that v4.4.5 already shipped, and they were re-appearing in the v4.4.6 release PR (#3501) under "Server changes" plus showing up as deletions in its diff. ## What this PR keeps - `fix-rollback-schedule-sync.md` — genuinely new for v4.4.6 (#3468), the only server change introduced after v4.4.5 - `README.md`, `.gitkeep` — directory infrastructure - `dev-cli-disconnect-md` — leaving alone (typo'd filename from March, no `.md` extension, not picked up by the cleanup glob anyway) ## After merge The next run of `changesets-pr.yml` will refresh #3501 with a "Server changes" section that only lists the v4.4.6 entry, and the only `.server-changes/` deletion in its diff will be `fix-rollback-schedule-sync.md`. ## Related - #3505 is the proper underlying fix — collapses the three-job graph into a single atomic commit by `changesets/action` so this race can't strand the cleanup again. This PR is just the one-time catch-up for the files that already got stranded.
✅ Checklist
Testing
ChangeCurrentDeploymentService) and confirmed it was missing schedule syncChangeCurrentDeploymentService(UI rollback, UI promote, API promote, finalize deployment) are now coveredpnpm run typecheck --filter webapp— passes cleanlyChangelog
When rolling back (or manually promoting) a deployment, declarative schedules were not being synced to match the target deployment's worker metadata. Schedules remained as configured by the most recent deployment rather than reflecting the target version's schedule configuration.
This fix adds a call to
syncDeclarativeSchedulesinChangeCurrentDeploymentServiceafter the deployment promotion is updated. It parses the target deployment's storedBackgroundWorkerMetadatato restore the correct schedule state. This covers both rollback and promote paths (UI and API). Errors are handled gracefully so they don't block the deployment change itself.Screenshots
N/A — backend-only change.
💯
Link to Devin session: https://app.devin.ai/sessions/0debf012b58c4132be778f8ea88cd2b6