feat(webapp): prompt to clear TRIGGER_VERSION on disabling Vercel atomic deployments#3666
Conversation
…mic deployments Show the currently pinned TRIGGER_VERSION env var on Vercel production under the Atomic deployments toggle on the Vercel integration settings page. When the user disables atomic deployments and a pinned version is present, show a confirmation modal on Save asking whether to also clear TRIGGER_VERSION from Vercel. Leaving it pinned without atomic deployments means future Vercel deploys silently keep using the old version, so the modal makes the choice explicit. Also mark TRIGGER_SECRET_KEY writes to Vercel as `sensitive` instead of `encrypted` so the API key value can no longer be read back from the Vercel dashboard or API once written. Existing encrypted keys retain their type until recreated (Vercel rejects in-place type changes); TODOs flag the edit-based call sites for a follow-up.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (5)
🚧 Files skipped from review as they are similar to previous changes (3)
📜 Recent review details⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (11)
🧰 Additional context used📓 Path-based instructions (7)**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
{packages/core,apps/webapp}/**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.{ts,tsx,js,jsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.ts📄 CodeRabbit inference engine (.cursor/rules/otel-metrics.mdc)
Files:
apps/webapp/**/*.{ts,tsx}📄 CodeRabbit inference engine (.cursor/rules/webapp.mdc)
Files:
apps/webapp/**/*.server.ts📄 CodeRabbit inference engine (apps/webapp/CLAUDE.md)
Files:
**/*.{js,jsx,ts,tsx,json,md,yml,yaml}📄 CodeRabbit inference engine (AGENTS.md)
Files:
🧠 Learnings (7)📚 Learning: 2026-03-22T13:26:12.060ZApplied to files:
📚 Learning: 2026-03-22T19:24:14.403ZApplied to files:
📚 Learning: 2026-05-18T08:21:27.694ZApplied to files:
📚 Learning: 2026-05-18T08:21:27.694ZApplied to files:
📚 Learning: 2026-05-05T09:38:02.512ZApplied to files:
📚 Learning: 2026-05-12T21:04:05.815ZApplied to files:
📚 Learning: 2026-03-26T09:02:07.973ZApplied to files:
🔇 Additional comments (6)
WalkthroughThis PR extends Vercel Atomic deployments settings to display the currently pinned Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Always delete-then-create in upsertVercelEnvVar and upsertEnvVarForCustomEnvironment. Vercel rejects in-place type changes (e.g. encrypted -> sensitive) on editProjectEnv, so the regenerate-API-key and staging-key-remap flows would silently keep the prior type. Drop editProjectEnv entirely; existing var (if any) is removed via batchRemoveProjectEnv and then created fresh, matching the precedent already in syncApiKeysToVercel. - Distinguish a Vercel read failure from "no pin set" in the VercelSettingsPresenter. Add currentTriggerVersionFetchFailed through the loader to the form; the disable- atomic confirmation modal now triggers in both the known-pinned and unknown cases, with copy adapted to ask the user to verify manually when the lookup failed. - clearTriggerVersionFromVercelProduction returns Promise<boolean>. Route surfaces a partial-success message when the delete fails so users know to clear the env var manually instead of seeing a misleading success toast. - Replace raw "true"/"false" string sentinels for clearTriggerVersion with named constants used consistently across the zod transform, the hidden input default, and the modal submit helper.
Uh oh!
There was an error while loading. Please reload this page.