diff --git a/extensions/synology-chat/src/channel.ts b/extensions/synology-chat/src/channel.ts index 81ef191ba77..d84516dbda5 100644 --- a/extensions/synology-chat/src/channel.ts +++ b/extensions/synology-chat/src/channel.ts @@ -282,7 +282,7 @@ export function createSynologyChatPlugin() { Surface: CHANNEL_ID, ConversationLabel: msg.senderName || msg.from, Timestamp: Date.now(), - CommandAuthorized: true, + CommandAuthorized: msg.commandAuthorized, }); // Dispatch via the SDK's buffered block dispatcher diff --git a/extensions/synology-chat/src/webhook-handler.test.ts b/extensions/synology-chat/src/webhook-handler.test.ts index 2f6bd87788a..37ee566e6a6 100644 --- a/extensions/synology-chat/src/webhook-handler.test.ts +++ b/extensions/synology-chat/src/webhook-handler.test.ts @@ -237,6 +237,7 @@ describe("createWebhookHandler", () => { body: "Hello from json", from: "123", senderName: "json-user", + commandAuthorized: true, }), ); }); @@ -396,6 +397,7 @@ describe("createWebhookHandler", () => { senderName: "testuser", provider: "synology-chat", chatType: "direct", + commandAuthorized: true, }), ); }); @@ -422,6 +424,7 @@ describe("createWebhookHandler", () => { expect(deliver).toHaveBeenCalledWith( expect.objectContaining({ body: expect.stringContaining("[FILTERED]"), + commandAuthorized: true, }), ); }); diff --git a/extensions/synology-chat/src/webhook-handler.ts b/extensions/synology-chat/src/webhook-handler.ts index fab4b9a0238..b4c73934db9 100644 --- a/extensions/synology-chat/src/webhook-handler.ts +++ b/extensions/synology-chat/src/webhook-handler.ts @@ -225,6 +225,7 @@ export interface WebhookHandlerDeps { chatType: string; sessionKey: string; accountId: string; + commandAuthorized: boolean; /** Chat API user_id for sending replies (may differ from webhook user_id) */ chatUserId?: string; }) => Promise; @@ -364,6 +365,7 @@ export function createWebhookHandler(deps: WebhookHandlerDeps) { chatType: "direct", sessionKey, accountId: account.accountId, + commandAuthorized: auth.allowed, chatUserId: replyUserId, });