feat: Messenger + Inbox on the AppShell data door + live IIOS socket #28

Merged
maaz519 merged 1 commits from feat/messenger-inbox into goutamnextflow 2026-07-15 21:23:38 +00:00
Collaborator

New "Communication" area in the dashboard, built on the existing appshell-sdk wiring
(useQuery/sdk.command) like Team, with the IIOS MessageSocket for live streaming.

  • messenger-api.ts / inbox-api.ts: mock (demo) + live (crm.messenger.* / crm.inbox.*)
    behind one interface, switched by isShellConfigured().
  • messenger-socket.tsx: MessengerSocketProvider — one IIOS MessageSocket per panel
    (openThread history + live on("message") + send). REST 4s poll is the automatic
    fallback when the socket isn't connected.
  • messenger.tsx: conversation list ⇄ thread + composer + new-chat people picker
    (DM 1 person / group 2+); inbox.tsx: filterable feed with Done/Snooze/Archive.
  • sidebar: Communication group (Messenger + Inbox, always-visible); dashboard: panel switch.
  • .npmrc: add the @insignia Gitea registry for @insignia/iios-kernel-client.

Works on mock immediately; goes live once NEXT_PUBLIC_SUPABASE_URL + the BFF + be-crm are set.
tsc clean; next build passes.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

New "Communication" area in the dashboard, built on the existing appshell-sdk wiring (useQuery/sdk.command) like Team, with the IIOS MessageSocket for live streaming. - messenger-api.ts / inbox-api.ts: mock (demo) + live (crm.messenger.* / crm.inbox.*) behind one interface, switched by isShellConfigured(). - messenger-socket.tsx: MessengerSocketProvider — one IIOS MessageSocket per panel (openThread history + live on("message") + send). REST 4s poll is the automatic fallback when the socket isn't connected. - messenger.tsx: conversation list ⇄ thread + composer + new-chat people picker (DM 1 person / group 2+); inbox.tsx: filterable feed with Done/Snooze/Archive. - sidebar: Communication group (Messenger + Inbox, always-visible); dashboard: panel switch. - .npmrc: add the @insignia Gitea registry for @insignia/iios-kernel-client. Works on mock immediately; goes live once NEXT_PUBLIC_SUPABASE_URL + the BFF + be-crm are set. tsc clean; next build passes. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
maaz519 added 1 commit 2026-07-15 21:21:15 +00:00
New "Communication" area in the dashboard, built on the existing appshell-sdk wiring
(useQuery/sdk.command) like Team, with the IIOS MessageSocket for live streaming.

- messenger-api.ts / inbox-api.ts: mock (demo) + live (crm.messenger.* / crm.inbox.*)
  behind one interface, switched by isShellConfigured().
- messenger-socket.tsx: MessengerSocketProvider — one IIOS MessageSocket per panel
  (openThread history + live on("message") + send). REST 4s poll is the automatic
  fallback when the socket isn't connected.
- messenger.tsx: conversation list ⇄ thread + composer + new-chat people picker
  (DM 1 person / group 2+); inbox.tsx: filterable feed with Done/Snooze/Archive.
- sidebar: Communication group (Messenger + Inbox, always-visible); dashboard: panel switch.
- .npmrc: add the @insignia Gitea registry for @insignia/iios-kernel-client.

Works on mock immediately; goes live once NEXT_PUBLIC_SUPABASE_URL + the BFF + be-crm are set.
tsc clean; next build passes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
maaz519 merged commit 2056592d51 into goutamnextflow 2026-07-15 21:23:38 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Goutam/lynkeduppro-crm#28