You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The underlying "Sendbird AI Chatbot Widget" product our wrapper targets has been discontinued by Sendbird (GitHub repo sendbird/chat-ai-widget archived 2025-07-09, last version 1.9.7; AI Chatbot docs removed from sendbird.com with the notice "The AI chatbot product has been discontinued and is no longer supported") — we should (a) mark ahize/sendbird as legacy/EOL, (b) backfill the richer prop surface that did ship in 1.9.7, and (c) add a sibling ahize/sendbird-desk provider for actual support semantics.
None of the above currently flow through SendbirdLoadOptions; wrapper only accepts {applicationId, botId, userId, sessionToken, onTrack} — we should widen the type even while marking the provider legacy — https://github.com/sendbird/chat-ai-widget/blob/develop/README.md
Auth modes
configureSession (SessionHandler factory) is the Sendbird-recommended mechanism for rotating/refreshing tokens; our current wrapper only accepts a static sessionToken and triggers a full destroy+load on every identity change, which breaks token refresh semantics — https://github.com/sendbird/chat-ai-widget/blob/develop/README.md
Deprecations in our current code
The entire underlying product (@sendbird/chat-ai-widget, loaded from https://aichatbot.sendbird.com/index.js) is EOL. GitHub repo archived 2025-07-09 at v1.9.7 (2025-02-11); Sendbird's public docs state "The AI chatbot product has been discontinued and is no longer supported." Recommend: mark ahize/sendbird as @deprecated in JSDoc, add a runtime console.warn on load(), freeze on 1.9.7, and document "AI Agent" (private beta, gated docs) as the non-drop-in successor — https://github.com/sendbird/chat-ai-widget
Sibling product
Yes — build ahize/sendbird-desk as a separate provider. Sendbird Desk (npm install sendbird-desk, requires Chat SDK 4.9.x+) is the actual "customer support widget" product: ticket-per-conversation, agent inbox via Sendbird Dashboard, Ticket.create(), SendBirdDesk.authenticate(USER_ID, ACCESS_TOKEN) dual-auth paired with sb.connect(). It maps cleanly to our unified surface (track() can map to ticket events, identify() to authenticate(), agent messages are first-class) in a way the chat-widget product never did — https://sendbird.com/docs/desk/sdk/v1/javascript/quickstart/create-first-ticket
Intentionally out of scope
Low-level Sendbird Chat SDK (@sendbird/chat).
@sendbird/uikit-react (generic chat UI components, not a support widget).
Sendbird Calls / Sendbird Live SDKs.
AI Agent runtime/event API — Sendbird's AI Agent docs are behind a private/gated portal; we cannot audit without vendor access. File a separate issue once access is obtained.
Runtime imperative methods (open/close/toggle/sendMessage/setUserName/setUserProfileUrl) and lifecycle events (onMessageReceived/onChannelChanged/onUserConnected/onUserDisconnected) — not documented in the archived v1.9.7 README; our existing CSS-level show()/hide() remains the only public escape hatch.
theme, language, hideLauncher, customLauncherSelector, channelUrl, position — listed as candidates in the audit brief but are NOT present in the v1.9.7 README prop table.
Summary
The underlying "Sendbird AI Chatbot Widget" product our wrapper targets has been discontinued by Sendbird (GitHub repo
sendbird/chat-ai-widgetarchived 2025-07-09, last version 1.9.7; AI Chatbot docs removed from sendbird.com with the notice "The AI chatbot product has been discontinued and is no longer supported") — we should (a) markahize/sendbirdas legacy/EOL, (b) backfill the richer prop surface that did ship in 1.9.7, and (c) add a siblingahize/sendbird-deskprovider for actual support semantics.Gaps found
Missing API surface
userNickNameprop (display name distinct fromuserId) — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdconfigureSessionprop (session handler factory; documented as the intended pairing withuserId+sessionToken) — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdautoOpenprop — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdenableResetHistoryOnConnectprop — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdenableEmojiFeedbackprop — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdenableMentionprop — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdenableHideWidgetForDeactivatedUserprop — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdenableWidgetExpandButtonprop — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdmessageStackDirectionprop ('top' | 'bottom') — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdmessageInputControls.blockWhileBotRespondingprop — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mddeviceTypeprop ('desktop' | 'mobile') — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mddateLocaleprop (date-fns Locale) — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdstringSetprop (i18n / placeholder overrides) — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdcustomRefreshComponentprop — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdConfig options not exposed
SendbirdLoadOptions; wrapper only accepts{applicationId, botId, userId, sessionToken, onTrack}— we should widen the type even while marking the provider legacy — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdAuth modes
configureSession(SessionHandler factory) is the Sendbird-recommended mechanism for rotating/refreshing tokens; our current wrapper only accepts a staticsessionTokenand triggers a full destroy+load on every identity change, which breaks token refresh semantics — https://github.com/sendbird/chat-ai-widget/blob/develop/README.mdDeprecations in our current code
@sendbird/chat-ai-widget, loaded fromhttps://aichatbot.sendbird.com/index.js) is EOL. GitHub repo archived 2025-07-09 at v1.9.7 (2025-02-11); Sendbird's public docs state "The AI chatbot product has been discontinued and is no longer supported." Recommend: markahize/sendbirdas@deprecatedin JSDoc, add a runtimeconsole.warnonload(), freeze on 1.9.7, and document "AI Agent" (private beta, gated docs) as the non-drop-in successor — https://github.com/sendbird/chat-ai-widgetSibling product
ahize/sendbird-deskas a separate provider. Sendbird Desk (npm install sendbird-desk, requires Chat SDK 4.9.x+) is the actual "customer support widget" product: ticket-per-conversation, agent inbox via Sendbird Dashboard,Ticket.create(),SendBirdDesk.authenticate(USER_ID, ACCESS_TOKEN)dual-auth paired withsb.connect(). It maps cleanly to our unified surface (track()can map to ticket events,identify()toauthenticate(), agent messages are first-class) in a way the chat-widget product never did — https://sendbird.com/docs/desk/sdk/v1/javascript/quickstart/create-first-ticketIntentionally out of scope
@sendbird/chat).@sendbird/uikit-react(generic chat UI components, not a support widget).open/close/toggle/sendMessage/setUserName/setUserProfileUrl) and lifecycle events (onMessageReceived/onChannelChanged/onUserConnected/onUserDisconnected) — not documented in the archived v1.9.7 README; our existing CSS-levelshow()/hide()remains the only public escape hatch.theme,language,hideLauncher,customLauncherSelector,channelUrl,position— listed as candidates in the audit brief but are NOT present in the v1.9.7 README prop table.Sources