fix(onboarding): point demo mode at a host that exists - #58
Merged
Conversation
The default endpoint was demo.woopcode.dev, a domain that was never registered. Every install therefore did the same thing: reported the demo unreachable and fell through to the API key prompt. The fallback worked, which is why nothing looked broken, but no user could reach the demo at all. Points at the deployed proxy instead. Verified against it rather than assumed — a session issues in ~715ms and a real turn streams back through it from Google. This string compiles into every installed copy and cannot be corrected for anyone who does not upgrade, which is what made the unregistered domain costly rather than merely wrong. If the proxy moves off Railway the fix is a CNAME on a domain that is actually owned, not another edit here. The regression test asserts the default is not the old host and is a well-formed absolute URL. It does not reach the network: what can be checked offline is that the constant is sane, and a test that pinged the proxy would fail in CI for reasons unrelated to the code.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Demo mode's default endpoint was
https://demo.woopcode.dev— a domain that was never registered. Every install did the same thing: reported the demo unreachable and fell through to the API key prompt. The fallback worked correctly, which is exactly why nothing looked broken; no user could reach the demo at all.This points the default at the deployed proxy.
The constant now carries the reason it matters: this string compiles into every installed copy, and an installed copy cannot be corrected later — a user on an older version keeps asking the old host forever. That is what made an unregistered domain costly rather than merely wrong. If the proxy ever moves off Railway, the fix is a CNAME on a domain that is actually owned, not another edit here.
Verified against the live service rather than assumed. A session issues in ~715ms, and a real turn streams back through the proxy from Google: a
read_filetool call answered correctly in two provider requests,durationMs1264 and 1150 — in line with the ~1519ms median this repo's benchmarking notes record for direct calls, so the extra hop costs nothing measurable. Six simultaneous requests againstMAX_CONCURRENT=2all succeeded in paired waves (616/614, 1025/1025, 1375/1375), with no 429 from Google, confirming the gate sheds correctly and the setting is conservative enough for a free-tier key.bun run verify --allpasses all four gates. The regression test asserts the default is not the old host and is a well-formed absolute URL with no trailing slash; reverting the constant makes it fail, which was confirmed and then restored. It deliberately does not reach the network — what can be checked offline is that the constant is sane, and a test that pinged the proxy would go red in CI for reasons unrelated to the code.Not covered: the wizard screens themselves, which need real keystrokes in an Ink TUI, and the production exhaustion path, which would mean burning a full day's allowance to observe.