Repository navigation
fix(sim-setup): stop doctor --fix from turning ${VAR} references into literals - #9868
Conversation
…vive doctor --fix
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
[Medium impact] The PR appears safe to merge; no new actionable issues remain. SummaryPrevents
All four earlier, unnumbered findings are addressed by the current code. Reviews (4) · Last reviewed commit: "fix(sim-setup): give a placeholder share..." · Reviewed by Greptile |
There was a problem hiding this comment.
All reported issues were addressed across 4 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
…ng them, drop the single-quote rewrite
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 4 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
… report unwritable values instead of aborting
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
There was a problem hiding this comment.
All reported issues were addressed across 4 files
Reply with feedback, questions, or to request a fix.
Turn on auto-fix | Re-trigger cubic
|
@cubic-dev-ai review this PR |
@waleedlatif1 I have started the AI code review. It will take a few minutes to complete. |
Summary
doctor --fixmirrors values fromapps/sim/.envinto the realtime and db env files. Since fix(sim-setup): quote env values containing $ so dotenv, Bun, and Compose don't expand them #9861 it escaped a hand-written${VAR}reference into the literal"\${VAR}", so the copy stopped expanding$reference is no longer auto-mirrored. Copied to another file, a reference resolves against that file's variables, so neither a literal copy nor a verbatim copy is safe. The consistency finding now says to copy it, and the variables it uses, by hand. Seeding a new file and the missing-key autofix skip these values tooupsertEnvcannot write safely, such as a$mixed with a backslash. Every copy path checks it first: seeding, the missing-key fix, and both consistency mirrors. Doctor reports these values instead of throwing, and never generates a shared secret in place of one it couldn't copy$reference is involved, so it catches a file an earlier--fixalready escaped. Plain values, including escaped\$literals, mirror exactly as beforeresetwith Docker stopped and no install detected also suggests switching kubectl to the cluster's context, since an undetected Kubernetes install looks the sameType of Change
Testing
checks.test.tsruns doctor's real consistency autofixes against env files in a temp root:${VAR}DATABASE_URL against a different URL${VAR}DATABASE_URL against the same reference already escaped into a literal${VAR}DATABASE_URL written the same way in both files\$-plus-backslash valuechecks,env-filesandlifecycletests pass 33/33; the last two fail on the previous commitbun run type-checkin packages/sim-setup, biome,check:unused-exports; full suite in CIChecklist
test-auditauthoring gate)🤖 Generated with Claude Code