From ae2783089306ffe37c53be024cdb0a63843595de Mon Sep 17 00:00:00 2001 From: maaz519 Date: Thu, 23 Jul 2026 00:53:08 +0530 Subject: [PATCH] fix(inbox/messenger): directory limit 100 (was 400ing) + attachment download - crm.messenger.directory limit 200 -> 100 (be-crm caps at 100, was 400 Bad Request) in both the inbox + messaging adapters. - CrmInboxAdapter.downloadAttachment via crm.media.presignDownload, so mail attachments are downloadable. Pull SDK 0.1.1. Co-Authored-By: Claude Opus 4.8 --- package-lock.json | 8 ++++---- package.json | 2 +- src/lib/crm-inbox-adapter.ts | 10 +++++++++- src/lib/crm-messaging-adapter.ts | 2 +- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index 22ade33..4163ecd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@abe-kap/appshell-sdk": "^0.2.6", "@insignia/iios-kernel-client": "^0.1.4", - "@insignia/iios-messaging-ui": "^0.1.0", + "@insignia/iios-messaging-ui": "^0.1.1", "clsx": "^2.1.1", "lucide-react": "^1.21.0", "next": "16.2.9", @@ -1028,9 +1028,9 @@ } }, "node_modules/@insignia/iios-messaging-ui": { - "version": "0.1.0", - "resolved": "https://git.lynkedup.cloud/api/packages/insignia/npm/%40insignia%2Fiios-messaging-ui/-/0.1.0/iios-messaging-ui-0.1.0.tgz", - "integrity": "sha512-iGOh/lwJJm+QG2u5YP1Kj4gZyShRWO1o7/dxnl+DE1m/WbE0PDO+baTJ7NFhremubSB7Wc/KSLhf9yLdLbivAQ==", + "version": "0.1.1", + "resolved": "https://git.lynkedup.cloud/api/packages/insignia/npm/%40insignia%2Fiios-messaging-ui/-/0.1.1/iios-messaging-ui-0.1.1.tgz", + "integrity": "sha512-ZFhnrXvJfhXICYKB+htU5joa5S/jg55cSB/R6dtcILV3wSRbdeXiPzaWRBnicV2Y84arYrH/CXUZmBm89ERTyg==", "peerDependencies": { "@insignia/iios-kernel-client": "*", "react": ">=18", diff --git a/package.json b/package.json index 37cdc35..b6587d9 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ "dependencies": { "@abe-kap/appshell-sdk": "^0.2.6", "@insignia/iios-kernel-client": "^0.1.4", - "@insignia/iios-messaging-ui": "^0.1.0", + "@insignia/iios-messaging-ui": "^0.1.1", "clsx": "^2.1.1", "lucide-react": "^1.21.0", "next": "16.2.9", diff --git a/src/lib/crm-inbox-adapter.ts b/src/lib/crm-inbox-adapter.ts index f5cca15..27e4711 100644 --- a/src/lib/crm-inbox-adapter.ts +++ b/src/lib/crm-inbox-adapter.ts @@ -93,8 +93,16 @@ export class CrmInboxAdapter implements InboxAdapter { return { contentRef: objectKey, mimeType: mime, sizeBytes: file.size, filename: file.name }; } + async downloadAttachment(attachment: MailAttachment): Promise { + const { url } = await this.sdk.command<{ url: string }>("crm.media.presignDownload", { + contentRef: attachment.contentRef, + ...(attachment.mimeType ? { mime: attachment.mimeType } : {}), + }); + return url; + } + async directory(): Promise { - const rows = await this.sdk.query("crm.messenger.directory", { kind: "all", limit: 200 }); + const rows = await this.sdk.query("crm.messenger.directory", { kind: "all", limit: 100 }); return rows.map((d) => ({ id: d.id, name: d.displayName, kind: d.kind })); } diff --git a/src/lib/crm-messaging-adapter.ts b/src/lib/crm-messaging-adapter.ts index f85b1ef..dbe8c21 100644 --- a/src/lib/crm-messaging-adapter.ts +++ b/src/lib/crm-messaging-adapter.ts @@ -221,7 +221,7 @@ export class CrmMessagingAdapter implements MessagingAdapter { /** The org directory — people you can start a DM/group with. Drives the "New message" picker. */ async directory(): Promise { - const dir = await this.sdk.query("crm.messenger.directory", { kind: "all", limit: 200 }); + const dir = await this.sdk.query("crm.messenger.directory", { kind: "all", limit: 100 }); return dir.map((d) => ({ id: d.id, name: d.displayName, kind: d.kind })); }