ReviewOS

home-lang/home

Port gRPC URI parsing and host-port splitting

#257
Closed chris opened this 10 days ago ·
10 days ago

Bun corpus source

  • Position: 3998/4708
  • File: js/third_party/grpc-js/test-uri-parser.test.ts
  • Current state: unsupported module syntax during corpus preparation
  • Expected shape: 15 executable cases and 7 upstream todo cases

Scope

Port grpc-js URI parsing and host/port splitting semantics, including schemeless targets, explicit empty authorities, IPv4/hostname ports, bracketed IPv6, malformed brackets, and multi-colon regression cases. Preserve the upstream todo suite for resolver default-scheme mapping.

Tracked from #66.

10 days ago

Completed in 4b1e6dd96 (feat(third-party): port gRPC URI parsing) and pushed to main.

Implemented the gRPC URI parser contract and host/port splitting used by Bun's copied grpc-js suite, including schemes, authorities, path-only targets, bracketed IPv6 addresses, numeric ports, and malformed bracket rejection. Parser provenance is retained as a non-enumerable internal field so public deep-equality remains upstream-compatible, while default resolver mapping and absolute unix:/// socket paths continue to work.

Verification:

  • test-uri-parser.test.ts: 15 passed, 0 failed, 1 upstream todo
  • test-resolver.test.ts regression: 20 passed, 0 failed, 4 upstream todos
  • positions 3996–3998: 18 passed, 0 failed, 1 upstream todo
  • permanent corpus accounting, structured gRPC error/operation-stack, SQL adapter, and third-party mini-suite diagnostics: all passing
  • zig fmt --check and git diff --check: clean

Cumulative executable ledger through position 3998: 340 files, 2,923 passed, 218 todo, 0 failed, 0 unsupported, 171 explicitly allowed-empty.

The separate cross-file async leakage in the older gRPC batch remains tracked in #254.

10 days ago

Closed by 4b1e6dd; focused and regression coverage are green.

Sign in to comment on this issue.