test: keep matrix async listeners lint-safe

(cherry picked from commit b7a38bdd2f)
(cherry picked from commit 5851bcfc58)
This commit is contained in:
Tideclaw
2026-06-01 06:37:23 +00:00
parent 1e841008f9
commit 5f36c6af23
3 changed files with 17 additions and 5 deletions

View File

@@ -17,7 +17,12 @@ function createClientStub() {
const client = {
on: vi.fn((eventName: string, listener: unknown) => {
if (eventName === "room.invite") {
inviteHandler = listener as InviteHandler;
inviteHandler = async (roomId, inviteEvent) => {
(listener as (roomId: string, inviteEvent: unknown) => void)(roomId, inviteEvent);
await new Promise<void>((resolve) => {
setImmediate(resolve);
});
};
}
return client;
}),

View File

@@ -217,6 +217,15 @@ function createHarness(params?: {
throw new Error("room.event listener was not registered");
}
const failedDecryptListener: FailedDecryptListener | undefined = listeners.has(
"room.failed_decryption",
)
? async (roomId, event, error) => {
listeners.get("room.failed_decryption")?.(roomId, event, error);
await flushTasks();
}
: undefined;
return {
onRoomMessage,
sendMessage,
@@ -234,9 +243,7 @@ function createHarness(params?: {
roomDecryptedEventListener: listeners.get("room.decrypted_event") as
| RoomEventListener
| undefined,
failedDecryptListener: listeners.get("room.failed_decryption") as
| FailedDecryptListener
| undefined,
failedDecryptListener,
verificationSummaryListener: listeners.get("verification.summary") as
| VerificationSummaryListener
| undefined,

View File

@@ -273,7 +273,7 @@ export function registerMatrixMonitorEvents(params: {
client.on("room.failed_decryption", (roomId: string, event: MatrixRawEvent, error: Error) => {
void runMonitorTask(
`failed decryption handler room=${roomId} id=${event.event_id ?? "unknown"}`,
`failed decrypt handler room=${roomId} id=${event.event_id ?? "unknown"}`,
async () => {
const failureState = postHealthySyncDecryptFailureTracker.recordFailure(
roomId,