feat(messenger): wire the channel-roster import adapter seam

Phase D of channel-roster import. CrmMessagingAdapter.addMembers() proxies the
new crm.messenger.participant.addMany door action, enabling the SDK's '#' import
affordance in the channel/group settings panel. Pulls @insignia/iios-messaging-ui@0.1.8.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 16:13:38 +05:30
parent 0c7adece3c
commit a87d36e1ec
3 changed files with 12 additions and 5 deletions
+4 -4
View File
@@ -12,7 +12,7 @@
"@huggingface/transformers": "^4.2.0",
"@imgly/background-removal": "^1.7.0",
"@insignia/iios-kernel-client": "^0.1.4",
"@insignia/iios-messaging-ui": "^0.1.7",
"@insignia/iios-messaging-ui": "^0.1.8",
"@photo-gallery/sdk": "file:./vendor/photo-gallery-sdk",
"@tensorflow-models/coco-ssd": "^2.2.3",
"@tensorflow/tfjs": "^4.22.0",
@@ -1087,9 +1087,9 @@
}
},
"node_modules/@insignia/iios-messaging-ui": {
"version": "0.1.7",
"resolved": "https://git.lynkedup.cloud/api/packages/insignia/npm/%40insignia%2Fiios-messaging-ui/-/0.1.7/iios-messaging-ui-0.1.7.tgz",
"integrity": "sha512-ZE4fLeSTSa5AFZnvSRT7G/TEaw+Jm5qH8rWaDjns6Vu9zBnDTVYdF8CMEisBrtgSDj+jDQBo9xlwZmr++5qehw==",
"version": "0.1.8",
"resolved": "https://git.lynkedup.cloud/api/packages/insignia/npm/%40insignia%2Fiios-messaging-ui/-/0.1.8/iios-messaging-ui-0.1.8.tgz",
"integrity": "sha512-djLQtX69f8p/2v7m2qhDU7AjCsvt3mz8qzTqf7CSTVsFu1mzMZTLfdq7e4DJzZ0syw76Rhzqrhw+RysiQEpDCg==",
"peerDependencies": {
"@insignia/iios-kernel-client": "*",
"react": ">=18",
+1 -1
View File
@@ -14,7 +14,7 @@
"@huggingface/transformers": "^4.2.0",
"@imgly/background-removal": "^1.7.0",
"@insignia/iios-kernel-client": "^0.1.4",
"@insignia/iios-messaging-ui": "^0.1.7",
"@insignia/iios-messaging-ui": "^0.1.8",
"@photo-gallery/sdk": "file:./vendor/photo-gallery-sdk",
"@tensorflow-models/coco-ssd": "^2.2.3",
"@tensorflow/tfjs": "^4.22.0",
+7
View File
@@ -7,6 +7,7 @@
import type {
Attachment,
BulkAddResult,
ChannelSummary,
ChannelVisibility,
Conversation,
@@ -247,6 +248,12 @@ export class CrmMessagingAdapter implements MessagingAdapter {
await this.sdk.command("crm.messenger.participant.add", { threadId, userId });
}
/** Bulk import (e.g. everyone from another channel). IIOS governs both ends: you must belong to
* the source channel to read its roster, and OPA re-checks who may add to this thread. */
async addMembers(threadId: string, userIds: string[]): Promise<BulkAddResult> {
return this.sdk.command<BulkAddResult>("crm.messenger.participant.addMany", { threadId, userIds });
}
async removeMember(threadId: string, userId: string): Promise<void> {
await this.sdk.command("crm.messenger.participant.remove", { threadId, userId });
}