Skip to content

Commit 41a486e

Browse files
chore: release v4.4.6 (#3501)
## Summary 1 improvement, 1 bug fix. ## Improvements - Fail attempts on uncaught exceptions instead of hanging to `MAX_DURATION_EXCEEDED`. A Node `EventEmitter` (e.g. `node-redis`) emitting `"error"` with no `.on("error", ...)` listener escalates to `uncaughtException`, which the worker previously reported but did not act on — runs drifted to maxDuration with empty attempts. They now fail fast with the original error and status `FAILED`, and respect the task's normal retry policy. You should still attach `.on("error", ...)` listeners to long-lived clients to handle errors gracefully. ([#3529](#3529)) ## Bug fixes - Fix dev workers spinning at 100% CPU after the parent CLI disconnects. Orphaned `trigger-dev-run-worker` (and indexer) processes were caught in an `uncaughtException` feedback loop: a periodic IPC send via `process.send` would throw `ERR_IPC_CHANNEL_CLOSED` once the parent closed the channel, which re-entered the same handler that itself called `process.send`, scheduled via `setImmediate` and amplified by source-map-support's `prepareStackTrace`. Fixed by (1) silently dropping packets in `ZodIpcConnection` when the channel is disconnected, (2) adding a `process.on("disconnect", ...)` handler in dev workers so they exit cleanly when the CLI closes the IPC channel, and (3) wrapping all `uncaughtException`-path `process.send` calls in a `safeSend` guard that checks `process.connected` and swallows synchronous throws. ([#3491](#3491)) <details> <summary>Raw changeset output</summary> # Releases ## @trigger.dev/build@4.4.6 ### Patch Changes - Updated dependencies: - `@trigger.dev/core@4.4.6` ## trigger.dev@4.4.6 ### Patch Changes - Fix dev workers spinning at 100% CPU after the parent CLI disconnects. Orphaned `trigger-dev-run-worker` (and indexer) processes were caught in an `uncaughtException` feedback loop: a periodic IPC send via `process.send` would throw `ERR_IPC_CHANNEL_CLOSED` once the parent closed the channel, which re-entered the same handler that itself called `process.send`, scheduled via `setImmediate` and amplified by source-map-support's `prepareStackTrace`. Fixed by (1) silently dropping packets in `ZodIpcConnection` when the channel is disconnected, (2) adding a `process.on("disconnect", ...)` handler in dev workers so they exit cleanly when the CLI closes the IPC channel, and (3) wrapping all `uncaughtException`-path `process.send` calls in a `safeSend` guard that checks `process.connected` and swallows synchronous throws. ([#3491](#3491)) - Fail attempts on uncaught exceptions instead of hanging to `MAX_DURATION_EXCEEDED`. A Node `EventEmitter` (e.g. `node-redis`) emitting `"error"` with no `.on("error", ...)` listener escalates to `uncaughtException`, which the worker previously reported but did not act on — runs drifted to maxDuration with empty attempts. They now fail fast with the original error and status `FAILED`, and respect the task's normal retry policy. You should still attach `.on("error", ...)` listeners to long-lived clients to handle errors gracefully. ([#3529](#3529)) - Updated dependencies: - `@trigger.dev/core@4.4.6` - `@trigger.dev/build@4.4.6` - `@trigger.dev/schema-to-json@4.4.6` ## @trigger.dev/core@4.4.6 ### Patch Changes - Fix dev workers spinning at 100% CPU after the parent CLI disconnects. Orphaned `trigger-dev-run-worker` (and indexer) processes were caught in an `uncaughtException` feedback loop: a periodic IPC send via `process.send` would throw `ERR_IPC_CHANNEL_CLOSED` once the parent closed the channel, which re-entered the same handler that itself called `process.send`, scheduled via `setImmediate` and amplified by source-map-support's `prepareStackTrace`. Fixed by (1) silently dropping packets in `ZodIpcConnection` when the channel is disconnected, (2) adding a `process.on("disconnect", ...)` handler in dev workers so they exit cleanly when the CLI closes the IPC channel, and (3) wrapping all `uncaughtException`-path `process.send` calls in a `safeSend` guard that checks `process.connected` and swallows synchronous throws. ([#3491](#3491)) - Fail attempts on uncaught exceptions instead of hanging to `MAX_DURATION_EXCEEDED`. A Node `EventEmitter` (e.g. `node-redis`) emitting `"error"` with no `.on("error", ...)` listener escalates to `uncaughtException`, which the worker previously reported but did not act on — runs drifted to maxDuration with empty attempts. They now fail fast with the original error and status `FAILED`, and respect the task's normal retry policy. You should still attach `.on("error", ...)` listeners to long-lived clients to handle errors gracefully. ([#3529](#3529)) ## @trigger.dev/python@4.4.6 ### Patch Changes - Updated dependencies: - `@trigger.dev/core@4.4.6` - `@trigger.dev/build@4.4.6` - `@trigger.dev/sdk@4.4.6` ## @trigger.dev/react-hooks@4.4.6 ### Patch Changes - Updated dependencies: - `@trigger.dev/core@4.4.6` ## @trigger.dev/redis-worker@4.4.6 ### Patch Changes - Updated dependencies: - `@trigger.dev/core@4.4.6` ## @trigger.dev/rsc@4.4.6 ### Patch Changes - Updated dependencies: - `@trigger.dev/core@4.4.6` ## @trigger.dev/schema-to-json@4.4.6 ### Patch Changes - Updated dependencies: - `@trigger.dev/core@4.4.6` ## @trigger.dev/sdk@4.4.6 ### Patch Changes - Updated dependencies: - `@trigger.dev/core@4.4.6` </details> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent 1e4b896 commit 41a486e

37 files changed

Lines changed: 106 additions & 149 deletions

.changeset/dev-worker-disconnect-loop.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.changeset/uncaught-exception-fail-attempt.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.server-changes/admin-back-office-batch-rate-limit.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.server-changes/admin-back-office-max-projects.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.server-changes/app-auto-session-logout.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.server-changes/fix-resizable-panel-stuck.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.server-changes/fix-rollback-schedule-sync.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.server-changes/llm-pricing-registry-reload-channel.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.server-changes/per-org-stream-basins.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

.server-changes/redis-reconnect-on-readonly-loading.md

Lines changed: 0 additions & 6 deletions
This file was deleted.

0 commit comments

Comments
 (0)