惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
云风的 BLOG
云风的 BLOG
人人都是产品经理
人人都是产品经理
T
The Blog of Author Tim Ferriss
阮一峰的网络日志
阮一峰的网络日志
罗磊的独立博客
J
Java Code Geeks
博客园 - 聂微东
B
Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
腾讯CDC
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
Microsoft Azure Blog
Microsoft Azure Blog
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
美团技术团队
博客园 - Franky
Google DeepMind News
Google DeepMind News
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
The Cloudflare Blog

Recent Commits to openclaw:main

test: merge chat side-result checks · openclaw/openclaw@ddd2c2a test: merge cron history checks · openclaw/openclaw@f7eb746 test: merge responsive navigation shell checks · openclaw/openclaw@c2e4b47 docs(changelog): add codex oauth fixes · openclaw/openclaw@628e6cd test: merge navigation routing cases · openclaw/openclaw@5d8cecb Tests: mock channel registry bundled fallback · openclaw/openclaw@2b08233 Secrets: avoid broad web search discovery for single plugin config · openclaw/openclaw@a464f59 test: merge config view browser checks · openclaw/openclaw@20cf511 fix(status): align oauth health with runtime · openclaw/openclaw@eed7116 feat: add macOS screen snapshots for monitor preview (#67954) thanks … · openclaw/openclaw@f377db1 fix: report shared auth scopes in hello-ok (#67810) thanks @BunsDev · openclaw/openclaw@0b6c39b Auto-reply: avoid eager bundled route fallback · openclaw/openclaw@3ea1bf4 Tests: narrow session binding contract setup · openclaw/openclaw@54e4e16 fix(macOS): enable undo/redo in webchat composer text input (#34962) · openclaw/openclaw@00951dc Tests: speed up channel setup promotion · openclaw/openclaw@82b529a Docs: refresh agent instructions · openclaw/openclaw@5775fe2 fix(auth): serialize OAuth refresh across agents to fix #26322 (#67876) · openclaw/openclaw@8e79080 test: allow ollama public surface boundary test · openclaw/openclaw@7d4f1a6 Docs: add test performance guardrails · openclaw/openclaw@89706d3 Tests: restore context-engine usage proof · openclaw/openclaw@e4c4f95 Tests: slim context engine runtime coverage · openclaw/openclaw@74c198f ci: retry failed custom checkouts · openclaw/openclaw@0ee5baf test: trim duplicate provider auth onboarding cases · openclaw/openclaw@1ffc02e matrix: fix sessions_spawn --thread subagent session spawning (#67643) · openclaw/openclaw@1ce2596 test: reduce auth choice fixture churn · openclaw/openclaw@857b9cd test: mock health status config boundaries · openclaw/openclaw@9d5ab4a test: mock onboard config io boundary · openclaw/openclaw@299694d test: mock legacy state plugin boundaries · openclaw/openclaw@2713089 test: mock channel install boundaries · openclaw/openclaw@b945248 test: mock doctor preview channel boundaries · openclaw/openclaw@b1a3ad4
test: tighten outbound diagnostic assertions · openclaw/o...
steipete · 2026-05-10 · via Recent Commits to openclaw:main

@@ -947,12 +947,11 @@ describe("deliverOutboundPayloads", () => {

947947

queuePolicy: "best_effort",

948948

});

949949950-

expect(afterCommit).toHaveBeenCalledWith(

951-

expect.objectContaining({

952-

kind: "text",

953-

result: expect.objectContaining({ messageId: "message-adapter-1" }),

954-

}),

955-

);

950+

const [[commitParams]] = afterCommit.mock.calls as unknown as Array<

951+

[Record<string, unknown> & { result?: { messageId?: string } }]

952+

>;

953+

expect(commitParams?.kind).toBe("text");

954+

expect(commitParams?.result?.messageId).toBe("message-adapter-1");

956955

expect(queueMocks.ackDelivery).not.toHaveBeenCalled();

957956

});

958957

@@ -1043,23 +1042,20 @@ describe("deliverOutboundPayloads", () => {

10431042

unsubscribe();

10441043

}

104510441046-

const deliveryEvents = events.filter((event) => event.type.startsWith("message.delivery."));

1047-

expect(deliveryEvents).toEqual([

1048-

expect.objectContaining({

1049-

type: "message.delivery.started",

1050-

channel: "matrix",

1051-

deliveryKind: "text",

1052-

sessionKey: "session-1",

1053-

}),

1054-

expect.objectContaining({

1055-

type: "message.delivery.completed",

1056-

channel: "matrix",

1057-

deliveryKind: "text",

1058-

durationMs: expect.any(Number),

1059-

resultCount: 1,

1060-

sessionKey: "session-1",

1061-

}),

1062-

]);

1045+

const deliveryEvents = events.filter((event) =>

1046+

event.type.startsWith("message.delivery."),

1047+

) as Array<Record<string, unknown>>;

1048+

expect(deliveryEvents).toHaveLength(2);

1049+

expect(deliveryEvents[0]?.type).toBe("message.delivery.started");

1050+

expect(deliveryEvents[0]?.channel).toBe("matrix");

1051+

expect(deliveryEvents[0]?.deliveryKind).toBe("text");

1052+

expect(deliveryEvents[0]?.sessionKey).toBe("session-1");

1053+

expect(deliveryEvents[1]?.type).toBe("message.delivery.completed");

1054+

expect(deliveryEvents[1]?.channel).toBe("matrix");

1055+

expect(deliveryEvents[1]?.deliveryKind).toBe("text");

1056+

expect(typeof deliveryEvents[1]?.durationMs).toBe("number");

1057+

expect(deliveryEvents[1]?.resultCount).toBe(1);

1058+

expect(deliveryEvents[1]?.sessionKey).toBe("session-1");

10631059

expect(JSON.stringify(deliveryEvents)).not.toContain("secret delivery body");

10641060

expect(JSON.stringify(deliveryEvents)).not.toContain("!room:example");

10651061

});

@@ -1086,17 +1082,15 @@ describe("deliverOutboundPayloads", () => {

10861082

unsubscribe();

10871083

}

108810841089-

const errorEvent = events.find((event) => event.type === "message.delivery.error");

1090-

expect(errorEvent).toEqual(

1091-

expect.objectContaining({

1092-

type: "message.delivery.error",

1093-

channel: "matrix",

1094-

deliveryKind: "text",

1095-

durationMs: expect.any(Number),

1096-

errorCategory: "TypeError",

1097-

sessionKey: "session-1",

1098-

}),

1099-

);

1085+

const errorEvent = events.find((event) => event.type === "message.delivery.error") as

1086+

| Record<string, unknown>

1087+

| undefined;

1088+

expect(errorEvent?.type).toBe("message.delivery.error");

1089+

expect(errorEvent?.channel).toBe("matrix");

1090+

expect(errorEvent?.deliveryKind).toBe("text");

1091+

expect(typeof errorEvent?.durationMs).toBe("number");

1092+

expect(errorEvent?.errorCategory).toBe("TypeError");

1093+

expect(errorEvent?.sessionKey).toBe("session-1");

11001094

expect(

11011095

JSON.stringify(events.filter((event) => event.type.startsWith("message.delivery."))),

11021096

).not.toContain("secret delivery body");