Fix insecure WebSocket by using secure protocol (wss) #33268
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.
This PR addresses a Semgrep SAST finding where the launchpad GraphQL WebSocket connection was hardcoded to use ws://. This bypassed the existing protocol logic that correctly upgrades connections to wss:// when the application is served over HTTPS.
Details
Affected File: packages/frontend-shared/src/graphql/urqlClient.ts
Issue: Insecure WebSocket (detect-insecure-websocket)
Location: ~Line 239
Fix
The hardcoded ws:// URL has been replaced with the dynamically derived protocol already used elsewhere in the file. This ensures the WebSocket connection uses wss:// for HTTPS deployments while retaining ws:// for HTTP/local development.
ws://${window.location.host}/__launchpad/graphql-ws${protocol}//${window.location.host}/__launchpad/graphql-wsOutcome
Secure WebSocket (wss://) is used automatically over HTTPS
Behavior is consistent across launchpad and non-launchpad targets
Resolves the reported SAST finding with a minimal, targeted change