openclaw/test
Peter Steinberger 4e9e68140a
fix(zalouser): avoid Gateway stalls during credential persistence (#156003)
* fix(zalouser): avoid Gateway stalls during credential persistence

Move QR credential saves and logout revocation onto the shared SQLite worker,
await their durable completion, and keep restoration behind pending revocation
on its originally selected state directory. Preserve the credential format,
revocation markers, refresh CAS, and named older-host capability fallback.

Carry a live hosted-wizard assertion through setup and into the final write
grant so a detached QR login cannot persist after its owner is retired.

Validation: 172 focused tests across worker storage, registered setup, synthetic
SDK transport, and core wizard lifecycle; complete independent P2 review clean.
Repository gates: 34 passed, 3 unchanged core gates reused. The inherited unused
TSGO_CORE_TEST_MAX_ROOTS export is the sole remaining gate failure on this base;
canonical fix 1619aff478 supplies its repair.

Regression controls prove the former host-SQL logout path, a missing final
wizard-lifetime guard, and state-root drift across a pending logout. No live
provider account, operator Gateway restart, schema change, or protocol bump.

* test(gateway): await recap publication before projection assertion

Wait for the existing owner's next publication after releasing the model result,
assert its captured state without filtering successful outcomes, and check one
direct describe response. Preserve the durable watermark and model-call assertions.
No production logic or test deadline changes.

Validation: 22 cases on the exact tested CI merge with Node 24.21; real writer
queue probe preserves the old updating recap until write settlement, then exposes
the published current recap. Owning type graph, typed lint, formatting, and P2
review pass. The initial CI log redacts the returned summary, so the change does
not claim that its historical failure was proved timing-only.

* test(discord): scope policy reload fixture activation

Limit the synthetic policy fixture to its Discord plugin so real reloads do
not cold-load unrelated runtime plugins. Require the reload to report
applied while preserving the active-turn, held lookup and revocation flow.

Exact CI merge-source proof passed locally in 15.3s. Root fixture types,
typed lint, formatting and independent review passed. No production code
or test timeout changed.
2026-09-23 08:23:57 -07:00
..
contracts
e2e fix(test): include limit helper in packaging harness 2026-09-23 03:48:11 -07:00
fixtures fix(ci): avoid dependency warnings from unrelated main updates (#156040) 2026-09-22 19:52:41 -05:00
helpers refactor(auto-reply): deslop auto-reply (#156377) 2026-09-23 05:48:44 -07:00
mocks
plugins fix(worktrees): retire redundant removed snapshots explicitly (#156464) 2026-09-23 13:08:27 +00:00
scripts fix(ci): give hosted Control UI checks the 35-minute budget on full-release dispatches (#156570) 2026-09-23 08:19:49 -07:00
tsconfig chore(qa): add Crabline Slack callback candidate tests (#155890) 2026-09-23 09:57:27 +08:00
type-contracts refactor: check type contracts without runtime test startup (#155099) 2026-09-23 02:05:05 -07:00
vitest ci: shorten and split real-Gateway UI validation (#156270) 2026-09-23 08:04:22 -07:00
agent-exec-code-mode.live.test.ts fix(test): restore the installed Code Mode live fixture (#153442) 2026-09-19 22:55:17 -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: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
architecture-smells.test.ts
buzz-account-config-mutation.test.ts
canonical-descendant.integration.test.ts fix: honor sandbox requirements for native forks (#155358) 2026-09-22 05:31:57 +01: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
cli-json-stdout.agents.e2e.test.ts test(cli): trim redundant agent process cases (#153993) 2026-09-20 23:19:41 -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 test(cli): reuse model refresh migration proof (#153995) 2026-09-20 23:19:59 -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 test(cli): trim redundant session process cases (#153994) 2026-09-20 23:19:04 -07:00
cli-json-stdout.skills.e2e.test.ts test(cli): restore skills process coverage (#154686) 2026-09-21 15:52:00 -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
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: prevent replies through stale conversation bindings (#154864) 2026-09-22 11:04:52 -07:00
discord-live-policy.integration.test.ts fix(zalouser): avoid Gateway stalls during credential persistence (#156003) 2026-09-23 08:23:57 -07:00
discord-metadata-read-authority.integration.test.ts fix: avoid blocking channel operations on stored account credentials (#156267) 2026-09-23 03:27:50 -07:00
doctor-copied-state-migration.e2e.test.ts fix: avoid slow task lookups and maintenance as history grows (#153548) 2026-09-20 03:00:27 -07:00
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
extension-test-boundary.test.ts fix(proxy): coverage reports nonexistent plugin source paths (#154641) 2026-09-21 02:30:09 -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-a2a.e2e.test.ts fix(a2a): complete tasks under message-tool-only reply policy (#154317) 2026-09-21 18:32:35 +05:30
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
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 test(gateway): bind restored requester fixture provenance (#155621) 2026-09-22 05:14:43 -07:00
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
gateway.multi.e2e.test.ts fix(test): preserve selected CLI and Gateway runtime (#154809) 2026-09-21 06:01:47 -07:00
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
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 feat: redesign Tauri Quick Chat and simplify effort controls (#153564) 2026-09-20 03:06:09 -07: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 feat: enable desktop sharing by default with Mac and Tauri settings (#153359) 2026-09-20 06:34:59 -07:00
non-isolated-runner.agent-reader-fixtures.ts fix: close agent database readers between test files (#153749) 2026-09-20 07:33:20 -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
non-isolated-runner.sqlite-fixtures.ts fix(sqlite): drain idle coordinators at lifecycle teardown 2026-09-22 03:07:12 -07:00
non-isolated-runner.sqlite.test.ts fix(state): attribute database teardown failures to their test file (#155312) 2026-09-22 01:12:13 +00:00
non-isolated-runner.test-api-fixtures.ts fix: preserve restart cleanup and initial chat positioning (#153267) 2026-09-20 02:52:09 -07:00
non-isolated-runner.test.ts fix: close agent database readers between test files (#153749) 2026-09-20 07:33:20 -07:00
non-isolated-runner.ts fix(state): attribute database teardown failures to their test file (#155312) 2026-09-22 01:12:13 +00:00
npm-publish-plan.test.ts
oauth-refresh-authority-chain.e2e.test.ts
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(test): pass the fixture lifetime to launcher fixtures (#155825) 2026-09-22 16:36:04 +00:00
openclaw-npm-postpublish-verify.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
openclaw-npm-prepublish-verify.test.ts
openclaw-npm-release-check.test.ts
openclaw-prepack.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
outbound-sanitize-text-delivery.test.ts
package-manager-config.test.ts
package-scripts.test.ts
plugin-clawhub-metadata.test.ts
plugin-clawhub-release.test.ts feat(release): add non-Latest extended-stable releases (#154515) 2026-09-21 00:29:24 -07:00
plugin-cron-registry-owner.e2e.test.ts
plugin-extension-import-boundary.test.ts
plugin-npm-package-manifest.test.ts test(plugins): reuse packed registry fixtures across package cases (#154247) 2026-09-20 19:54:24 -07: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(themes): support plugin hats and critter artwork (#154935) 2026-09-21 10:30:47 -07:00
pr111899-accepted-run-transport-loss.e2e.test.ts
pr119473-real-runtime-proof.e2e.test.ts
pr126853-heartbeat-visible-lane-proof.e2e.test.ts
pr142176-real-runtime-proof.e2e.test.ts
progress-card-channel-literals.integration.test.ts refactor(channels): centralize progress and final delivery (#155639) 2026-09-22 17:39:33 +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 chore(qa): qualify execution identity across live boundaries (#156033) 2026-09-22 20:15:02 -05:00
release-check.test.ts ci: warn on size and performance limits in GitHub Actions 2026-09-23 02:35:32 -07: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 refactor(auto-reply): deslop auto-reply (#156377) 2026-09-23 05:48:44 -07:00
runtime-agent.codex-initialization.integration.test.ts fix: honor sandbox requirements for native forks (#155358) 2026-09-22 05:31:57 +01:00
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: Gateway fixture cleanup races participant persistence (#156172) 2026-09-22 23:22:40 -07:00
setup.env.ts
setup.extensions.ts refactor(agents): share external harness session and attempt machinery (#152181) 2026-09-22 16:31:59 -07:00
setup.shared.ts test: release shared setup exit listener (#148404) 2026-09-15 01:55:36 +00:00
setup.signal.ts
setup.ts
skill-usage.codex.integration.test.ts refactor(skills): move usage and curator status SQL off the caller thread (#152319) 2026-09-20 09:12:28 -07:00
skills-proposal-manual-target.e2e.test.ts
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
sqlite-test-lifecycle.ts perf(sessions): reuse worker membership snapshots across viewers (#155620) 2026-09-22 12:41:58 +00:00
stable-release-closeout.test.ts feat(macos): support architecture-specific releases (#154595) 2026-09-21 03:47:59 -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
subagent-requester-owner.e2e.test.ts feat(sessions): support explicit local placement for child sessions (#153912) 2026-09-20 21:23:51 -07:00
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 perf(ui): defer voice transports until a call starts (#154666) 2026-09-21 03:41:27 -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
telegram-question-gateway.test.ts fix(gateway): retain question requester authority through settlement (#155335) 2026-09-22 23:22:27 +08: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 refactor(telegram): remove redundant test coverage (#155040) 2026-09-23 00:50:06 -07:00
test-env.state-lifetime.test.ts
test-env.test.ts
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(voice): keep audio flowing while the Gateway is busy (#154119) 2026-09-20 21:49:35 -07:00
transcripts-tool.discord-lifecycle.integration.test.ts improve: keep meeting caption appends off the host thread (#151760) 2026-09-20 10:48:01 -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 test: reduce command and tooling test setup costs (#155503) 2026-09-22 00:09:38 -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 improve(ci): speed up compatible Control UI tests with Bun (#154585) 2026-09-22 02:28:49 -07:00
vitest-projects-config.test-support.ts feat: select and manage installed agents from Models (#150224) 2026-09-20 18:00:12 +05:30
vitest-projects-config.test.ts perf(state): preserve lifecycle publication across concurrent writes (#155631) 2026-09-23 01:26:50 +00:00
vitest-redacting-reporter.test.ts fix: keep cold child compilation outside CI test deadlines (#156011) 2026-09-22 17:41:19 -07:00
vitest-reporters-config.test.ts fix(ci): emit elapsed tooling file timings (#156013) 2026-09-23 00:29:50 +00:00
vitest-scoped-config.test.ts fix(test): prevent Windows worker pipe inheritance 2026-09-21 12:15:56 -07:00
vitest-ui-e2e-config.test.ts ci: shorten and split real-Gateway UI validation (#156270) 2026-09-23 08:04:22 -07:00
vitest-ui-e2e-prebuilt.test.ts ci: shorten and split real-Gateway UI validation (#156270) 2026-09-23 08:04:22 -07:00
vitest-ui-e2e-preflight.test.ts fix(ci): use tooling worker capacity (#153820) 2026-09-21 14:24:33 +00:00
vitest-ui-package-config.test.ts improve(ci): speed up compatible Control UI tests with Bun (#154585) 2026-09-22 02:28:49 -07:00
vitest-unit-config.test.ts
vitest-unit-fast-config.test.ts feat: run Code Mode on Node or isolated QuickJS (#154522) 2026-09-21 17:33:04 -07:00
vitest-unit-paths.test.ts improve: speed up cold Node test planning (#156234) 2026-09-23 06:43:18 +00:00