You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
fix: read sample paths with CRLF line endings - #75
Fixes channel imports, surface imports, and RSS backfills failing with ENOENT when their sample-paths TSV uses Windows CRLF line endings.
User Impact
Operators can import LF or CRLF sample lists, including blank lines, optional columns, and filenames containing spaces.
Why This Change Was Made
The readers split only at LF, leaving a carriage return attached to the last path in each record. All four TSV readers now recognize CRLF record boundaries without trimming path content.
Evidence
Synthetic CLI regressions passed all seven LF cases and failed all seven CRLF cases before the fix; all 14 now pass.
Tests exercise one-column and full-column channel/surface lists, performance-event sidecars, RSS backfills, blank lines, and filenames with leading/trailing spaces. Backfill assertions verify RTT and copied records remain intact.
npm test: 220 tests passed. npm run check, per-file syntax checks, and actionlint -color=false passed.
Proof uses the actual Node CLI against synthetic artifacts, without live channel credentials.
Validation: npm test passed all 220 tests; npm run check, individual syntax checks for all 63 scripts, and actionlint -color=false passed locally. Before the repair, the seven synthetic LF CLI cases passed and all seven corresponding CRLF cases failed with missing-path errors. All 14 pass after the fix, including whitespace-preserving paths, optional columns, blank lines, performance sidecars, and RSS backfill integrity. Independent review found no actionable P0–P2 findings.
Exact PR head 3745c0a passed CI, CodeQL, and Main Surface RTT, including real loopback Gateway RPC and mocked browser/Gateway measurements and imports. No retries were needed. The CRLF regression proof itself uses synthetic artifacts through the actual Node CLIs.
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
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 Problem This Solves
Fixes channel imports, surface imports, and RSS backfills failing with
ENOENTwhen their sample-paths TSV uses Windows CRLF line endings.User Impact
Operators can import LF or CRLF sample lists, including blank lines, optional columns, and filenames containing spaces.
Why This Change Was Made
The readers split only at LF, leaving a carriage return attached to the last path in each record. All four TSV readers now recognize CRLF record boundaries without trimming path content.
Evidence
npm test: 220 tests passed.npm run check, per-file syntax checks, andactionlint -color=falsepassed.