Skip to content

Commit bdc3b6e

Browse files
committed
fix(clownfish): address review for ghcrawl-156980-autonomous-smoke (1)
1 parent c15e58c commit bdc3b6e

2 files changed

Lines changed: 39 additions & 1 deletion

File tree

extensions/feishu/src/bot-sender-name.test.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,4 +196,42 @@ describe("resolveFeishuSenderName", () => {
196196
}),
197197
);
198198
});
199+
200+
it("keeps direct-member permission guidance when contact fallback hits stale contact scope", async () => {
201+
const account = makeAccount("default");
202+
const { client } = mockClient({
203+
memberError: {
204+
response: {
205+
data: {
206+
code: 99991672,
207+
msg: "permission denied https://open.feishu.cn/app/cli_default",
208+
},
209+
},
210+
},
211+
contactError: {
212+
response: {
213+
data: {
214+
code: 99991672,
215+
msg: "permission denied: contact:contact.base:readonly https://open.feishu.cn/app/cli_default",
216+
},
217+
},
218+
},
219+
});
220+
mockCreateFeishuClient.mockReturnValue(client);
221+
222+
const result = await resolveFeishuSenderName({
223+
account,
224+
senderId: "ou_sender",
225+
chatId: "oc_dm",
226+
chatType: "p2p",
227+
log,
228+
});
229+
230+
expect(result.permissionError).toEqual(
231+
expect.objectContaining({
232+
code: 99991672,
233+
grantUrl: "https://open.feishu.cn/app/cli_default",
234+
}),
235+
);
236+
});
199237
});

extensions/feishu/src/bot-sender-name.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ export async function resolveFeishuSenderName(params: {
222222
if (permErr) {
223223
if (shouldSuppressPermissionErrorNotice(permErr)) {
224224
log(`feishu: ignoring stale permission scope error: ${permErr.message}`);
225-
return {};
225+
return directPermissionError ? { permissionError: directPermissionError } : {};
226226
}
227227
log(`feishu: permission error resolving sender name: code=${permErr.code}`);
228228
return { permissionError: permErr };

0 commit comments

Comments
 (0)