fix(matrix): skip pairing-store reads for room auth (#67325)

Merged via squash.

Prepared head SHA: 121ff3b38c
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com>
Reviewed-by: @gumadeiras
This commit is contained in:
Gustavo Madeira Santana
2026-04-15 14:08:43 -04:00
committed by GitHub
parent 4f00b76925
commit 2bfd808a83
3 changed files with 5 additions and 2 deletions

View File

@@ -446,10 +446,11 @@ describe("matrix monitor handler pairing account scope", () => {
});
it("blocks room control commands from DM-only paired senders", async () => {
const readAllowFromStore = vi.fn(async () => ["@user:example.org"]);
const { handler, finalizeInboundContext, recordInboundSession } =
createMatrixHandlerTestHarness({
isDirectMessage: false,
readAllowFromStore: vi.fn(async () => ["@user:example.org"]),
readAllowFromStore,
roomsConfig: {
"!room:example.org": { requireMention: false },
},
@@ -473,6 +474,7 @@ describe("matrix monitor handler pairing account scope", () => {
expect(recordInboundSession).not.toHaveBeenCalled();
expect(finalizeInboundContext).not.toHaveBeenCalled();
expect(readAllowFromStore).not.toHaveBeenCalled();
});
it("processes room messages mentioned via displayName in formatted_body", async () => {

View File

@@ -586,7 +586,7 @@ export function createMatrixRoomMessageHandler(params: MatrixMonitorHandlerParam
senderNamePromise ??= getMemberDisplayName(roomId, senderId).catch(() => senderId);
return await senderNamePromise;
};
const storeAllowFrom = await readStoreAllowFrom();
const storeAllowFrom = isDirectMessage ? await readStoreAllowFrom() : [];
const roomUsers = roomConfig?.users ?? [];
const accessState = resolveMatrixMonitorAccessState({
allowFrom,