Skip to content

fix(finance): enforce the CSV size cap in UTF-8 bytes - #202

Merged
jerelvelarde merged 1 commit into
CopilotKit:mainfrom
BigDataDZ:codex/fix-csv-utf8-size-limit
Oct 26, 2026
Merged

jerelvelarde merged 1 commit into
CopilotKit:mainfrom
BigDataDZ:codex/fix-csv-utf8-size-limit

Conversation

@BigDataDZ

Copy link
Copy Markdown
Contributor

The advertised 500 KB transaction CSV limit currently counts UTF-16 code units. Chinese, emoji and other multibyte content can therefore exceed the file-size limit while being accepted.

Count UTF-8 bytes before parsing while keeping the existing 500,000-byte threshold and error message. Regression coverage verifies an oversized Chinese import is rejected and that ASCII, Chinese and emoji imports at exactly 500,000 bytes retain their transaction text and amount; one additional byte is rejected.

Validation: both new regressions failed against main before the fix; finance tests 9/9; full suite 486 passed, 3 platform-dependent skips, 0 failed. Repository lint, server/mobile/worker typechecks and server build pass. Independent review found no actionable issues. This changes only the server-side CSV input limit.

@jerelvelarde jerelvelarde left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed cc6a46489e0ecee3d7763a272f0598fb97c320de.

Value and template fit: Enforces the advertised 500,000-byte CSV resource limit for Unicode input. This is a bounded server-only fix with boundary regressions and clear verification notes.

Security review: Checked byte accounting before parsing, exact-boundary acceptance, BOM behavior, and unchanged CSV validation. No actionable security finding; UTF-8 accounting closes the code-unit limit gap.

Verification: 5 focused tests passed: finance-byte-limit and finance. Executed against this exact head in a read-only, network-disabled Linux container with Node 24.17.0 (--experimental-transform-types). All seven GitHub CI jobs passed for this head.

Limits: fixture/static review; no live Google accounts, private documents, or native-device testing. No actionable blocker found. Merge remains subject to current head and integration checks.

@jerelvelarde
jerelvelarde merged commit ab85dfe into CopilotKit:main Oct 26, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants