fix: clear typecheck backlog

This commit is contained in:
Peter Steinberger
2026-03-13 22:08:54 +00:00
parent a66a0852bb
commit d0337a18b6
10 changed files with 63 additions and 46 deletions

View File

@@ -14,6 +14,17 @@ vi.mock("../send.js", () => ({
describe("registerMatrixMonitorEvents", () => {
const roomId = "!room:example.org";
function makeEvent(overrides: Partial<MatrixRawEvent>): MatrixRawEvent {
return {
event_id: "$event",
sender: "@alice:example.org",
type: "m.room.message",
origin_server_ts: 0,
content: {},
...overrides,
};
}
beforeEach(() => {
sendReadReceiptMatrixMock.mockClear();
});
@@ -67,10 +78,10 @@ describe("registerMatrixMonitorEvents", () => {
it("sends read receipt immediately for non-self messages", async () => {
const { client, onRoomMessage, roomMessageHandler } = createHarness();
const event = {
const event = makeEvent({
event_id: "$e1",
sender: "@alice:example.org",
} as MatrixRawEvent;
});
roomMessageHandler("!room:example.org", event);
@@ -81,22 +92,27 @@ describe("registerMatrixMonitorEvents", () => {
});
it("does not send read receipts for self messages", async () => {
await expectForwardedWithoutReadReceipt({
event_id: "$e2",
sender: "@bot:example.org",
});
await expectForwardedWithoutReadReceipt(
makeEvent({
event_id: "$e2",
sender: "@bot:example.org",
}),
);
});
it("skips receipt when message lacks sender or event id", async () => {
await expectForwardedWithoutReadReceipt({
sender: "@alice:example.org",
});
await expectForwardedWithoutReadReceipt(
makeEvent({
sender: "@alice:example.org",
event_id: "",
}),
);
});
it("caches self user id across messages", async () => {
const { getUserId, roomMessageHandler } = createHarness();
const first = { event_id: "$e3", sender: "@alice:example.org" } as MatrixRawEvent;
const second = { event_id: "$e4", sender: "@bob:example.org" } as MatrixRawEvent;
const first = makeEvent({ event_id: "$e3", sender: "@alice:example.org" });
const second = makeEvent({ event_id: "$e4", sender: "@bob:example.org" });
roomMessageHandler("!room:example.org", first);
roomMessageHandler("!room:example.org", second);
@@ -110,7 +126,7 @@ describe("registerMatrixMonitorEvents", () => {
it("logs and continues when sending read receipt fails", async () => {
sendReadReceiptMatrixMock.mockRejectedValueOnce(new Error("network boom"));
const { roomMessageHandler, onRoomMessage, logVerboseMessage } = createHarness();
const event = { event_id: "$e5", sender: "@alice:example.org" } as MatrixRawEvent;
const event = makeEvent({ event_id: "$e5", sender: "@alice:example.org" });
roomMessageHandler("!room:example.org", event);
@@ -126,7 +142,7 @@ describe("registerMatrixMonitorEvents", () => {
const { roomMessageHandler, onRoomMessage, getUserId } = createHarness({
getUserId: vi.fn().mockRejectedValue(new Error("cannot resolve self")),
});
const event = { event_id: "$e6", sender: "@alice:example.org" } as MatrixRawEvent;
const event = makeEvent({ event_id: "$e6", sender: "@alice:example.org" });
roomMessageHandler("!room:example.org", event);