diff --git a/extensions/matrix/src/actions.test.ts b/extensions/matrix/src/actions.test.ts index 6656d2d1f67..519fa7ffc7e 100644 --- a/extensions/matrix/src/actions.test.ts +++ b/extensions/matrix/src/actions.test.ts @@ -195,7 +195,7 @@ describe("matrixMessageActions", () => { } const actions = discovery.actions; - expect(actions).toEqual([]); + expect(actions).toStrictEqual([]); }); it("honors the selected Matrix account during discovery", () => { diff --git a/extensions/matrix/src/directory-live.test.ts b/extensions/matrix/src/directory-live.test.ts index 623d0c18c6e..d44230957c6 100644 --- a/extensions/matrix/src/directory-live.test.ts +++ b/extensions/matrix/src/directory-live.test.ts @@ -104,7 +104,7 @@ describe("matrix directory live", () => { query: " ", }); - expect(result).toEqual([]); + expect(result).toStrictEqual([]); expect(resolveMatrixAuth).not.toHaveBeenCalled(); expect(requestJsonMock).not.toHaveBeenCalled(); }); @@ -115,7 +115,7 @@ describe("matrix directory live", () => { query: "", }); - expect(result).toEqual([]); + expect(result).toStrictEqual([]); expect(resolveMatrixAuth).not.toHaveBeenCalled(); expect(requestJsonMock).not.toHaveBeenCalled(); }); diff --git a/extensions/matrix/src/doctor.test.ts b/extensions/matrix/src/doctor.test.ts index c4548a2daf8..44529c1c3c8 100644 --- a/extensions/matrix/src/doctor.test.ts +++ b/extensions/matrix/src/doctor.test.ts @@ -383,7 +383,7 @@ describe("matrix doctor", () => { } as never, }); - expect(result.changes).toEqual([]); + expect(result.changes).toStrictEqual([]); expect(result.config).toEqual({ channels: { matrix: { diff --git a/extensions/matrix/src/exec-approvals.test.ts b/extensions/matrix/src/exec-approvals.test.ts index 83476e8e2e7..28d43f2786f 100644 --- a/extensions/matrix/src/exec-approvals.test.ts +++ b/extensions/matrix/src/exec-approvals.test.ts @@ -152,7 +152,7 @@ describe("matrix exec approvals", () => { it("ignores wildcard allowlist entries when inferring exec approvers", () => { const cfg = buildConfig({ enabled: true }, { dm: { allowFrom: ["*"] } }); - expect(getMatrixExecApprovalApprovers({ cfg })).toEqual([]); + expect(getMatrixExecApprovalApprovers({ cfg })).toStrictEqual([]); expect(isMatrixExecApprovalClientEnabled({ cfg })).toBe(false); }); diff --git a/extensions/matrix/src/legacy-crypto.test.ts b/extensions/matrix/src/legacy-crypto.test.ts index a44bb55119e..a9907e2c63b 100644 --- a/extensions/matrix/src/legacy-crypto.test.ts +++ b/extensions/matrix/src/legacy-crypto.test.ts @@ -93,7 +93,7 @@ describe("matrix legacy encrypted-state migration", () => { const detection = detectLegacyMatrixCrypto({ cfg, env: process.env }); expect(detection.inspectorAvailable).toBe(true); - expect(detection.warnings).toEqual([]); + expect(detection.warnings).toStrictEqual([]); expect(detection.plans).toHaveLength(1); const result = await autoPrepareLegacyMatrixCrypto({ @@ -110,7 +110,7 @@ describe("matrix legacy encrypted-state migration", () => { }); expect(result.migrated).toBe(true); - expect(result.warnings).toEqual([]); + expect(result.warnings).toStrictEqual([]); const recovery = JSON.parse( fs.readFileSync(path.join(rootDir, "recovery-key.json"), "utf8"), diff --git a/extensions/matrix/src/legacy-state.test.ts b/extensions/matrix/src/legacy-state.test.ts index ce7f110a9a2..ba612f26dd6 100644 --- a/extensions/matrix/src/legacy-state.test.ts +++ b/extensions/matrix/src/legacy-state.test.ts @@ -35,7 +35,7 @@ describe("matrix legacy state migration", () => { const result = await autoMigrateLegacyMatrixState({ cfg, env: process.env }); expect(result.migrated).toBe(true); - expect(result.warnings).toEqual([]); + expect(result.warnings).toStrictEqual([]); expect(fs.existsSync(path.join(stateDir, "matrix", "bot-storage.json"))).toBe(false); expect(fs.existsSync(path.join(stateDir, "matrix", "crypto"))).toBe(false); expect(fs.existsSync(detection.targetStoragePath)).toBe(true); diff --git a/extensions/matrix/src/matrix/actions/reactions.test.ts b/extensions/matrix/src/matrix/actions/reactions.test.ts index 4bddda6245d..e0a89226750 100644 --- a/extensions/matrix/src/matrix/actions/reactions.test.ts +++ b/extensions/matrix/src/matrix/actions/reactions.test.ts @@ -118,7 +118,7 @@ describe("matrix reaction actions", () => { const result = await listMatrixReactions("!room:example.org", "$msg", { client }); - expect(result).toEqual([]); + expect(result).toStrictEqual([]); }); it("rejects blank message ids before querying Matrix relations", async () => { diff --git a/extensions/matrix/src/matrix/direct-management.test.ts b/extensions/matrix/src/matrix/direct-management.test.ts index 4fa17052cd8..3dd40db72ce 100644 --- a/extensions/matrix/src/matrix/direct-management.test.ts +++ b/extensions/matrix/src/matrix/direct-management.test.ts @@ -126,7 +126,7 @@ describe("inspectMatrixDirectRooms", () => { }); expect(result.activeRoomId).toBeNull(); - expect(result.discoveredStrictRoomIds).toEqual([]); + expect(result.discoveredStrictRoomIds).toStrictEqual([]); }); }); diff --git a/extensions/matrix/src/matrix/monitor/access-state.test.ts b/extensions/matrix/src/matrix/monitor/access-state.test.ts index e5cbc8d2af7..2254e8eaffe 100644 --- a/extensions/matrix/src/matrix/monitor/access-state.test.ts +++ b/extensions/matrix/src/matrix/monitor/access-state.test.ts @@ -58,7 +58,7 @@ describe("resolveMatrixMonitorAccessState", () => { isRoom: false, }); - expect(state.effectiveAllowFrom).toEqual([]); + expect(state.effectiveAllowFrom).toStrictEqual([]); expect(state.directAllowMatch.allowed).toBe(false); }); diff --git a/extensions/matrix/src/matrix/monitor/config.test.ts b/extensions/matrix/src/matrix/monitor/config.test.ts index 575b83f81a9..19d02b1e3d1 100644 --- a/extensions/matrix/src/matrix/monitor/config.test.ts +++ b/extensions/matrix/src/matrix/monitor/config.test.ts @@ -124,7 +124,7 @@ describe("resolveMatrixMonitorConfig", () => { resolveTargets, }); - expect(result.allowFrom).toEqual([]); + expect(result.allowFrom).toStrictEqual([]); expect(result.groupAllowFrom).toEqual(["@known:example.org"]); expect(result.roomsConfig).toStrictEqual({}); expect(resolveTargets).toHaveBeenNthCalledWith( diff --git a/extensions/matrix/src/matrix/monitor/index.test.ts b/extensions/matrix/src/matrix/monitor/index.test.ts index a41d3c10b41..e6de2f682fb 100644 --- a/extensions/matrix/src/matrix/monitor/index.test.ts +++ b/extensions/matrix/src/matrix/monitor/index.test.ts @@ -508,7 +508,7 @@ describe("monitorMatrixProvider", () => { await monitorMatrixProvider({ abortSignal: abortController.signal }); - expect(hoisted.callOrder).toEqual([]); + expect(hoisted.callOrder).toStrictEqual([]); expect(hoisted.resolveTextChunkLimit).not.toHaveBeenCalled(); expect(hoisted.createMatrixRoomMessageHandler).not.toHaveBeenCalled(); expect(hoisted.setActiveMatrixClient).not.toHaveBeenCalled(); diff --git a/extensions/matrix/src/matrix/sdk/idb-persistence.test.ts b/extensions/matrix/src/matrix/sdk/idb-persistence.test.ts index 096addda4eb..9e23619a71f 100644 --- a/extensions/matrix/src/matrix/sdk/idb-persistence.test.ts +++ b/extensions/matrix/src/matrix/sdk/idb-persistence.test.ts @@ -103,7 +103,7 @@ describe("Matrix IndexedDB persistence", () => { expect(restored).toBe(false); const dbs = await indexedDB.databases(); - expect(dbs).toEqual([]); + expect(dbs).toStrictEqual([]); }); it("returns false without warning when the snapshot does not exist yet", async () => { diff --git a/extensions/matrix/src/matrix/sdk/verification-manager.test.ts b/extensions/matrix/src/matrix/sdk/verification-manager.test.ts index 34a1b49ac79..25a4731ae23 100644 --- a/extensions/matrix/src/matrix/sdk/verification-manager.test.ts +++ b/extensions/matrix/src/matrix/sdk/verification-manager.test.ts @@ -162,7 +162,7 @@ describe("MatrixVerificationManager", () => { const summary = manager.trackVerificationRequest(request); expect(summary.id).toMatch(/^verification-\d+$/u); - expect(summary.methods).toEqual([]); + expect(summary.methods).toStrictEqual([]); expect(summary.phaseName).toBe("requested"); }); diff --git a/extensions/matrix/src/matrix/thread-bindings.test.ts b/extensions/matrix/src/matrix/thread-bindings.test.ts index 835bf2de34d..8636f052e4d 100644 --- a/extensions/matrix/src/matrix/thread-bindings.test.ts +++ b/extensions/matrix/src/matrix/thread-bindings.test.ts @@ -556,7 +556,7 @@ describe("matrix thread bindings", () => { }); expect(replacementManager).not.toBe(initialManager); - expect(replacementManager.listBindings()).toEqual([]); + expect(replacementManager.listBindings()).toStrictEqual([]); expect( getSessionBindingService().resolveByConversation({ channel: "matrix", diff --git a/extensions/matrix/src/migration-snapshot.test.ts b/extensions/matrix/src/migration-snapshot.test.ts index 9482068d176..5b6f1048aef 100644 --- a/extensions/matrix/src/migration-snapshot.test.ts +++ b/extensions/matrix/src/migration-snapshot.test.ts @@ -133,7 +133,7 @@ describe("matrix migration snapshots", () => { }); expect(detection.inspectorAvailable).toBe(true); expect(detection.plans).toHaveLength(1); - expect(detection.warnings).toEqual([]); + expect(detection.warnings).toStrictEqual([]); expect( hasActionableMatrixMigration({ cfg, diff --git a/extensions/signal/src/format.chunking.test.ts b/extensions/signal/src/format.chunking.test.ts index ef8fffc2ebe..0e04b35108c 100644 --- a/extensions/signal/src/format.chunking.test.ts +++ b/extensions/signal/src/format.chunking.test.ts @@ -62,7 +62,7 @@ describe("splitSignalFormattedText", () => { it("empty text returns empty array", () => { // Empty input produces no chunks (not an empty chunk) const chunks = markdownToSignalTextChunks("", 100); - expect(chunks).toEqual([]); + expect(chunks).toStrictEqual([]); }); it("text under limit returns single chunk unchanged", () => { diff --git a/extensions/signal/src/format.test.ts b/extensions/signal/src/format.test.ts index 1ed5785b65c..b5350b12590 100644 --- a/extensions/signal/src/format.test.ts +++ b/extensions/signal/src/format.test.ts @@ -18,7 +18,7 @@ describe("markdownToSignalText", () => { const res = markdownToSignalText("see [docs](https://example.com) and https://example.com"); expect(res.text).toBe("see docs (https://example.com) and https://example.com"); - expect(res.styles).toEqual([]); + expect(res.styles).toStrictEqual([]); }); it("keeps style offsets correct with multiple expanded links", () => { @@ -55,7 +55,7 @@ describe("markdownToSignalText", () => { const res = markdownToSignalText("- one\n- two"); expect(res.text).toBe("• one\n• two"); - expect(res.styles).toEqual([]); + expect(res.styles).toStrictEqual([]); }); it("uses UTF-16 code units for offsets", () => { diff --git a/extensions/signal/src/message-actions.test.ts b/extensions/signal/src/message-actions.test.ts index d643f266f89..7ff2ca4d89b 100644 --- a/extensions/signal/src/message-actions.test.ts +++ b/extensions/signal/src/message-actions.test.ts @@ -33,7 +33,7 @@ describe("signalMessageActions", () => { it("lists actions based on configured accounts and reaction gates", () => { expect( signalMessageActions.describeMessageTool?.({ cfg: {} as OpenClawConfig })?.actions ?? [], - ).toEqual([]); + ).toStrictEqual([]); expect( signalMessageActions.describeMessageTool?.({ diff --git a/extensions/signal/src/send.test.ts b/extensions/signal/src/send.test.ts index fb4156230d2..dbd38ff5a43 100644 --- a/extensions/signal/src/send.test.ts +++ b/extensions/signal/src/send.test.ts @@ -106,6 +106,6 @@ describe("sendMessageSignal receipts", () => { }); expect(result.messageId).toBe("unknown"); - expect(result.receipt.platformMessageIds).toEqual([]); + expect(result.receipt.platformMessageIds).toStrictEqual([]); }); }); diff --git a/extensions/slack/src/monitor/media.test.ts b/extensions/slack/src/monitor/media.test.ts index 2afc8917da5..84ac684b2b0 100644 --- a/extensions/slack/src/monitor/media.test.ts +++ b/extensions/slack/src/monitor/media.test.ts @@ -976,7 +976,7 @@ describe("resolveSlackThreadHistory", () => { limit: 0, }); - expect(result).toEqual([]); + expect(result).toStrictEqual([]); expect(replies).not.toHaveBeenCalled(); }); @@ -994,7 +994,7 @@ describe("resolveSlackThreadHistory", () => { limit: 20, }); - expect(result).toEqual([]); + expect(result).toStrictEqual([]); expect(vi.mocked(logVerbose)).toHaveBeenCalledWith( expect.stringContaining("slack thread history fetch failed"), ); diff --git a/extensions/whatsapp/setup-entry.test.ts b/extensions/whatsapp/setup-entry.test.ts index 6c997e225b1..3350475d918 100644 --- a/extensions/whatsapp/setup-entry.test.ts +++ b/extensions/whatsapp/setup-entry.test.ts @@ -27,7 +27,7 @@ describe("whatsapp setup entry", () => { oauthDir: "/tmp/openclaw-whatsapp-empty", stateDir: "/tmp/openclaw-state", }), - ).toEqual([]); + ).toStrictEqual([]); expect(setupEntry.loadLegacySessionSurface?.()).toEqual({ canonicalizeLegacySessionKey: expect.any(Function), isLegacyGroupSessionKey: expect.any(Function), diff --git a/extensions/whatsapp/src/auto-reply/monitor/last-route.test.ts b/extensions/whatsapp/src/auto-reply/monitor/last-route.test.ts index 8f1e5829c8f..8c335dc4823 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/last-route.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/last-route.test.ts @@ -35,6 +35,6 @@ describe("trackBackgroundTask", () => { await waitForAsyncCallbacks(); expect(backgroundTasks.size).toBe(0); - expect(unhandledRejections).toEqual([]); + expect(unhandledRejections).toStrictEqual([]); }); }); diff --git a/extensions/whatsapp/src/auto-reply/monitor/on-message.audio-preflight.test.ts b/extensions/whatsapp/src/auto-reply/monitor/on-message.audio-preflight.test.ts index 7cc181d616b..2fbadc7b034 100644 --- a/extensions/whatsapp/src/auto-reply/monitor/on-message.audio-preflight.test.ts +++ b/extensions/whatsapp/src/auto-reply/monitor/on-message.audio-preflight.test.ts @@ -202,7 +202,7 @@ describe("createWebOnMessageHandler audio preflight", () => { await handler({ ...makeAudioMsg(), accessControlPassed: undefined }); - expect(events).toEqual([]); + expect(events).toStrictEqual([]); expect(transcribeFirstAudioMock).not.toHaveBeenCalled(); expect(maybeSendAckReactionMock).not.toHaveBeenCalled(); expect(processMessageMock).toHaveBeenCalledWith( diff --git a/extensions/whatsapp/src/doctor.test.ts b/extensions/whatsapp/src/doctor.test.ts index 10a1875308e..ef04bc19fa8 100644 --- a/extensions/whatsapp/src/doctor.test.ts +++ b/extensions/whatsapp/src/doctor.test.ts @@ -13,7 +13,7 @@ describe("whatsapp doctor compatibility", () => { }); expect(result.config.channels?.whatsapp).toBeUndefined(); - expect(result.changes).toEqual([]); + expect(result.changes).toStrictEqual([]); }); it("copies legacy ack reaction into configured whatsapp channel", () => { @@ -69,6 +69,6 @@ describe("whatsapp doctor compatibility", () => { direct: true, group: "always", }); - expect(result.changes).toEqual([]); + expect(result.changes).toStrictEqual([]); }); }); diff --git a/extensions/whatsapp/src/inbound/send-api.test.ts b/extensions/whatsapp/src/inbound/send-api.test.ts index cb7c20bdf37..00b13a96ddd 100644 --- a/extensions/whatsapp/src/inbound/send-api.test.ts +++ b/extensions/whatsapp/src/inbound/send-api.test.ts @@ -275,7 +275,7 @@ describe("createWebSendApi", () => { messageId: "unknown", providerAccepted: false, }); - expect(res.receipt ? listMessageReceiptPlatformIds(res.receipt) : []).toEqual([]); + expect(res.receipt ? listMessageReceiptPlatformIds(res.receipt) : []).toStrictEqual([]); }); it("keeps direct-chat reactions without a participant key", async () => { diff --git a/extensions/whatsapp/src/status-issues.test.ts b/extensions/whatsapp/src/status-issues.test.ts index 43d76ebf508..9ff29d854d4 100644 --- a/extensions/whatsapp/src/status-issues.test.ts +++ b/extensions/whatsapp/src/status-issues.test.ts @@ -132,6 +132,6 @@ describe("collectWhatsAppStatusIssues", () => { }, ]); - expect(issues).toEqual([]); + expect(issues).toStrictEqual([]); }); });