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

推荐订阅源

aimingoo的专栏
aimingoo的专栏
I
InfoQ
B
Blog RSS Feed
D
Docker
GbyAI
GbyAI
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
F
Fortinet All Blogs
P
Proofpoint News Feed
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
M
MIT News - Artificial intelligence
C
Check Point Blog
Vercel News
Vercel News
云风的 BLOG
云风的 BLOG
博客园 - Franky
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
Last Week in AI
Last Week in AI
L
LangChain 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
refactor(qa-matrix): dedupe progress timeout errors · ope...
vincentkoc · 2026-06-18 · via Recent Commits to openclaw:main

@@ -927,6 +927,19 @@ async function runMatrixToolProgressScenario(

927927

event.relatesTo?.relType === "m.replace" &&

928928

event.relatesTo.eventId === previewRootEventId &&

929929

matchesExpectedProgress(event.body);

930+

const throwProgressTimeout = (err: unknown, previewEventId: string): never => {

931+

throw new Error(

932+

buildMatrixQaToolProgressTimeoutMessage({

933+

cause: err,

934+

events: context.observedEvents,

935+

expectedPreviewKind: params.expectedPreviewKind,

936+

previewEventId,

937+

roomId: context.roomId,

938+

startIndex: startObservedIndex,

939+

sutUserId: context.sutUserId,

940+

}),

941+

);

942+

};

930943

const preview = await client

931944

.waitForRoomEvent({

932945

observedEvents: context.observedEvents,

@@ -940,19 +953,7 @@ async function runMatrixToolProgressScenario(

940953

since: startSince,

941954

timeoutMs: context.timeoutMs,

942955

})

943-

.catch((err: unknown) => {

944-

throw new Error(

945-

buildMatrixQaToolProgressTimeoutMessage({

946-

cause: err,

947-

events: context.observedEvents,

948-

expectedPreviewKind: params.expectedPreviewKind,

949-

previewEventId: "<not observed>",

950-

roomId: context.roomId,

951-

startIndex: startObservedIndex,

952-

sutUserId: context.sutUserId,

953-

}),

954-

);

955-

});

956+

.catch((err: unknown) => throwProgressTimeout(err, "<not observed>"));

956957

if (isFinalReply(preview.event)) {

957958

if (

958959

(params.allowFinalBeforeProgress === true ||

@@ -967,19 +968,7 @@ async function runMatrixToolProgressScenario(

967968

since: preview.since,

968969

timeoutMs: context.timeoutMs,

969970

})

970-

.catch((err: unknown) => {

971-

throw new Error(

972-

buildMatrixQaToolProgressTimeoutMessage({

973-

cause: err,

974-

events: context.observedEvents,

975-

expectedPreviewKind: params.expectedPreviewKind,

976-

previewEventId: "<not observed>",

977-

roomId: context.roomId,

978-

startIndex: startObservedIndex,

979-

sutUserId: context.sutUserId,

980-

}),

981-

);

982-

});

971+

.catch((err: unknown) => throwProgressTimeout(err, "<not observed>"));

983972

const progressPreviewEventId = getPreviewRootEventId(progressAfterFinal.event);

984973

const unexpectedWorkingEvents = findMatrixQaUnexpectedWorkingEvents({

985974

events: context.observedEvents,

@@ -1079,19 +1068,7 @@ async function runMatrixToolProgressScenario(

10791068

since: preview.since,

10801069

timeoutMs: context.timeoutMs,

10811070

})

1082-

.catch((err: unknown) => {

1083-

throw new Error(

1084-

buildMatrixQaToolProgressTimeoutMessage({

1085-

cause: err,

1086-

events: context.observedEvents,

1087-

expectedPreviewKind: params.expectedPreviewKind,

1088-

previewEventId: previewRootEventId,

1089-

roomId: context.roomId,

1090-

startIndex: startObservedIndex,

1091-

sutUserId: context.sutUserId,

1092-

}),

1093-

);

1094-

});

1071+

.catch((err: unknown) => throwProgressTimeout(err, previewRootEventId));

10951072

if (isFinalReply(progressOrFinal.event)) {

10961073

topLevelFinalBeforeProgress = progressOrFinal;

10971074

progress = await client

@@ -1102,19 +1079,7 @@ async function runMatrixToolProgressScenario(

11021079

since: progressOrFinal.since,

11031080

timeoutMs: context.timeoutMs,

11041081

})

1105-

.catch((err: unknown) => {

1106-

throw new Error(

1107-

buildMatrixQaToolProgressTimeoutMessage({

1108-

cause: err,

1109-

events: context.observedEvents,

1110-

expectedPreviewKind: params.expectedPreviewKind,

1111-

previewEventId: previewRootEventId,

1112-

roomId: context.roomId,

1113-

startIndex: startObservedIndex,

1114-

sutUserId: context.sutUserId,

1115-

}),

1116-

);

1117-

});

1082+

.catch((err: unknown) => throwProgressTimeout(err, previewRootEventId));

11181083

} else {

11191084

progress = progressOrFinal;

11201085

}