diff --git a/CHANGELOG.md b/CHANGELOG.md index 13d9eb4bc0c..871d8295cdf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -146,6 +146,7 @@ Docs: https://docs.openclaw.ai - Media/store: honor configured agent media limits when saving generated media and persisting outbound reply media, so the store no longer hard-stops those flows at 5 MB before the configured limit applies. (#66229) Thanks @neeravmakwana and @vincentkoc. - Plugins/setup-entry: preserve separate setup-entry secrets exports when loading bundled setup-runtime channels, so setup-mode flows keep the channel secret contract for split plugin + secrets entrypoints. (#66261) Thanks @hxy91819. - CLI/update: prune stale packaged `dist` chunks after npm upgrades, verify installed package inventory, and keep downgrade/update verification working across older releases. (#66959) Thanks @obviyus. +- Matrix/E2EE: keep startup bootstrap conservative for passwordless token-auth bots, still attempt the guarded repair pass without requiring `channels.matrix.password`, and document the remaining password-UIA limitation. (#66228) Thanks @SARAMALI15792. ## 2026.4.12 diff --git a/docs/channels/matrix.md b/docs/channels/matrix.md index 01c0ae6cd98..f540eced2ab 100644 --- a/docs/channels/matrix.md +++ b/docs/channels/matrix.md @@ -613,7 +613,8 @@ if you want a shorter or longer retry window. Startup also performs a conservative crypto bootstrap pass automatically. That pass tries to reuse the current secret storage and cross-signing identity first, and avoids resetting cross-signing unless you run an explicit bootstrap repair flow. -If startup finds broken bootstrap state and `channels.matrix.password` is configured, OpenClaw can attempt a stricter repair path. +If startup still finds broken bootstrap state, OpenClaw can attempt a guarded repair path even when `channels.matrix.password` is not configured. +If the homeserver requires password-based UIA for that repair, OpenClaw logs a warning and keeps startup non-fatal instead of aborting the bot. If the current device is already owner-signed, OpenClaw preserves that identity instead of resetting it automatically. See [Matrix migration](/install/migrating-matrix) for the full upgrade flow, limits, recovery commands, and common migration messages. diff --git a/extensions/matrix/src/matrix/sdk.test.ts b/extensions/matrix/src/matrix/sdk.test.ts index 7116f8865cd..2f6531d07c0 100644 --- a/extensions/matrix/src/matrix/sdk.test.ts +++ b/extensions/matrix/src/matrix/sdk.test.ts @@ -1280,7 +1280,6 @@ describe("MatrixClient crypto bootstrapping", () => { expect(bootstrapSpy).toHaveBeenCalledTimes(1); expect((bootstrapSpy.mock.calls as unknown[][])[0]?.[1] ?? {}).toEqual({ allowAutomaticCrossSigningReset: false, - allowSecretStorageRecreateWithoutRecoveryKey: true, }); }); diff --git a/extensions/matrix/src/matrix/sdk.ts b/extensions/matrix/src/matrix/sdk.ts index 4155581e573..62771d14243 100644 --- a/extensions/matrix/src/matrix/sdk.ts +++ b/extensions/matrix/src/matrix/sdk.ts @@ -139,7 +139,6 @@ export type MatrixVerificationBootstrapResult = { const MATRIX_INITIAL_CRYPTO_BOOTSTRAP_OPTIONS = { allowAutomaticCrossSigningReset: false, - allowSecretStorageRecreateWithoutRecoveryKey: true, } satisfies MatrixCryptoBootstrapOptions; const MATRIX_AUTOMATIC_REPAIR_BOOTSTRAP_OPTIONS = {