Repository navigation
Conversation
…l (v8) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
E2E verification (SDK-7618, v8) against a packaged binary built from browserstack-binary#1984 (head Framework: wdio 8.46.0 mocha, 2 spec files,
Static checks on this branch:
|
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the
|
|
✅ Good to go
Change map (generated deterministically from the diff)graph LR
subgraph nwdio_browserstack_service["wdio-browserstack-service"]
npackages_browserstack_service_src_cli_grpcClient_ts["⚠ grpcClient.ts<br/>~7 lines"]
npackages_browserstack_service_src_grpc_index_ts["⚠ index.ts<br/>~7 lines"]
n_changeset_pr_326_md["pr-326.md<br/>~5 lines"]
npackages_browserstack_service_src_cli_index_ts["index.ts<br/>~4 lines"]
npackages_browserstack_service_src_constants_ts["constants.ts<br/>~4 lines"]
end
↻ This verdict comment is the review anchor — it's updated in place on each run (the gate posts its status separately). — SDK PR Review Agent |
|
🟢 SDK PR Review gate is green — the SDK PR Review Agent has run on the current head commit (verdict: This gate confirms a review ran on the latest commit. The verdict itself is advisory — read the findings and use your judgement; it does not block merge. A native GitHub reviewer approval is still separately required by branch protection before this PR can merge. |
|
How to get (and keep) the
|
…switch Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Removed the Re-tested against the browserstack-binary#1984 build with the patched
|
What is this about?
The v8 port of #319. It protects the service's local gRPC connection to the BrowserStack CLI binary with a per-launch token (SDK-7618, CWE-306). Paired with browserstack-binary#1984, which rejects calls without the token.
BrowserstackCLI.start()generates a token (randomBytes(32), hex) and setsBROWSERSTACK_CLI_AUTH_TOKENinprocess.envbefore spawning the binary, so the binary and every wdio worker inherit it.GrpcClient.connect()passes one grpc-js interceptor to theSDKClientstub that addsx-browserstack-cli-tokento every call.BROWSERSTACK_CLI_ENV=development) generates nothing, because it connects to a separately started binary.The code is the same as #319. The v8 files have drifted from main, so this is a hand port, not a cherry-pick. Older binaries ignore the extra header, so this can be released before or after the binary. Sibling SDK PRs: #319 (v9), https://github.com/browserstack/browserstack-python-sdk/pull/1353, https://github.com/browserstack/browserstack-node-agent/pull/2780, https://github.com/browserstack/browserstack-ruby-sdk/pull/221, https://github.com/browserstack/browserstack-javaagent/pull/2363, https://github.com/browserstack/browserstack-csharp-sdk/pull/1429
Related Jira task/s
Release (mandatory for every PR — required for the
ready-for-reviewlabel)Version bump: (required — tick exactly one)
Release notes type: (optional)
Release notes (customer-facing): (optional but encouraged)
Release notes (internal): (required — engineer-facing; what actually changed / why)
BROWSERSTACK_CLI_AUTH_TOKENper binary spawn and sendsx-browserstack-cli-tokenon every RPC. Enforced by browserstack-binary#1984 and ignored by older binaries. CWE-306 (SDK-7618). Same change as [SDK-7618] fix(security): send the CLI launch token on every gRPC call #319 (v9).Checklist
PR Validations
Run Tests: Comment RUN_TESTS to trigger sanity tests.
🤖 Generated with Claude Code