Skip to content

trunk-merge/pr-121512/9e73b1f4-3173-43cb-9ed9-86450bb37a2b - #123648

Closed
trunk-io[bot] wants to merge 90 commits into
masterfrom
trunk-merge/pr-121512/9e73b1f4-3173-43cb-9ed9-86450bb37a2b
Closed

trunk-io[bot] wants to merge 90 commits into
masterfrom
trunk-merge/pr-121512/9e73b1f4-3173-43cb-9ed9-86450bb37a2b

Conversation

@trunk-io

@trunk-io trunk-io Bot commented Oct 26, 2026

Copy link
Copy Markdown
Trunk Merge Pull Request Banner

This pull request was created and is being managed by Trunk Merge.

This pull request is based on the master branch at SHA ff022be714296fc5c9a7428a5febf6d62ebd0a5f.

See more details about each PR in the batch here:

When CI completes, this pull request will be closed automatically.

Pull Requests Being Tested

This pull request is testing a batch with the changes from pull requests 121512 and 123469 - batching documentation.

Dependencies

This pull request depends on the changes from pull requests 123612, 123588, and 123458.

phillram and others added 30 commits October 21, 2026 12:21
kea-router parses a query value that looks like a number into a number, so a
social login name of only digits reached the confirm organization form as a
number. The form validator calls `.trim()` on it, which threw and replaced the
page with the error boundary, so the person could not finish signup.

The URL prefill now coerces email, first name and organization name to strings.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Generated-By: PostHog Desktop
Task-Id: 5704556a-6dab-4e4b-ac45-37d3d7ed9afc
A String() cast stops the crash but is lossy: 007 becomes 7, 1e5 becomes
100000, and a long digit string loses precision. Reading the raw search
string keeps every value exactly as the redirect sent it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Generated-By: PostHog Desktop
Task-Id: 0cb3ae9b-d378-4db8-bcf6-28e004f4e6fb
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Parallel hogli processes now take a non-blocking flock on the state file
for a few milliseconds before the rerun read-modify-write, and run
unlocked if it stays busy. Where /proc gives the session leader start
time cheaply, every call rechecks it, so a recycled pid gets a new
terminal id. Scoped lint commands such as desktop:lint:fix count as
verify-lint.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A query whose printed SQL reads events_json runs on the events cluster
when CLICKHOUSE_NATIVE_EVENTS_HOST is set and the project is in
CLICKHOUSE_NATIVE_EVENTS_TEAMS. The project's stored table setting is
the switch, so insights, SQL, async and child queries, all-time lookups,
cohort recalculation and precompute builds follow without a per-query
opt-in. The useNewEventsCluster modifier and everything that gated it
are removed.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The query task rewrote every workload but logs to online or offline,
which sent a routed async query back to the main cluster. Cohort
inserts through the Distributed table wait for the rows to land before
the size is read back. A project that still stores the removed cluster
modifier keeps saving its settings. The core routing test no longer
drives a product query runner.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The cluster check reads CLICKHOUSE_NATIVE_EVENTS_HOST on every query run. The test
base clears the instance setting cache before each test, so the cold read landed
inside assertNumQueries blocks whenever no earlier test had read it within 60s.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… cluster

Warehouse view refreshes, batch export backfills and HogQL models, and notebook
SQL frames read ClickHouse through an HTTP client that takes a URL, so the
events cluster rule did not reach them. They now get the events cluster's URL,
built from the main cluster's HTTP URL and the host instance setting, whenever
the SQL they printed reads events_json for a listed project.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The executor prints on its own copy of the shared context, so the flag the
printer sets when it prints events_json never reached the caller's context and
every frame stayed on the offline pool.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…d modifier

Review follow-ups: the async query task's two overrides read a PINNED_CLUSTER_WORKLOADS
tuple instead of listing LOGS and NEW_EVENTS_CLUSTER twice, and the project settings
validator no longer strips useNewEventsCluster, which no project has stored.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A staff cookie reads events_json for every request from that browser, impersonation included. The project switch is the CLICKHOUSE_HOGQL_USE_NEW_EVENTS_SCHEMA_TEAMS instance setting alone; a stored project modifier no longer counts. Routing follows the table: any query that reads events_json starts on the events cluster when CLICKHOUSE_NATIVE_EVENTS_HOST is set, and CLICKHOUSE_NATIVE_EVENTS_TEAMS is deleted.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ute builds

The streamed dashboard load runs after the middleware chain has returned, so it
now serializes tiles inside a copy of the request's context. A precompute job's
identity names the events table it was built from, so a build from events_json
is never served to a legacy read. The instance settings API rejects a project
list that does not parse, since every query reads it.

Two tests ran for the first time on the full matrix and failed: the login-as
view reads a form post, which the API test client only sends when asked, and a
stored project modifier no longer switches the earliest-timestamp lookup.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ng modifiers

The INSERT's printer asks the same switches for its table, so the job identity
only needs the switch's answer. The database-free marketing resolver test pins
the table in both places it is asked, so its hashes no longer depend on a warm
instance-settings cache.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…dentity names

The daily-unique-persons transform keyed the job on the runner's modifiers but
the inline build printed with fresh ones, so a per-query pin plus the person's
cookie could store rows from one events table under the other's identity. The
job now carries the modifiers that made it, and the build prints with them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The revalidation now pins the events table the stale read resolved into the
query it rebuilds, so on the native table its debounce key carries
useNewEventsSchema. The tests built the key from the unpinned query and
looked up a slot that was never written. The pin and the compare strip now
live in one helper that the enqueue and the tests both call.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…'s fault

Retry PAGE_TRANSPORT_TIMEOUT and the gateway's pool admission refusal,
and stop both from counting toward node suspension. Report the whole
deadline and the attempt count when a retried model times out.
When the shadow activity is cancelled, for example because the DAG run
hit its timeout, the orphaned job was written as failed and counted
toward node suspension. Write it as cancelled instead.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…eams

The anomaly scoring planner read 31 months of score events for every team, because the window used the longest tick interval. It now runs one query per team and interval, with the window of that interval. A ClickHouse time or memory limit on that query skips the team for the tick, so the plan still picks insights for the other teams.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Generated-By: PostHog Desktop
Task-Id: c8d59db5-af79-4a9d-af5f-c1dbd5b331e9
The conversations list defaults to status=active, so send status=all on
the list and on the threads parent request.

Conversations and customers return no modifiedAt, so incremental syncs
failed on every run. Use userUpdatedAt and updatedAt instead, and keep
the v2 incremental sort on modifiedAt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
trunk-io Bot and others added 27 commits October 26, 2026 18:58
MCP unit tests failed because the inbox-report-actions-run schema snapshot predated the new `ask` value and `message` field.

Also say in the `action` help text that `ask` is not in the actions list, and regenerate the types.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Generated-By: PostHog Desktop
Task-Id: 748ee093-d081-4817-b019-f78f1f9ce1d6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@trunk-io

trunk-io Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Author

Static Badge   Static Badge   Static Badge

Failed Test Failure Summary Logs
Scenes-App/Experiments ExperimentWithHealthFindings play-test The Storybook test could not find the text “Why?” because the story remained on a loading screen. Logs ↗︎
Scenes-App/Experiments ExperimentWithHealthFindings play-test The Storybook test could not find the text “Why?” because the page remained stuck on a loading spinner. Logs ↗︎
Scenes-Other/Onboarding/Install Step SimpleFlowCloudRunInProgress smoke-test The Storybook onboarding flow failed because the Kea store is missing the wizard session detector logic path (and the router path), preventing the... Logs ↗︎
Scenes-App/Feature Flags NewFeatureFlagKeyTaken play-test The Storybook test failed because the Kea store is missing the `scenes.onboarding.wizardActiveSessionDetectorLogic` path. Logs ↗︎

... and 1 more

View Full Report ↗︎ ⋅ Docs

@trunk-io trunk-io Bot closed this Oct 26, 2026
@trunk-io
trunk-io Bot deleted the trunk-merge/pr-121512/9e73b1f4-3173-43cb-9ed9-86450bb37a2b branch October 26, 2026 20:36
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.