fix: cast expires_utc to TEXT on Node < 24.4 to avoid BigInt overflow#5
Open
DhvanilPatel wants to merge 1 commit intosteipete:mainfrom
Open
fix: cast expires_utc to TEXT on Node < 24.4 to avoid BigInt overflow#5DhvanilPatel wants to merge 1 commit intosteipete:mainfrom
DhvanilPatel wants to merge 1 commit intosteipete:mainfrom
Conversation
On Node < 24.4, `node:sqlite` throws when encountering integers larger than Number.MAX_SAFE_INTEGER. Chrome stores `expires_utc` as WebKit microseconds (since 1601-01-01), which can exceed this limit for cookies with far-future expiration dates. This commit adds a workaround that casts `expires_utc` to TEXT in the SQL query when `readBigInts` is unavailable. The existing `tryParseInt` function already handles string values, so no changes are needed elsewhere. Fixes cookie extraction failing with error: "Value is too large to be represented as a JavaScript number: 13443512747000000" 🤖 Generated with [Claude Code](https://claude.ai/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.
Summary
expires_utccolumn which can exceedNumber.MAX_SAFE_INTEGERProblem
On Node < 24.4,
node:sqlitedoesn't have thereadBigIntsoption and throws when encountering integers larger thanNumber.MAX_SAFE_INTEGER. Chrome storesexpires_utcas WebKit microseconds (since 1601-01-01), which can exceed this limit for cookies with far-future expiration dates.Example error:
Solution
When
readBigIntsis unavailable (Node < 24.4), castexpires_utcto TEXT in the SQL query:The existing
tryParseIntfunction already handles string values correctly, so no other changes are needed.Test plan
--browser-manual-loginFixes #4
🤖 Generated with Claude Code