chore: enable Effect linting across monorepo - #6304
Conversation
Supabase CLI previewnpx --yes https://pkg.pr.new/supabase/cli/supabase@cbd93af8a3236770cd361f7f132a1b393a6f61ffPreview package for commit |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: edcae5572d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e49fe7db95
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: fa1b421c7f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
💡 Codex Reviewcli/apps/cli/src/shared/auth/jwks.ts Lines 266 to 268 in 2aefb88 When an OIDC discovery or JWKS endpoint returns headers but stalls while sending its JSON body, the 10-second timeout has already completed because it wraps only AGENTS.md reference: apps/cli/AGENTS.md:L52-L53 cli/apps/cli/src/shared/functions/functions-docker.ts Lines 327 to 329 in 2aefb88 When AGENTS.md reference: apps/cli/AGENTS.md:L52-L53 cli/apps/cli/src/legacy/shared/legacy-db-dns.ts Lines 92 to 93 in 2aefb88 When the DNS-over-HTTPS server or an intervening proxy returns status 200 and then stalls the response body, this second AGENTS.md reference: AGENTS.md:L68-L72 cli/apps/cli/src/shared/runtime/command-runtime.layer.ts Lines 8 to 11 in 2aefb88 At fleet-scale CLI volume, replacing the UUID with one signed 32-bit AGENTS.md reference: apps/cli/AGENTS.md:L52-L53 When a third-party issuer publishes a valid JWK that relies on members outside this local signing-key schema, such as an RSA key represented through AGENTS.md reference: apps/cli/AGENTS.md:L52-L53 When a short-lived command ends immediately after its final span, AGENTS.md reference: AGENTS.md:L115-L117 cli/packages/stack/src/platform-bun.ts Line 103 in 2aefb88 When a stale daemon or another listener on a deterministic control port returns 200 headers but never completes its owner-status body, this 500 ms timeout ends as soon as ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
|
Automated review round 3 triage (final bounded pass): Fixed in 435a2d3:
Confirmed but deferred from this PR after reaching the automated-review loop cap:
These deferrals are recorded here for human review rather than silently dropped. The selected fixes have focused regression coverage and the affected CLI/stack quality plus unit/integration gates pass locally. No further automated fix rounds are planned; this is ready for human review. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 435a2d36f3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Final automated-review pass, including #6304 (comment), is addressed by 8bb6933.\n\nI validated each report against the actual Effect execution path and the previous Go behavior before changing code. All seven items in that report were reproducible or represented concrete compatibility regressions:\n\n- JWKS timeout now covers request execution, status validation, and JSON body decoding.\n- Resolved project environment values, including BITBUCKET_CLONE_DIR, now reach both function volume creation and bind-mount decisions in deploy, download, serve, and start.\n- DNS fetch and body decoding share one cancellation signal.\n- Command correlation IDs use the injected Crypto service for UUIDv4 values.\n- Remote JWK JSON is preserved losslessly, matching the Go RawMessage behavior; local signing keys remain strictly validated.\n- NDJSON export fibers are scoped, owned, and drained before teardown.\n- Bun control-request timeout now covers JSON body decoding too.\n\nThe four newer inline findings are also addressed: empty SUPABASE_ENV defaults to development, known environment-override validation failures stay in the typed error channel, the duplicate JWKS timeout report is covered by the same fix, and Node/Bun config facades preserve explicit empty ambient values.\n\nI considered pushback explicitly. None was warranted after reproduction: the two initially ambiguous cases—remote JWK extension fields and empty ambient environment values—were confirmed by the Go source and a direct config-loader reproduction. The fixes remain narrow; no compatibility shim or speculative abstraction was added. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8bb69332f2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 757ca02d82
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Final bounded automated-review pass is complete at cbd93af. Accepted and fixed:
Rejected after reproduction/architecture triage:
The earlier top-level review at issuecomment-5386062423 was addressed separately in 8bb6933 and documented in issuecomment-5387281854. All review threads are resolved, the local no-cache quality/unit/integration matrix passes, and the fresh GitHub code-quality, unit/integration, e2e, and preview workflows are green. We have reached the automated-review loop cap. Requesting human review; further automated findings should be triaged as signals rather than applied automatically. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: cbd93af8a3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| yield* Effect.forEach( | ||
| containerNames, | ||
| (name) => | ||
| spawner.exitCode(ChildProcess.make(runtime, ["rm", "-f", name])).pipe(Effect.ignore), |
There was a problem hiding this comment.
Restore a deadline for force-removal commands
When Docker or Podman accepts rm -f but its daemon is wedged, child.exitCode can wait indefinitely because the previous five-second execFile timeout was removed. This helper runs from uninterruptible startup rollback and LocalStack.dispose, as well as managed stop/delete paths, so one stuck daemon command can prevent cleanup or shutdown from ever completing; bound the wait and terminate the child on expiry.
Useful? React with 👍 / 👎.
| if (status.exit._tag !== "Success") { | ||
| errorCode = status.exit._tag; |
There was a problem hiding this comment.
Use public Exit helpers in the NDJSON exporter
Replace the direct status.exit._tag checks here and below with Exit.isFailure/Exit.isSuccess. This runtime exporter currently depends on Effect's internal representation even though repository guidance explicitly requires the public helpers for Exit, leaving telemetry behavior coupled to an unsupported implementation detail.
AGENTS.md reference: AGENTS.md:L169-L173
Useful? React with 👍 / 👎.
Summary
Reviewer context
Enabling the recommended rules surfaced diagnostics across every TypeScript workspace, so this is intentionally a broad migration. It also replaces timing-sensitive subprocess and filesystem test coordination encountered while validating the Effect-native changes.