fix(#496): reject oversized variable option probes - #534
Merged
Conversation
Validate the raw 1001-row sentinel after option-column shape checks so overflow cannot enter History or detached-result source capture. Co-Authored-By: OpenAI Codex <noreply@openai.com> Claude-Session: unavailable (OpenAI Codex)
This was referenced Jul 29, 2026
Open
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.
What & why
Closes #496.
Reject a successful Dashboard-variable option probe when its raw response
contains the 1001st sentinel row. Column shape is validated first, while server
errors and cancellation remain untouched; overflow is assigned before History
or detached-result source bookkeeping can treat the run as successful.
The verdict is based only on the returned row count, so zero through 1000 rows
pass with or without authored
LIMITsyntax. The existing probe bound,Dashboard batch bounds, byte cap, read-only transport, and truncation behavior
are unchanged.
Verification
npm test— 193 files / 6,433 tests; 100% statements and linesnpm run buildnpm run test:e2e -- --project=chromium --project=webkit tests/e2e/variable-tab.spec.js— 24 passedChecklist
npm testpasses (the per-file coverage gate is non-negotiable)npm run buildsucceeds (single-filedist/sql.html)src/core/, network insrc/net/(injected fetch), DOM insrc/ui/CHANGELOG.md([Unreleased]) updated if behavior or the deployed surface changed