Skip to content

[pull] main from triggerdotdev:main - #749

Merged
pull[bot] merged 7 commits into
erickirt:mainfrom
triggerdotdev:main
Sep 22, 2026
Merged

pull[bot] merged 7 commits into
erickirt:mainfrom
triggerdotdev:main

Conversation

@pull

@pull pull Bot commented Sep 22, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

carderne and others added 7 commits September 22, 2026 14:08
Fix Zod 4 date conversion in JSON Schema generation while preserving
errors for other unsupported schema types.

Fixes [#4939](#4939).

Mono-RevId: eac25ac271420ef81afc6d49bcd2df69f8116b18
…nd pending version

Four docs corrections, one per commit.

**Concurrency limits** (`limits.mdx`) — the table published a single
headline figure per tier, flattened from the four per-environment values
a plan actually sets, and drifted from the current defaults. Now split
per environment, with a note that the dashboard Concurrency page is
authoritative because the enforced limit also includes purchased add-on
and manual concurrency.

**Error group alerts** (`troubleshooting-alerts.mdx`) — undocumented
until now. They are created from the Errors page, appear in the Alerts
table, and are issue-based: they fire on a new issue, a regression or an
unignore, and a group that has alerted latches to Unresolved and stays
quiet. People configure one expecting a notification per failed run and
get silence. Documents the firing rules, the quiet steady state, and
which alert type to pick for "tell me about every failed run". Also adds
the `alert.error` webhook, which the reference omitted.

**Maximum run TTL** (`limits.mdx`) — "all runs have an enforced maximum
TTL of 14 days" reads as a cap on how far ahead you can schedule. It
isn't: a delayed run arms no TTL expiry, and the TTL clock starts when
the delay elapses. Also states that `delay` has no upper bound.

**Pending version** (`troubleshooting.mdx`) — a new troubleshooting
entry. A run parks here when the version deployed to that environment
carries neither the run's task nor its queue. Lists the four causes seen
in support: task missing from the deployed version, a queue no deployed
task declares, triggering into the wrong org/project/environment, and a
later deploy removing or renaming the task or queue while the run was
waiting. Also covers runs parked by version skew protection, which wait
for their specific external deployment id and expire after 1 hour.

Docs only.

Mono-RevId: c8a80f8c46ff160ac72fc7c1a1ef5f88a0b02f2c
Mono-RevId: e6399386fe348bde57423668d5427dc7ed9ca935
Mono-RevId: eeea820997ad473c81c42a56fad43b2cc065624e
…rk on zod 3 projects (#4972)

## Summary

Deployments built with 4.6.0 to 4.6.3 in projects where `zod` resolves
to a 3.x release could not warm start. Every run handed to a warm runner
made the runner exit before it started the attempt; the run then waited
until the platform's heartbeat redrive requeued it and it started cold,
a few minutes late. Cold starts were unaffected, which is why this
surfaced as delayed starts rather than errors.

## Root cause

The zod v4 migration
([#4039](#4039)) moved
core's schemas to `zod/v4`. `snapshotRoute.ts` landed shortly after,
still importing the Zod 3 API from `"zod"`, and `SnapshotRouteWire` is
composed into `DequeuedMessage` and the worker attempt request bodies.
Zod 4 rejects a Zod 3 schema inside a Zod 4 object at parse time,
regardless of the input:

```
Invalid element at key "snapshotRoute": expected a Zod schema
```

Inside the monorepo the root `zod` resolves to 4.x, so nothing failed
here. In a user's image with zod 3.x installed, the warm-start client's
`DequeuedMessage.parse()` threw on every run and the controller exited.

## Fix

One import: `snapshotRoute.ts` now uses `zod/v4`. The existing Zod 3
root compatibility test gains a case that bundles `DequeuedMessage` and
`WorkerApiRunAttemptStartRequestBody` against a Zod 3 root and parses
them; it fails on `main` and passes here. Also verified by packing the
built package and parsing a `DequeuedMessage` with `zod@3.25.76`
installed.
Mono-RevId: 6d4cc748ca1f7190f58e2983529b65d7326568af
…t webhooks

Directory Sync is now additive: connecting a directory no longer resets
or removes the roles of members you added yourself. A member's role
changes only when they belong to a group you've explicitly mapped to a
role — new groups start unmapped ("Inherit") and change nothing until
you map them. Owner can now be assigned from the Directory Sync and SSO
role menus. Out-of-order webhooks from your identity provider are
retried instead of dropped, so directory setup is more reliable.

Mono-RevId: cd148230d7708141c30a13a4aae0e5ba2a4bfa5e
@pull pull Bot locked and limited conversation to collaborators Sep 22, 2026
@pull pull Bot added the ⤵️ pull label Sep 22, 2026
@pull
pull Bot merged commit 9d7a60b into erickirt:main Sep 22, 2026
1 of 5 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants