openclaw/test
Peter Steinberger 2ce0573b02
fix(gateway): preserve active work during recovered Node restarts (#153435)
* fix(gateway): preserve work during recovered Node restarts

Let Unix Node recovery wrappers respect the existing Gateway stop budget.
Share startup-safe command classification and deadline facts, and resolve
managed restart intent against the live serving owner in its write
transaction with current update authority.

Preserve the existing public PID intent API, record format, and Windows
behavior. Keep cold lifecycle test preparation outside timed hooks.

Inspired by @ly85206559's wrapper-grace approach in #147054; this repair
is independently authored from main. Related: #146956. Windows cooperative
shutdown remains a follow-up.

* refactor(gateway): stabilize restart callback and test setup

Declare receiver-independent restart intent callbacks as arrows and retain typed signal spy handles for lint-safe assertions. Move cold lifecycle imports into test collection so worker preparation cannot consume timed setup hooks.
2026-09-19 22:41:17 -07:00
..
contracts fix: ask_user suggests tapping options without buttons (#137978) 2026-09-06 08:36:57 -07:00
e2e fix(qa): preserve transport preloads and packaged bootstrap boundaries (#152944) 2026-09-19 09:38:01 -07:00
fixtures fix: restore Mac presence context and Canvas media playback (#153381) 2026-09-19 21:37:59 -07:00
helpers refactor(auth): prepare bounded shared auth scopes asynchronously (#152286) 2026-09-19 21:54:00 -07:00
mocks
plugins refactor: simplify worker placement and node execution (#153019) 2026-09-19 14:33:43 -07:00
scripts fix(gateway): preserve active work during recovered Node restarts (#153435) 2026-09-19 22:41:17 -07:00
tsconfig feat(agents): send input attachments to remote workspaces (#152652) 2026-09-19 19:34:55 -07:00
type-contracts refactor: check pure type contracts without runtime test cases (#143888) 2026-09-10 04:39:37 -07:00
vitest fix(onboarding): avoid blocking recommendation storage (#152445) 2026-09-19 22:20:14 -07:00
agent-exec-code-mode.live.test.ts fix: skip official setup approvals and default to Astra (#145646) 2026-09-12 00:34:25 -07:00
AGENTS.md
apns-worker-test-ownership.test.ts test: diagnose stalled infra test workers (#152381) 2026-09-19 03:53:39 -07:00
appcast.test.ts fix(release): run Sparkle CLI through symlinked checkouts (#142315) 2026-09-08 09:27:03 -07:00
architecture-smells.test.ts
buzz-account-config-mutation.test.ts
canonical-descendant.integration.test.ts improve: use compiled Doctor contracts in built checkouts (#144676) 2026-09-11 00:49:15 -07:00
channel-message-read-authority.integration.test.ts fix: restore member and emoji reads in official Slack installs (#147657) 2026-09-14 19:09:14 +01:00
clawrouter-managed-gateway.e2e.test.ts test(clawrouter): refresh catalog before asserting models (#143692) 2026-09-10 00:10:48 -07:00
cli-json-stdout.agents.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.automation.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.config.e2e.test.ts fix(cli): emit JSON when command configuration validation fails (#145768) 2026-09-14 19:01:36 +05:30
cli-json-stdout.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.gateway.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.hooks.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.models.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.plugins.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.sessions.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.skills.e2e.test.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-json-stdout.test-support.ts fix(test): execute CLI fixture preloads on Node and Bun (#152076) 2026-09-18 15:12:46 -07:00
cli-message-authority.integration.test.ts fix: require declared scheduled write adapters (#151064) 2026-09-17 20:10:32 +01:00
cli-state-sqlite.e2e.test.ts
codex-node-cancellation.integration.test.ts fix(codex): keep catalog actions bound to their source (#151854) 2026-09-19 02:32:25 -07:00
codex-settled-turn-finalization.integration.test.ts fix(codex): avoid fallback replies after intentional silence (#151951) 2026-09-19 03:15:48 +08:00
control-ui-import-boundary.test.ts fix(ui): keep Control UI code off the state database schema loader (#152130) 2026-09-18 14:48:40 -07:00
conversation-tools.codex.integration.test.ts fix(codex): preserve delivery facts and native approval semantics (#151863) 2026-09-19 16:45:20 -07:00
copilot-tool-policy-handoff.integration.test.ts fix(agents): preserve disabled tools at plugin handoff (#142093) 2026-09-09 18:13:53 +05:30
copilot-tool-policy-handoff.live.test.ts refactor(copilot): keep session binding storage off the host thread (#149577) 2026-09-15 19:50:22 -07:00
cron-conversation-delivery.codex.integration.test.ts fix(codex): preserve delivery facts and native approval semantics (#151863) 2026-09-19 16:45:20 -07:00
cron-edit-trigger-preservation.e2e.test.ts
cron-message-read.integration.test.ts fix: retain the native requester for scheduled Discord edits (#150308) 2026-09-17 10:53:36 +01:00
discord-live-policy.integration.test.ts fix(discord): apply access policy during active Control UI turns (#140929) 2026-09-07 00:23:28 -07:00
discord-metadata-read-authority.integration.test.ts fix: allow prefixed native Discord DM actions (#149201) 2026-09-15 17:31:03 +01:00
doctor-copied-state-migration.e2e.test.ts
doctor-legacy-whatsapp-ack-migration.e2e.test.ts
dreaming-startup-cleanup.e2e.test.ts test(memory): seed restart fixtures with the Gateway stopped (#152038) 2026-09-18 13:37:16 -07:00
embedded-transcript-cursor.e2e.test.ts
extension-import-boundaries.test.ts perf: share extension boundary check inventory (#146771) 2026-09-12 23:27:30 -07:00
extension-test-boundary.test.ts feat: manage and reload plugins without Gateway restarts (#145484) 2026-09-11 23:12:58 -07:00
external-script-modules.d.ts
feishu-message-mutations.integration.test.ts fix: stop Feishu mutations after caller cancellation (#151235) 2026-09-18 01:27:50 +01:00
feishu-message-read-authority.integration.test.ts fix: find Feishu peers beyond the first directory page (#149077) 2026-09-15 14:36:05 +01:00
gateway-account-history.e2e.test.ts
gateway-cold-agent-abort.e2e.test.ts
gateway-completion-replay.e2e.test.ts fix(subagents): prevent completed requester replay after delivery failure (#85308) 2026-09-15 07:51:30 -06:00
gateway-copied-codex-session-resume.e2e.test.ts fix(plugins): retain update authority through doctor effects (#144316) 2026-09-13 15:26:58 -06:00
gateway-external-state-ownership.e2e.test.ts fix(test): preserve release fixture runtime contracts (#147158) 2026-09-13 13:36:59 -07:00
gateway-hook-concurrency.e2e.test.ts
gateway-no-op-mutation.e2e.test.ts
gateway-openai-compaction-replay.e2e.test.ts
gateway-queued-session-rotation.e2e.test.ts
gateway-restored-requester-settle.e2e.test.ts
gateway-rpc-exporters.test.ts
gateway-session-end-shutdown.e2e.test.ts
gateway-steer-fifo.e2e.test.ts test(gateway): update steer skip contract (#150852) 2026-09-17 07:10:15 -07:00
gateway-subagent-restart.live.test.ts fix(agents): preserve subagent progress across repeated restarts (#151450) 2026-09-18 01:46:45 -07:00
gateway-widget-restart.live.test.ts fix: preserve tool context across agent backends (#139840) 2026-09-06 00:12:50 -07:00
gateway.multi.e2e.test.ts fix(gateway): preserve one elapsed node invocation budget (#137147) 2026-09-10 12:13:09 +05:30
git-hooks-pre-commit-boundaries.test.ts improve(tooling): reduce commit formatting resource use (#152297) 2026-09-18 18:01:21 -07:00
git-hooks-pre-commit.test-support.ts
git-hooks-pre-commit.test.ts improve(tooling): reduce commit formatting resource use (#152297) 2026-09-18 18:01:21 -07:00
github-cli-preflight.e2e.test.ts
huggingface-local-app-openclaw.e2e.test.ts
image-generation.infer-cli.live.test.ts
image-generation.runtime.live.test.ts
imessage-reply-alias.integration.test.ts fix(telegram): retain discussion between mentions without flooding context (#151911) 2026-09-19 09:40:19 +05:30
jsdom-custom-elements.test.ts
jsdom-custom-elements.ts
line-question-gateway.test.ts feat(line): let a LINE tap answer the question an agent asked (#133421) 2026-09-10 20:31:40 -07:00
linux-dashboard-recovery.test.ts fix(linux): offer correction updates and retain download retry (#146050) 2026-09-14 17:55:16 +08:00
linux-quickchat-stream.test.ts fix(linux): keep Quick Chat widgets bound to their Gateway (#146049) 2026-09-14 16:06:55 +08:00
loopback-ask-user-telegram-channel.test.ts fix: revoke CLI tool access when a run is canceled (#149154) 2026-09-15 16:53:51 +01:00
matrix-channel-read-authority.integration.test.ts refactor(matrix): run credential and crypto snapshot storage in workers (#149548) 2026-09-15 20:37:36 -07:00
matrix-client-crypto-authority.integration.test.ts fix: restore Matrix context reads in official installs (#147665) 2026-09-14 12:40:11 +01:00
matrix-transport-read-authority.integration.test.ts fix: restore Matrix context reads in official installs (#147665) 2026-09-14 12:40:11 +01:00
mcp-show-redact.e2e.test.ts
msteams-read-authority.integration.test.ts fix: stop Teams Graph actions when their caller closes (#151237) 2026-09-18 01:25:44 +01:00
msteams-read-target.integration.test.ts fix(cli): honor Teams message search targets and limits (#149353) 2026-09-16 06:57:08 +05:30
node-host-launcher.test.ts fix(gateway): preserve active work during recovered Node restarts (#153435) 2026-09-19 22:41:17 -07:00
non-isolated-runner.gateway-lifecycle-fixtures.ts fix: avoid worker OOMs in full Gateway-core test runs (#148971) 2026-09-15 09:38:42 -07:00
non-isolated-runner.mock-resolution-fixtures.ts fix(gateway): classify opening timeouts and repair lifetime checks (#146508) 2026-09-12 17:13:42 -07:00
non-isolated-runner.test-api-fixtures.ts fix(ci): run Gateway database-worker tests in parallel (#153144) 2026-09-19 13:41:53 -07:00
non-isolated-runner.test.ts test: restore document focus after shared cleanup (#152065) 2026-09-18 12:42:32 -07:00
non-isolated-runner.ts fix(ci): run Gateway database-worker tests in parallel (#153144) 2026-09-19 13:41:53 -07:00
npm-publish-plan.test.ts fix(ci): check publication registries before FRV fanout (#147184) 2026-09-14 02:07:41 +08:00
oauth-refresh-authority-chain.e2e.test.ts fix(auth): fence shared OAuth refresh generations (#141477) 2026-09-09 02:08:10 +08:00
official-channel-catalog.test.ts
onboard-plugin-warnings.e2e.test.ts
openai-model-discovery-auth-order.test.ts fix(models): refresh device sign-in credentials before discovery (#148482) 2026-09-15 01:25:53 +05:30
openai-onboarding.live.test.ts fix(live): use supported default onboarding thinking (#150474) 2026-09-17 07:27:46 +00:00
openclaw-launcher-version.e2e.test.ts fix(gateway): preserve active work during recovered Node restarts (#153435) 2026-09-19 22:41:17 -07:00
openclaw-launcher.e2e.test.ts fix(gateway): preserve active work during recovered Node restarts (#153435) 2026-09-19 22:41:17 -07:00
openclaw-npm-postpublish-verify.test.ts fix(nodes): bootstrap source builds with private QA tooling (#149926) 2026-09-16 04:08:49 -07:00
openclaw-npm-prepublish-verify.test.ts
openclaw-npm-release-check.test.ts fix(release): allow shipped Markdown guides in npm checks (#143699) 2026-09-09 23:18:18 -07:00
openclaw-prepack.test.ts test(release): seed the prepack fixture toolchain lock (#150832) 2026-09-17 04:28:47 -07:00
outbound-sanitize-text-delivery.test.ts
package-manager-config.test.ts
package-scripts.test.ts fix(update): complete plugin runtime artifacts on first Git update (#145664) 2026-09-12 07:46:15 -07:00
plugin-clawhub-metadata.test.ts fix(release): publish frozen plugins with valid ClawHub categories (#144615) 2026-09-11 00:22:21 -07:00
plugin-clawhub-release.test.ts fix(ci): check publication registries before FRV fanout (#147184) 2026-09-14 02:07:41 +08:00
plugin-cron-registry-owner.e2e.test.ts fix(test): align recovery and history fixtures with runtime contracts (#139733) 2026-09-05 23:04:10 -07:00
plugin-extension-import-boundary.test.ts
plugin-npm-package-manifest.test.ts fix: restore plugin publishing for candidates with legacy shrinkwraps (#151334) 2026-09-18 03:19:07 +00:00
plugin-npm-release.test.ts fix(plugins): reconcile deferred bundled publication (#150331) 2026-09-17 00:44:51 -07:00
plugin-npm-runtime-build.test.ts feat(plugins): add experimental FaceTime realtime voice bridge (#119291) 2026-09-19 20:36:04 -07:00
pr111899-accepted-run-transport-loss.e2e.test.ts fix(cli): identify accepted runs after agent transport loss (#111899) 2026-09-08 22:22:59 +05:30
pr119473-real-runtime-proof.e2e.test.ts
pr126853-heartbeat-visible-lane-proof.e2e.test.ts
pr142176-real-runtime-proof.e2e.test.ts fix(agents): retry silent malformed tool rejections (#142176) 2026-09-09 08:54:18 +05:30
progress-card-channel-literals.integration.test.ts fix(channels): show progress-card notes in drafts (#144790) 2026-09-13 21:08:45 +05:30
provider-auth-method.radius.integration.test.ts test: route provider integration and wizard recovery tests correctly (#148504) 2026-09-14 13:39:07 -07:00
qa-channel-message-tool-delivery.test.ts refactor(qa): keep Crabline thread identity structured (#124467) 2026-09-17 03:56:09 -07:00
qa-convex-credential-payload-validation.test.ts
release-check.test.ts fix(release): qualify 2026.7.34 frozen SDK (#152230) 2026-09-18 23:28:00 +00:00
release-version.test.ts fix(linux): offer correction updates and retain download retry (#146050) 2026-09-14 17:55:16 +08:00
repository-test-api-publications.ts fix(telegram): retain discussion between mentions without flooding context (#151911) 2026-09-19 09:40:19 +05:30
runtime-agent.codex-initialization.integration.test.ts
scripts-update-gateway.test.ts fix(updater): protect the live gateway during clean builds (#125896) 2026-09-19 03:08:07 -06:00
setup-home-isolation.test.ts
setup-openclaw-runtime.ts fix: close prepared model runtimes before auth teardown (#141280) 2026-09-07 09:08:23 -07:00
setup.env.ts
setup.extensions.ts perf(sessions): keep cleanup responsive and reuse workers (#140897) 2026-09-13 05:06:06 -07:00
setup.shared.ts test: release shared setup exit listener (#148404) 2026-09-15 01:55:36 +00:00
setup.signal.ts fix(signal): refuse account deletion that activates a shadowed identity (#145981) 2026-09-12 20:54:39 +05:30
setup.ts fix: prepare Bun SQLite before Vitest workers (#145198) 2026-09-11 13:08:29 -07:00
skill-usage.codex.integration.test.ts fix(skills): restore usage counts and current Workshop inventory (#151048) 2026-09-18 12:17:09 +05:30
skills-proposal-manual-target.e2e.test.ts fix(qa): align auth and Workshop proofs with runtime contracts (#142280) 2026-09-08 08:49:35 -07:00
slack-download-read-authority.integration.test.ts fix: preserve file operations with fs-safe 0.13.1 (#150263) 2026-09-16 17:21:11 -07:00
slack-outbound-permanent-rejection-loopback.test.ts
stable-release-closeout.test.ts refactor: split release changelogs and synchronize docs mirrors (#145464) 2026-09-11 21:19:18 -07:00
status-shared-state-readonly.e2e.test.ts fix(plugins): retain update authority through doctor effects (#144316) 2026-09-13 15:26:58 -06:00
subagent-announce-origin.integration.test.ts fix: keep subagent completions on the selected conversation (#144704) 2026-09-11 03:00:41 -07:00
subagent-requester-owner.e2e.test.ts fix: distinguish active subagents from retained task state (#152514) 2026-09-19 13:32:38 +05:30
system-agent-managed-auth.e2e.test.ts fix(ci): align Gateway E2E expectations (#148653) 2026-09-15 11:52:14 +08:00
talk-browser-defaults.test.ts feat: switch voices during Talk and Discord calls (#146676) 2026-09-15 21:01:36 -07:00
telegram-history-read.integration.test.ts fix(telegram): retain discussion between mentions without flooding context (#151911) 2026-09-19 09:40:19 +05:30
telegram-outbound-permanent-rejection-loopback.test.ts fix(telegram): replies are lost when the HTTP proxy refuses the tunnel (#140388) 2026-09-10 02:31:34 +05:30
telegram-question-gateway.test.ts feat(codex): add plugin setup, status, refresh, and catalog search (#132158) 2026-09-09 19:56:41 -07:00
telegram-recovery-notice-send.test.ts test(telegram): remove rate waits from recovery fence (#151424) 2026-09-19 19:49:14 -07:00
telegram-reply-conversation.test.ts
test-env.state-lifetime.test.ts refactor(tests): import SQLite cleanup from native owners (#145731) 2026-09-12 00:29:25 -07:00
test-env.test.ts fix(gateway): install despite stale Linux session bus addresses (#146569) 2026-09-13 06:45:35 -07:00
test-env.ts fix(doctor): preserve channel ownership across updates (#150555) 2026-09-17 04:03:27 -07:00
test-helper-extension-import-boundary.test.ts
test-home-context.mts
test-home-policy.mts
transcripts-discord-audio.integration.test.ts fix(media): report CLI models with missing command or args (#151969) 2026-09-18 13:41:34 -07:00
transcripts-tool.discord-lifecycle.integration.test.ts test(transcripts): await persisted Discord capture retirement (#153117) 2026-09-19 14:51:21 -07:00
transcripts-tool.discord-provider.integration.test.ts refactor(transcripts): run stored lookups in the shared SQLite worker (#146547) 2026-09-18 08:52:29 -07:00
tsconfig.json
twitch-message-tool-delivery.test.ts
ui.presenter-next-run.test.ts
vitest-boundary-config.test.ts
vitest-cli-ownership.test.ts feat: offload data-only keyed plugin state operations (#146557) 2026-09-14 16:36:30 -07:00
vitest-credential-redaction.test.ts fix(test): redact credentials from Vitest failure reports (#150983) 2026-09-17 10:32:29 -07:00
vitest-dependency-resolution.test.ts
vitest-light-paths.test.ts
vitest-performance-config.test.ts
vitest-projects-config.test-support.ts improve(test): avoid full builds for session history HTTP checks (#143096) 2026-09-09 22:04:58 +09:00
vitest-projects-config.test.ts test: diagnose stalled infra test workers (#152381) 2026-09-19 03:53:39 -07:00
vitest-redacting-reporter.test.ts fix(test): redact credentials from Vitest failure reports (#150983) 2026-09-17 10:32:29 -07:00
vitest-reporters-config.test.ts fix(test): redact credentials from Vitest failure reports (#150983) 2026-09-17 10:32:29 -07:00
vitest-scoped-config.test.ts fix: resume unfinished tasks after Gateway restarts (#153243) 2026-09-19 17:07:32 -07:00
vitest-ui-e2e-config.test.ts fix(test): report local Gateway transport failures early (#152309) 2026-09-19 01:57:53 -07:00
vitest-ui-e2e-prebuilt.test.ts fix(update): keep old updaters able to restart the Gateway (#142195) 2026-09-08 10:43:46 -07:00
vitest-ui-e2e-preflight.test.ts fix(test): report local Gateway transport failures early (#152309) 2026-09-19 01:57:53 -07:00
vitest-ui-package-config.test.ts fix(ui): settings reload can overflow the browser stack (#147970) 2026-09-14 05:44:28 -07:00
vitest-unit-config.test.ts
vitest-unit-fast-config.test.ts perf(agents): reuse prepared provider request headers (#152722) 2026-09-19 04:33:00 -07:00
vitest-unit-paths.test.ts fix(test): isolate database verifier process test (#121735) 2026-09-14 22:18:16 -06:00