Skip to content

chore: sync upstream 2026-10-27 - #22

Closed
github-actions[bot] wants to merge 25 commits into
mainfrom
sync-upstream-20261027-0024
Closed

github-actions[bot] wants to merge 25 commits into
mainfrom
sync-upstream-20261027-0024

Conversation

@github-actions

Copy link
Copy Markdown

Clean merge of upstream changes. Auto-merge is enabled.

Upstream is 24 commits ahead.

Upstream commits

9dd64da37 Test a request landing after destroy wiped an MCP session's storage (#2392)
083209a15 Answer not found for requests that land mid-destroy on an MCP session (#2391)
dc3eac8ee Keep the admin MFA rate-limit burst inside one limiter window (#2396)
10f40d124 Give the cap-eviction scenario an idle window it can cross the cap in (#2395)
bfc915269 Keep the cloud e2e worker off the production PostHog project (#2394)
12ffa4717 Test forwarding passthrough MCP requests to v2 (#2389)
f08d88d0e Forward passthrough MCP requests of moved organizations to v2 (#2388)
7957647c5 Test the v2 session handoff redirect (#2357)
b0d108966 Hand a moved workspace's signed-in member to v2 with a signed token (#2356)
4b9869fc4 Test the freeze of organizations moving to v2 (#2338)
fb8f45a14 Freeze organizations moving to v2 (#2337)
4998ad021 Forward MCP requests of organizations moved to v2 (#2287)
4c753d3b1 Version Packages (#2336)
9ac276ea2 Build the self-host image on Bun 1.4.4 for the Brotli decoder fix (CVE-2026-111497) (#2335)
906bee5ef Check a long organization name stays inside the v2 moved notice (#2280)
a1274ebb9 Keep the v2 moved notice inside its dialog for long organization names (#2279)
668232436 Test the moved-to-v2 notice (#2270)
49bd2959b Tell users when their organization has moved to Executor v2 (#2269)
2da6542a3 Test the v2 import sidebar link (#2267)
90e415c98 Link eligible orgs to Executor v2's import from the sidebar (#2266)
a54b513e8 Test the MCP probe User-Agent (#2259)
8e4a8a400 Send the default User-Agent on the MCP endpoint probe (#2258)
9fa93c28e Test the default MCP User-Agent (#2255)
6e768da9d Send a default User-Agent on remote MCP requests (#2254)

Diffstat

 156 files changed, 10008 insertions(+), 188 deletions(-)

RhysSullivan and others added 25 commits October 10, 2026 09:43
…ftwareCo#2266)

* Link eligible orgs to Executor v2's import from the sidebar

* Read the v2 import's billing without creating an Autumn customer
* Test the v2 import sidebar link

* Test the v2 import's read-only billing lookup
…ftwareCo#2269)

Reads the move v2 records on the WorkOS organization
(executor_v2_org_slug, executor_v2_moved_at) into the v2-import answer,
shows a dismissible notice on the dashboard with a feedback step for
staying on v1, and points the sidebar link at the org in v2.
Patches the WorkOS emulator to store organization metadata, as the
real Create and Update Organization endpoints do.
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* Freeze organizations moving to v2

Writes, OAuth completion and OAuth token refresh are refused for an
organization whose org_moved_to_v2 row is moving or moved (423 Locked;
503 when the state cannot be read). The dashboard of a moved organization
redirects to its v2 page. Toolkit connections forwarded to v2 are now
named per member.

The executor asks the host's write gate before a write transaction opens
and carries the verdict into it, never asking from inside one: the gate
reads on its own connection, which a single-session database would not
serve while the transaction holds the request's.

Migration 0022 adds v2_org_slug and the rolled_back state, and grants
v1_import_writer its access when the role exists. For a role created
after the migration has run:

  GRANT INSERT, UPDATE ON org_moved_to_v2 TO v1_import_writer;
  GRANT SELECT (org_id, state, v2_org_id, v2_org_slug) ON org_moved_to_v2 TO v1_import_writer;

* Grant the import writer USAGE on the public schema
…oftwareCo#2394)

The e2e worker inherited the production PostHog key from wrangler.jsonc vars, so server-side flag gates evaluated live production flags for synthetic e2e users. Since google-oauth-review was widened in production, first-party-oauth fails on every run because Google is now listed. Clear the key in the e2e boot so each gate takes its no-flag-service path.
…UsefulSoftwareCo#2395)

The scenario opens sessions one at a time and needs cap + 1 (25) resident at once, but each session idles out MCP_SESSION_TIMEOUT_MS after it opened. At 3s, 25 opens took the whole window on a CI runner (80-125ms each). When they ran over, early sessions idled out as new ones opened, the cap was never crossed, and the scenario timed out. Raise the e2e idle timeout to 8s in CI and the e2e default, and document the constraint next to the cap.
…SoftwareCo#2396)

The local rate limiter counts in clock-aligned 60s windows and clears its buckets at each boundary. The scenario's six-request burst fails when it straddles a minute boundary, because the sixth request lands in a fresh window. Start the burst with at least 10s of the window left.
…UsefulSoftwareCo#2391)

destroy() wipes the session's storage and the SDK's tables before it aborts the isolate. A request landing in between passed the condemned-marker check, since the marker was wiped too, and then trusted the in-memory session meta. It restored the runtime against the dropped tables and failed with "no such table: cf_agents_mcp_servers" as an unhandled 500. Once destroy starts, the cached meta no longer vouches for the session.
@myohei myohei closed this Oct 28, 2026
@myohei
myohei deleted the sync-upstream-20261027-0024 branch October 28, 2026 00:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants