Repository navigation
feat(glitch-invaders): read Sentry settings from the environment over sentry.json - #29
Merged
Merged
Conversation
… sentry.json SENTRY_DSN, SENTRY_ORG, SENTRY_PROJECT, and optionally SENTRY_URL replace sentry.json's values, so an event can point at its own project through challenge_env. Setting only some of the three fails setup naming the rest. Closes #28
theycallmeswift
commented
Oct 19, 2026
theycallmeswift
left a comment
Contributor
Author
There was a problem hiding this comment.
Review of ac01655: one blocking finding and one nit, inline. Unset variables behave exactly as today, the CSP uses the env DSN, the token never reaches the page, and CI and the local verify/test/lint runs are green.
On the Decide items: empty-as-unset and reading SENTRY_URL only alongside the other three are both fine. The trailing-slash handling and the error wording change, per the inline comment.
Also:
- Nit, tests (~line 1297 of
test/glitch-invaders.test.mjs): add two offline tests that assert only thesentryfield ofruntime-config.json. (a) With the three variables set and noSENTRY_URL,apiUrlbecomeshttps://sentry.ioeven whensentry.jsonhas its own. (b)SENTRY_URLset on its own is ignored. - Ready gate, standalone run: the Pi playthrough wasn't run (no
GEMINI_API_KEYin this environment). Keep that row honest. The owner will decide whether the hook-level smoke run is enough, since the Pi side is unchanged.
Generated by Claude Code
…e variables in errors Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdRNSME2KRqwhfNGNYW9AN
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.
Glitch Invaders'
setupnow readsSENTRY_DSN,SENTRY_ORG,SENTRY_PROJECT, and optionallySENTRY_URL(asapiUrl) oversentry.json. This lets an event point at its own Sentry project throughchallenge_env.sentry.jsonkeeps its values as the default, and behavior with the variables unset is unchanged. Closes #28.Settled behavior:
SENTRY_URLis read only together with the other three. On its own it is ignored. When the three are set without it,apiUrlishttps://sentry.io, notsentry.json's.SENTRY_URLthat is an origin plus a trailing/(sentry-cli's form) is reduced to the origin before validation.invalid runtime config: SENTRY_URL must be https://sentry.io or a subdomain.sentry.jsonvalidation and messages are unchanged.Decide
GEMINI_API_KEYwas available. Recommend: accept the hook-level run, because onlysetup's settings resolution changed and the Pi side is untouched.Ready gate
npm run verify:okfor all 4 packages.npm test: 264 pass, 0 fail.npm run lint: 0 issues.server/sentry-config.mjsreverted, these tests fail: env oversentry.json, partial env, malformed env naming the variable, trailing-slashSENTRY_URL. The twoapiUrltests (default withoutSENTRY_URL,SENTRY_URLalone ignored) pin the intended behavior and pass either way.grep -rn sentry.jsonoutsidetest/: README,sentry.json's$comment, andserver/sentry-config.mjsupdated.serve.mjs, the skills, andcleanupdon't read the settings.challenges/glitch-invaders/README.md("Files", "Live Sentry mode", "Run without boothstrap") andsentry.json's$comment. No repodocs/cover this package.SENTRY_*set,setupin a scratch folder is ready on 4373 with the usual token note, the runtime config has onlyattemptId, the page returns 200, andcleanupexits 0. With onlySENTRY_DSNset,setupexits 1 namingSENTRY_ORG, SENTRY_PROJECT. Pi playthrough not run (noGEMINI_API_KEY); see Decide.docs/style/. The env rules are one README paragraph plus thechallenge_envexample.$commentsay the token stays in the vault and the variables carry public settings only.🤖 Generated with Claude Code
https://claude.ai/code/session_01VdRNSME2KRqwhfNGNYW9AN