




























@@ -812,14 +812,22 @@ async function runMatrixToolProgressScenario(
812812mentionUserIds: [context.sutUserId],
813813roomId: context.roomId,
814814});
815+const matchesExpectedProgress = (body: string | undefined) =>
816+params.progressPattern.test(body ?? "") ||
817+(params.allowGenericProgressLine === true && hasMatrixQaToolProgressPreviewLine(body));
818+const getPreviewRootEventId = (event: MatrixQaObservedEvent) =>
819+event.relatesTo?.relType === "m.replace" && event.relatesTo.eventId
820+ ? event.relatesTo.eventId
821+ : event.eventId;
815822const preview = await client
816823.waitForRoomEvent({
817824observedEvents: context.observedEvents,
818825predicate: (event) =>
819826event.roomId === context.roomId &&
820827event.sender === context.sutUserId &&
821828event.kind === params.expectedPreviewKind &&
822-event.relatesTo === undefined,
829+(event.relatesTo === undefined ||
830+(event.relatesTo.relType === "m.replace" && matchesExpectedProgress(event.body))),
823831roomId: context.roomId,
824832since: startSince,
825833timeoutMs: context.timeoutMs,
@@ -837,9 +845,7 @@ async function runMatrixToolProgressScenario(
837845}),
838846);
839847});
840-const matchesExpectedProgress = (body: string | undefined) =>
841-params.progressPattern.test(body ?? "") ||
842-(params.allowGenericProgressLine === true && hasMatrixQaToolProgressPreviewLine(body));
848+const previewRootEventId = getPreviewRootEventId(preview.event);
843849const progress = matchesExpectedProgress(preview.event.body)
844850 ? preview
845851 : await client
@@ -850,7 +856,7 @@ async function runMatrixToolProgressScenario(
850856event.sender === context.sutUserId &&
851857event.kind === params.expectedPreviewKind &&
852858event.relatesTo?.relType === "m.replace" &&
853-event.relatesTo.eventId === preview.event.eventId &&
859+event.relatesTo.eventId === previewRootEventId &&
854860matchesExpectedProgress(event.body),
855861roomId: context.roomId,
856862since: preview.since,
@@ -862,7 +868,7 @@ async function runMatrixToolProgressScenario(
862868cause: err,
863869events: context.observedEvents,
864870expectedPreviewKind: params.expectedPreviewKind,
865-previewEventId: preview.event.eventId,
871+previewEventId: previewRootEventId,
866872roomId: context.roomId,
867873startIndex: startObservedIndex,
868874sutUserId: context.sutUserId,
@@ -882,7 +888,7 @@ async function runMatrixToolProgressScenario(
882888event.sender === context.sutUserId &&
883889isMatrixQaMessageLikeKind(event.kind) &&
884890event.relatesTo?.relType === "m.replace" &&
885-event.relatesTo.eventId === preview.event.eventId &&
891+event.relatesTo.eventId === previewRootEventId &&
886892doesMatrixQaReplyBodyMatchToken(event, params.finalText),
887893roomId: context.roomId,
888894since: progress.since,
@@ -893,7 +899,7 @@ async function runMatrixToolProgressScenario(
893899buildMatrixQaToolProgressFinalTimeoutMessage({
894900cause: err,
895901events: context.observedEvents,
896-previewEventId: preview.event.eventId,
902+previewEventId: previewRootEventId,
897903roomId: context.roomId,
898904startIndex: startObservedIndex,
899905sutUserId: context.sutUserId,
@@ -904,7 +910,7 @@ async function runMatrixToolProgressScenario(
904910const unexpectedWorkingEvents = findMatrixQaUnexpectedWorkingEvents({
905911events: context.observedEvents,
906912finalEventId: finalized.event.eventId,
907-previewEventId: preview.event.eventId,
913+previewEventId: previewRootEventId,
908914startIndex: startObservedIndex,
909915sutUserId: context.sutUserId,
910916});
@@ -924,7 +930,7 @@ async function runMatrixToolProgressScenario(
924930artifacts: {
925931 driverEventId,
926932previewBodyPreview: progress.event.body?.slice(0, 200),
927-previewEventId: preview.event.eventId,
933+previewEventId: previewRootEventId,
928934previewFormattedBodyPreview: progress.event.formattedBody?.slice(0, 200),
929935previewMentions: progress.event.mentions,
930936reply: finalReply,
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。