Skip to content

Commit d2efc3a

Browse files
committed
Merge remote-tracking branch 'origin/main' into chore/vite-migration
2 parents 9aadad2 + 325b906 commit d2efc3a

632 files changed

Lines changed: 45649 additions & 30444 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/config.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"updateInternalDependencies": "patch",
1515
"ignore": [
1616
"webapp",
17-
"supervisor"
17+
"supervisor",
18+
"@trigger.dev/plugins"
1819
],
1920
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
2021
"onlyUpdatePeerDependentsWhenOutOfRange": true

.claude/rules/legacy-v3-code.md

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,31 +3,24 @@ paths:
33
- "apps/webapp/app/v3/**"
44
---
55

6-
# Legacy V1 Engine Code in `app/v3/`
6+
# v3 (engine V1) has been removed
77

8-
The `v3/` directory name is misleading - most code here is actively used by the current V2 engine. Only the specific files below are legacy V1-only code.
8+
The v3 engine (RunEngineVersion `V1`: MarQS queue + Graphile worker) is end-of-life and its execution code has been removed from the webapp. The `app/v3/` directory name is historical: everything under it now serves the current V2 engine (`@internal/run-engine` + `@trigger.dev/redis-worker`).
99

10-
## V1-Only Files - Never Modify
10+
There is no `V1` execution path anymore. If you find a `RunEngineVersion` branch, the `V1` arm should only reject or finalize gracefully (for example, mark a historical run cancelled in the DB), never run V1 work. Do not reintroduce MarQS, the graphile worker, or the v3 socket.io namespaces.
1111

12-
- `marqs/` directory (entire MarQS queue system: sharedQueueConsumer, devQueueConsumer, fairDequeuingStrategy, devPubSub)
13-
- `legacyRunEngineWorker.server.ts` (V1 background job worker)
14-
- `services/triggerTaskV1.server.ts` (deprecated V1 task triggering)
15-
- `services/cancelTaskRunV1.server.ts` (deprecated V1 cancellation)
16-
- `authenticatedSocketConnection.server.ts` (V1 dev WebSocket using DevQueueConsumer)
17-
- `sharedSocketConnection.ts` (V1 shared queue socket using SharedQueueConsumer)
12+
## The deprecation boundary (keep this)
1813

19-
## V1/V2 Branching Pattern
14+
Requests from clients still on v3 (old SDK/CLI) or historical V1 runs must return a clean 4xx, never a 5xx. The boundary lives in:
2015

21-
Some services act as routers that branch on `RunEngineVersion`:
22-
- `services/cancelTaskRun.server.ts` - calls V1 service or `engine.cancelRun()` for V2
23-
- `services/batchTriggerV3.server.ts` - uses marqs for V1 path, run-engine for V2
16+
- `engineDeprecation.server.ts` - the `V3_TRIGGER_DEPRECATION_MESSAGE` / `V3_DEV_DEPRECATION_MESSAGE` / `V3_MIGRATION_URL` upgrade messages.
17+
- `engineVersion.server.ts` - `determineEngineVersion()` still detects a V1 project/run so callers can reject it.
18+
- `services/triggerTask.server.ts`, `services/cancelTaskRun.server.ts`, `services/rescheduleTaskRun.server.ts` - the `V1` arm rejects or finalizes gracefully instead of executing.
19+
- `services/initializeDeployment.server.ts` - the `DEPRECATE_V3_CLI_DEPLOYS_ENABLED`-gated v3 CLI deploy rejection.
20+
- `handleWebsockets.server.ts` - the legacy `trigger dev` websocket closes with the upgrade message.
2421

25-
When editing these shared services, only modify V2 code paths.
22+
## V2 modern stack
2623

27-
## V2 Modern Stack
28-
29-
- **Run lifecycle**: `@internal/run-engine` (internal-packages/run-engine)
30-
- **Background jobs**: `@trigger.dev/redis-worker` (not graphile-worker/zodworker)
31-
- **Queue operations**: RunQueue inside run-engine (not MarQS)
32-
- **V2 engine singleton**: `runEngine.server.ts`, `runEngineHandlers.server.ts`
33-
- **V2 workers**: `commonWorker.server.ts`, `alertsWorker.server.ts`, `batchTriggerWorker.server.ts`
24+
- **Run lifecycle**: `@internal/run-engine` (`runEngine.server.ts`, `runEngineHandlers.server.ts`)
25+
- **Background jobs**: `@trigger.dev/redis-worker` (`commonWorker.server.ts`, `alertsWorker.server.ts`, `batchTriggerWorker.server.ts`; `legacyRunEngineWorker.server.ts` still hosts the live batch-completion jobs)
26+
- **Queue operations**: RunQueue inside run-engine (`runQueue.server.ts`), not MarQS

.claude/rules/server-apps.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@ area: webapp
1414
type: fix
1515
---
1616
17-
Brief description of what changed and why.
17+
Fix pages occasionally loading unstyled during deploys. The dashboard now recovers automatically.
1818
EOF
1919
```
2020

2121
- **area**: `webapp` | `supervisor`
2222
- **type**: `feature` | `fix` | `improvement` | `breaking`
2323
- If the PR also touches `packages/`, just the changeset is sufficient (no `.server-changes/` needed).
24+
25+
The body ships **verbatim in user-facing release notes**. Keep it to 1–2 short sentences, non-technical, written for a dashboard user: describe what changed for them, never the implementation (no header names, endpoints, middleware, storage mechanisms, internal tools). See `.server-changes/README.md` for full guidance.

.env.example

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@
22
SESSION_SECRET=abcdef1234
33
MAGIC_LINK_SECRET=abcdef1234
44
ENCRYPTION_KEY=ae13021afef0819c3a307ad487071c06 # Must be a random 16 byte hex string. You can generate an encryption key by running `openssl rand -hex 16` in your terminal
5+
MANAGED_WORKER_SECRET=abcdef1234 # Must match the supervisor's MANAGED_WORKER_SECRET
56
LOGIN_ORIGIN=http://localhost:3030
67
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/postgres?schema=public
78
# This sets the URL used for direct connections to the database and should only be needed in limited circumstances
89
# See: https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#fields:~:text=the%20shadow%20database.-,directUrl,-No
9-
DIRECT_URL=${DATABASE_URL}
10+
DIRECT_URL=postgresql://postgres:postgres@localhost:5432/postgres?schema=public
1011
# Dedicated run-ops database (@internal/run-ops-database). Only needed to run prisma commands
1112
# against it or to enable the run-ops split; start it with `docker compose --profile runops up`.
1213
RUN_OPS_DATABASE_URL=postgresql://postgres:postgres@localhost:5434/postgres?schema=public
@@ -166,4 +167,4 @@ POSTHOG_PROJECT_KEY=
166167
# Uncomment these to send metrics to the local Prometheus via OTEL Collector:
167168
# INTERNAL_OTEL_METRIC_EXPORTER_ENABLED=1
168169
# INTERNAL_OTEL_METRIC_EXPORTER_URL=http://localhost:4318/v1/metrics
169-
# INTERNAL_OTEL_METRIC_EXPORTER_INTERVAL_MS=15000
170+
# INTERNAL_OTEL_METRIC_EXPORTER_INTERVAL_MS=15000

.github/VOUCHED.td

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,5 @@ bhekanik
2323
jrossi
2424
ThullyoCunha
2525
ConProgramming
26-
saasjesus
26+
saasjesus
27+
brentshulman-silkline

.github/workflows/changesets-pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
- name: Setup node
3737
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
3838
with:
39-
node-version: 22.23.1
39+
node-version: 24.18.0
4040
cache: "pnpm"
4141

4242
- name: Install dependencies

.github/workflows/claude.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444
- name: ⎔ Setup node
4545
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
4646
with:
47-
node-version: 22.23.1
47+
node-version: 24.18.0
4848
cache: "pnpm"
4949

5050
- name: 📥 Download deps

.github/workflows/code-quality.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
- name: ⎔ Setup node
2626
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
2727
with:
28-
node-version: 22.23.1
28+
node-version: 24.18.0
2929
cache: "pnpm"
3030

3131
- name: 📥 Download deps

.github/workflows/dashboard-agent-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
- name: Setup node
5252
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
5353
with:
54-
node-version: 22.23.1
54+
node-version: 24.18.0
5555
cache: "pnpm"
5656

5757
- name: Install + build the CLI and the agent's deps

.github/workflows/e2e-webapp-auth-full.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ jobs:
8585
- name: ⎔ Setup node
8686
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
8787
with:
88-
node-version: 22.23.1
88+
node-version: 24.18.0
8989
cache: "pnpm"
9090

9191
- name: 🐳 Login to DockerHub

0 commit comments

Comments
 (0)