Skip to content

Give the dotnet probe the call's own time budget - #1085

Merged
saworbit merged 6 commits into
mainfrom
fix/dotnet-probe-budget
Sep 30, 2026
Merged

saworbit merged 6 commits into
mainfrom
fix/dotnet-probe-budget

Conversation

@saworbit

Copy link
Copy Markdown
Owner

Fixes #1078

Stacked on #1084, which is stacked on #1083. Their commits show here until they merge.

csharp_check_build runs dotnet --version before the build, and that probe stopped at a fixed 30 seconds whatever timeout_seconds said. A probe that ran out answered 503 toolchain_unavailable, retryable: false, and told the caller to install the .NET SDK. The SDK was there and slow. It turned main's 4.7.2 job red in run 36639206897, and #1083's 4.5.1 job red today at the same request 510.

The probe now runs under the call's timeout_seconds. Running out of it answers 504 timeout, retryable, with timeout_seconds in the data, and the remedy table already points that code at a larger timeout_seconds for this tool. A dotnet that is not there, or is not an SDK, still answers toolchain_unavailable.

Test: Phase5.ASlowDotnetIsGivenTheCallsBudgetAndNotCalledMissing points DOTNET_BIN at a script that answers --version after two seconds. With timeout_seconds: 1 the call is a retryable 504 that does not say to install anything. With 30 the build runs and reports dotnet_version: 8.0.100. It fails with the fixed 30 second probe put back.

Checked locally: native suite (956), Python suite, docs validator, test inventory, and the live harness on 4.5.1. CHANGELOG updated under Unreleased, Fixed.

An editor opens the scenes it restores, or the project's main scene, once
its first scan is applied, and makes one of them current. A scene_open
answered before then was replaced a moment later, and every later scene
call acted on the main scene.

scene.open and scene.create now wait at the front of the queue until the
editor's file index is populated, which is the same moment on 4.5.1,
4.6.2 and 4.7.2. Commands behind them wait too, so nothing overtakes them.

Adds a native test for the hold, a live test CI runs on each line, and a
vibe probe that reproduces the switch.
scene_create over a scene open in another tab rebuilt the tab and then
opened it in the same request. On 4.5 and 4.6 the editor ignores a scene
change for the rest of a frame in which it rebuilt one, so a tab right of
the current one never came to the front and the call answered
opened: false.

The bridge now makes the tab current first and says it is stale, and the
server rebuilds it on a later request through resource.refreshCached, the
reload every other writer uses. The previous scene is read before anything
moves it, so previous_scene_file_path is right on those lines too.
csharp_check_build runs dotnet --version before the build, and that
probe stopped at a fixed 30 seconds whatever timeout_seconds said. A
probe that ran out answered 503 toolchain_unavailable, not retryable,
and told the caller to install an SDK that was there. It turned main's
4.7.2 job red, and this branch's parent's 4.5.1 job.

The probe now runs under timeout_seconds, and running out of it answers
504 timeout, retryable, with timeout_seconds in the data.
@github-actions github-actions Bot added documentation Improvements or additions to documentation ci Workflows, automation, and the release gate tests Test suites and the contracts they assert addon The Godot addon and the in-engine GDExtension tooling Generators, harnesses, and developer tooling labels Sep 30, 2026
The 4.6.2 job on #1084 saw scene_open end in peer_closed after 5.7 s,
with the editor alive, and the test had sent the editor output nowhere.
It now keeps it with the extension at INFO, and a failure prints it with
the sessions the server lists.
@saworbit
saworbit merged commit 37a5255 into main Sep 30, 2026
28 checks passed
@saworbit
saworbit deleted the fix/dotnet-probe-budget branch September 30, 2026 06:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

addon The Godot addon and the in-engine GDExtension ci Workflows, automation, and the release gate documentation Improvements or additions to documentation tests Test suites and the contracts they assert tooling Generators, harnesses, and developer tooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

csharp_check_build calls a slow dotnet missing, because its version probe stops at 30 seconds

1 participant