The latest updates on your projects. Learn more about Vercel for GitHub.
| Project | Deployment | Actions | Updated (UTC) |
|---|---|---|---|
| dashboard | Preview, Comment | Jun 13, 2026 7:07am |
PR-0 of the post-incident recovery train. No behavior change to existing pages (one exception noted below). Spec: docs/specs/2026-06-12-post-incident-recovery-design.md · Plan: docs/specs/2026-06-12-post-incident-recovery-plan.md (Task 1). Donor: #781 (frozen, read-only).
@composiohq/internal-dashboard-openapi (spec types for the internal API); drop unused @composio/core/@composio/vercel (only string literals in code-snippet templates reference them); prismock + vitest-mock-extended for the harness. renovate.json tracks only the three internal packages; internal-packages-freshness workflow.src/server/clients/internal-dashboard-typed.ts: plain-async (Promise) rewrite of the donor's Effect facade with the identical type surface and pinned wire quirks (empty-object body elided, explicit body: undefined, all-optional query keeps the query key, 204 → undefined, signed dashboard JWT via the shared signer). Resilience: 10s overall budget OUTSIDE retry; jittered exponential retry (200ms base, 2 retries) for idempotent GETs on network errors + 502/503/504 only; payments/session 30s, file upload untimed; client disconnect aborts upstream via req.signal threaded through the tRPC ctx. No multipart — the 5 raw-call sites stay on callInternalDashboard (ratcheted).proxy() factory src/server/api/proxy-procedure.ts: plain async, signature-compatible with the donor's so the 40 pure-proxy conversions port verbatim. Scope headers (x-source, x-org-id, x-project-id) with scope: "none" opt-out for cross-org calls.src/server/api/errors/ (one function per file): mapPrismaError, extractInternalDashboardErrorMessage (4xx forwarded only when plausible prose, 5xx always a literal), status→code map (incl. 429), isMissingAuthConfigError, mapInternalDashboardError (full cause → Datadog at 5xx=error/4xx=warn + TRPCError.cause for Sentry).src/server/testing/ (donor's, zero Effect imports): prismock at the db singleton, fixture-matched global fetch (seedApollo/apolloCalls), testCaller, expectTRPCCode; vitest isolation ON; spec-derived fixtures generated on postinstall (gitignored, overrides committed).ci-test.yml (lint + ratchet + diff-scoped vitest run --changed, full on main); lint ratchet with new no-effect-imports counter baselined at 98 (replaces the donor's two Effect-shape counters); require-procedure-test (132) and no-dynamic-client-error-messages (5) join the ratchet; pinned src/generated/api.d.ts (typecheck/build no longer live-fetch the spec — regeneration stays explicit via pnpm openapi:generate:local).org.renameOrg: donor contract test copied verbatim → 3 failed/2 passed against legacy (ad-hoc getClientIp() calls Next headers() outside a request scope) → plain proxy() rewrite → 5/5.Cherry-picked donor 0e11a8ec0 (connect-announcement-modal drops its PATCH /api/v3.1/auth/session/metadata apollo call) ahead of the funeral PR: Apollo deleted that endpoint upstream, so main's Typecheck CI is already red against the live spec and the pinned types can't cover a route that no longer exists. The write had been silently 404ing — dismissal stays localStorage-gated, no user-visible change.
pnpm vitest run — 2 files, 6 tests, greenpnpm check — oxlint 0 errors, tsgo 0 errors, tenant-scope audit 0 violationspnpm tsx scripts/lint-ratchet.ts — ok (effect-imports 98, raw-call 57, apollo-client-in-server 0, procedures-without-tests 132, dynamic-client-error-messages 5)🤖 Generated with Claude Code
The latest updates on your projects. Learn more about Vercel for GitHub.
| Project | Deployment | Actions | Updated (UTC) |
|---|---|---|---|
| dashboard | Preview, Comment | Jun 13, 2026 7:07am |
Review the following changes in direct dependencies. Learn more about Socket for GitHub.