fix(deck): direct kiosk launcher + strip single-quoted Infisical values#277
Conversation
Both found during live Deck bring-up. - protopen-kiosk.sh: the file:// "starting…" splash polled the backend with a fetch() — but Chromium blocks file://→http fetches, so it never advanced and stranded the kiosk on the splash. Replace with a bash curl wait-loop, then open Chromium directly at the app (curl has no CORS issue; backend is usually already up via the lingering unit). - protopen-runtime-run.sh: Infisical's dotenv export single-quotes its values, but the quote-strip sed only handled double quotes — so --with-infisical injected OPENAI_API_KEY='sk-…' (with quotes) and the gateway 401'd. Add a single-quote strip pass. shellcheck + bash -n clean. Both already deployed + validated live on the Deck. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
👀 Quinn is reviewing — verdict (PASS / WARN / FAIL) + findings to follow. |
|
Caution Review failedPull request was closed or merged during review Walkthrough
ChangesKiosk and Runtime Shell Script Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
QA Audit — PR #277 | fix(deck): direct kiosk launcher + strip single-quoted Infisical values
VERDICT: WARN (CI non-terminal — formal verdict deferred)
CI Status
- Verify workspace config: queued
- Lint: in_progress
Diff Review
protopen-kiosk.sh: Replaces thefile://splash +fetch()approach with acurlwait-loop, then opens Chromium directly at the app. Fixes thefile://→http://CORS block that stranded the kiosk on the splash.protopen-runtime-run.sh: Adds asedpass to strip single-quoted Infisical values (KEY='val'→KEY=val), fixing 401s from quoted API keys injected via--with-infisical.
Observations
- LOW: CI non-terminal (Verify workspace config queued, Lint in_progress). Code changes look correct; formal PASS/FAIL deferred until checks settle.
- Note:
curlloop grants up to ~10 min of wait (150 × ~4s per cycle); generous but safe for cold Deck image pulls. Falls through to Chromium regardless, matching the old hard-cap behavior. - Shell escaping on the new
sedlooks correct — double-quote outer quoting with\$for the regex anchor.
— Quinn, QA Engineer
|
Submitted COMMENT review on #277. |
Two bugs found during the first live Deck bring-up.
protopen-kiosk.sh— thefile://"starting…" splash polled the backend withfetch(), but Chromium blocksfile://→http://fetches, so it never advanced and stranded the kiosk on the splash (looked like "won't load / stale file"). Replaced with a bashcurlwait-loop that opens Chromium directly at the app (curl has no CORS issue; the backend is usually already up via the lingering unit).protopen-runtime-run.sh— Infisical's dotenv export single-quotes its values, but the quote-stripsedonly handled double quotes. So--with-infisicalinjectedOPENAI_API_KEY='sk-…'(with the quotes) and the gateway 401'd. Added a single-quote strip pass.shellcheck +
bash -nclean. Both already deployed and validated live on the Deck.🤖 Generated with Claude Code
Summary by CodeRabbit
Refactor
Bug Fixes