@sendbird/uikit-chat-hooks 3.12.0 → 3.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js +1 -1
  2. package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
  3. package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js +1 -1
  4. package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
  5. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +1 -1
  6. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
  7. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +1 -1
  8. package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
  9. package/lib/commonjs/channel/useOpenChannelList/useOpenChannelListWithQuery.js +1 -1
  10. package/lib/commonjs/channel/useOpenChannelList/useOpenChannelListWithQuery.js.map +1 -1
  11. package/lib/commonjs/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js +1 -1
  12. package/lib/commonjs/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js.map +1 -1
  13. package/lib/commonjs/common/useUserList.js +1 -1
  14. package/lib/commonjs/common/useUserList.js.map +1 -1
  15. package/lib/commonjs/handler/useConnectionHandler.js +1 -1
  16. package/lib/commonjs/handler/useConnectionHandler.js.map +1 -1
  17. package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js +1 -1
  18. package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
  19. package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js +1 -1
  20. package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
  21. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +1 -1
  22. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
  23. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +1 -1
  24. package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
  25. package/lib/module/channel/useOpenChannelList/useOpenChannelListWithQuery.js +1 -1
  26. package/lib/module/channel/useOpenChannelList/useOpenChannelListWithQuery.js.map +1 -1
  27. package/lib/module/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js +1 -1
  28. package/lib/module/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.js.map +1 -1
  29. package/lib/module/common/useUserList.js +1 -1
  30. package/lib/module/common/useUserList.js.map +1 -1
  31. package/lib/module/handler/useConnectionHandler.js +1 -1
  32. package/lib/module/handler/useConnectionHandler.js.map +1 -1
  33. package/lib/typescript/src/channel/useGroupChannel.d.ts +3 -1
  34. package/lib/typescript/src/channel/useOpenChannel.d.ts +3 -1
  35. package/package.json +4 -4
  36. package/src/channel/useGroupChannelList/useGroupChannelListWithCollection.ts +1 -1
  37. package/src/channel/useGroupChannelList/useGroupChannelListWithQuery.ts +1 -1
  38. package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.ts +1 -1
  39. package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.ts +1 -1
  40. package/src/channel/useOpenChannelList/useOpenChannelListWithQuery.ts +1 -1
  41. package/src/channel/useOpenChannelMessages/useOpenChannelMessagesWithQuery.ts +1 -1
  42. package/src/common/useUserList.ts +1 -1
  43. package/src/handler/useConnectionHandler.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","ASYNC_NOOP","Logger","confirmAndMarkAsRead","isDifferentChannel","isMyMessage","useAsyncEffect","useForceUpdate","useFreshCallback","useUniqHandlerId","useChannelHandler","useChannelMessagesReducer","createMessageQuery","channel","options","queryCreator","params","limit","reverse","replyType","createPreviousMessageListQuery","useGroupChannelMessagesWithQuery","sdk","userId","queryRef","handlerId","forceUpdate","loading","refreshing","messages","newMessages","updateMessages","deleteMessages","updateNewMessages","deleteNewMessages","updateLoading","updateRefreshing","sortComparator","init","uid","_sdk$currentUser","_queryRef$current","currentUser","current","hasNext","_queryRef$current2","_sdk$currentUser2","list","load","channelUpdater","isGroupChannel","onMessageReceived","eventChannel","message","_sdk$currentUser3","_sdk$currentUser4","_options$shouldCountN","shouldCountNewMessages","call","_sdk$currentUser5","onMessagesReceived","onMessageUpdated","_sdk$currentUser6","_sdk$currentUser7","onMessageDeleted","messageId","onReactionUpdated","reactionEvent","_sdk$currentUser8","getMessage","includeReactions","includeParentMessageInfo","includeThreadInfo","includeMetaArray","channelUrl","url","channelType","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelHidden","onChannelMemberCountChanged","channels","foundChannel","find","c","onChannelDeleted","_options$onChannelDel","onOperatorUpdated","onUserLeft","onUserJoined","onUserUnbanned","onUserMuted","onUserUnmuted","onUserBanned","bannedUser","_sdk$currentUser9","_options$onChannelDel2","refresh","prev","_queryRef$current3","_queryRef$current4","_sdk$currentUser0","hasPrev","_queryRef$current5","next","sendUserMessage","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser1","onSucceeded","sentMessage","_sdk$currentUser10","onFailed","err","failedMessage","_sdk$currentUser11","sendFileMessage","isFileMessage","_sdk$currentUser12","_sdk$currentUser13","_sdk$currentUser14","updateUserMessage","_sdk$currentUser15","updatedMessage","updateFileMessage","_sdk$currentUser16","resendMessage","_sdk$currentUser17","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","_sdk$currentUser18","resetWithStartingPoint","warn"],"sources":["useGroupChannelMessagesWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { BaseMessage, PreviousMessageListQueryParams } from '@sendbird/chat/message';\nimport type {\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdPreviousMessageListQuery,\n} from '@sendbird/uikit-utils';\nimport {\n ASYNC_NOOP,\n Logger,\n confirmAndMarkAsRead,\n isDifferentChannel,\n isMyMessage,\n useAsyncEffect,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelMessages, UseGroupChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst createMessageQuery = (channel: SendbirdGroupChannel, options?: UseGroupChannelMessagesOptions) => {\n if (options?.queryCreator) return options.queryCreator();\n\n const params: PreviousMessageListQueryParams = { limit: 100, reverse: true };\n if (options?.replyType) params.replyType = options.replyType;\n\n return channel.createPreviousMessageListQuery(params);\n};\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelMessagesWithQuery: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n const queryRef = useRef<SendbirdPreviousMessageListQuery>();\n const handlerId = useUniqHandlerId('useGroupChannelMessagesWithQuery');\n\n const forceUpdate = useForceUpdate();\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n deleteMessages,\n updateNewMessages,\n deleteNewMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n confirmAndMarkAsRead([channel]);\n updateNewMessages([], true, sdk.currentUser?.userId);\n\n queryRef.current = createMessageQuery(channel, options);\n if (queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, true, sdk.currentUser?.userId);\n }\n }\n });\n\n const channelUpdater = (channel: SendbirdBaseChannel) => {\n if (channel.isGroupChannel() && !isDifferentChannel(channel, channel)) {\n forceUpdate();\n }\n };\n\n useChannelHandler(sdk, handlerId, {\n // Messages\n onMessageReceived(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n confirmAndMarkAsRead([channel]);\n\n updateMessages([message], false, sdk.currentUser?.userId);\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages([message], false, sdk.currentUser?.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived([message]);\n }\n },\n onMessageUpdated(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n updateMessages([message], false, sdk.currentUser?.userId);\n },\n onMessageDeleted(eventChannel, messageId) {\n if (isDifferentChannel(channel, eventChannel)) return;\n deleteMessages([messageId], []);\n deleteNewMessages([messageId], []);\n },\n async onReactionUpdated(eventChannel, reactionEvent) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n const message = await sdk.message.getMessage({\n messageId: reactionEvent.messageId,\n includeReactions: true,\n includeParentMessageInfo: true,\n includeThreadInfo: true,\n includeMetaArray: true,\n channelUrl: channel.url,\n channelType: channel.channelType,\n });\n if (message) updateMessages([message as BaseMessage], false, sdk.currentUser?.userId);\n },\n // Channels\n onChannelChanged: channelUpdater,\n onChannelFrozen: channelUpdater,\n onChannelUnfrozen: channelUpdater,\n onChannelHidden: channelUpdater,\n onChannelMemberCountChanged(channels) {\n const foundChannel = channels.find((c) => !isDifferentChannel(c, channel));\n if (foundChannel) channelUpdater(foundChannel);\n },\n onChannelDeleted(channelUrl: string) {\n if (channel.url === channelUrl) options?.onChannelDeleted?.();\n },\n // Users\n onOperatorUpdated: channelUpdater,\n onUserLeft: channelUpdater,\n // onUserEntered: channelUpdater,\n // onUserExited: channelUpdater,\n onUserJoined: channelUpdater,\n onUserUnbanned: channelUpdater,\n onUserMuted: channelUpdater,\n onUserUnmuted: channelUpdater,\n onUserBanned(eventChannel, bannedUser) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n channelUpdater(eventChannel);\n }\n },\n });\n\n useAsyncEffect(async () => {\n updateLoading(true);\n await init(userId);\n updateLoading(false);\n }, [channel.url, userId]);\n\n const refresh: ReturnType<UseGroupChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const prev: ReturnType<UseGroupChannelMessages>['prev'] = useFreshCallback(async () => {\n if (queryRef.current && queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, false, sdk.currentUser?.userId);\n }\n });\n const hasPrev: ReturnType<UseGroupChannelMessages>['hasPrev'] = useFreshCallback(\n () => queryRef.current?.hasNext ?? false,\n );\n\n const next: ReturnType<UseGroupChannelMessages>['next'] = useFreshCallback(ASYNC_NOOP);\n const hasNext: ReturnType<UseGroupChannelMessages>['hasNext'] = useFreshCallback(() => false);\n\n const sendUserMessage: ReturnType<UseGroupChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const sendFileMessage: ReturnType<UseGroupChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const updateUserMessage: ReturnType<UseGroupChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseGroupChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseGroupChannelMessages>['resendMessage'] = useFreshCallback(\n async (failedMessage) => {\n const message = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (message) updateMessages([message], false, sdk.currentUser?.userId);\n },\n );\n const deleteMessage: ReturnType<UseGroupChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n deleteMessages([message.messageId], [message.reqId]);\n }\n });\n const resetNewMessages: ReturnType<UseGroupChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n newMessages,\n resetNewMessages,\n next,\n hasNext,\n prev,\n hasPrev,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint() {\n Logger.warn('resetWithStartingPoint is not supported in Query, please use Collection instead.');\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","ASYNC_NOOP","Logger","confirmAndMarkAsRead","isDifferentChannel","isMyMessage","useAsyncEffect","useForceUpdate","useFreshCallback","useUniqHandlerId","useChannelHandler","useChannelMessagesReducer","createMessageQuery","channel","options","queryCreator","params","limit","reverse","replyType","createPreviousMessageListQuery","useGroupChannelMessagesWithQuery","sdk","userId","queryRef","undefined","handlerId","forceUpdate","loading","refreshing","messages","newMessages","updateMessages","deleteMessages","updateNewMessages","deleteNewMessages","updateLoading","updateRefreshing","sortComparator","init","uid","_sdk$currentUser","_queryRef$current","currentUser","current","hasNext","_queryRef$current2","_sdk$currentUser2","list","load","channelUpdater","isGroupChannel","onMessageReceived","eventChannel","message","_sdk$currentUser3","_sdk$currentUser4","_options$shouldCountN","shouldCountNewMessages","call","_sdk$currentUser5","onMessagesReceived","onMessageUpdated","_sdk$currentUser6","_sdk$currentUser7","onMessageDeleted","messageId","onReactionUpdated","reactionEvent","_sdk$currentUser8","getMessage","includeReactions","includeParentMessageInfo","includeThreadInfo","includeMetaArray","channelUrl","url","channelType","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelHidden","onChannelMemberCountChanged","channels","foundChannel","find","c","onChannelDeleted","_options$onChannelDel","onOperatorUpdated","onUserLeft","onUserJoined","onUserUnbanned","onUserMuted","onUserUnmuted","onUserBanned","bannedUser","_sdk$currentUser9","_options$onChannelDel2","refresh","prev","_queryRef$current3","_queryRef$current4","_sdk$currentUser0","hasPrev","_queryRef$current5","next","sendUserMessage","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser1","onSucceeded","sentMessage","_sdk$currentUser10","onFailed","err","failedMessage","_sdk$currentUser11","sendFileMessage","isFileMessage","_sdk$currentUser12","_sdk$currentUser13","_sdk$currentUser14","updateUserMessage","_sdk$currentUser15","updatedMessage","updateFileMessage","_sdk$currentUser16","resendMessage","_sdk$currentUser17","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","_sdk$currentUser18","resetWithStartingPoint","warn"],"sources":["useGroupChannelMessagesWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { BaseMessage, PreviousMessageListQueryParams } from '@sendbird/chat/message';\nimport type {\n SendbirdBaseChannel,\n SendbirdGroupChannel,\n SendbirdPreviousMessageListQuery,\n} from '@sendbird/uikit-utils';\nimport {\n ASYNC_NOOP,\n Logger,\n confirmAndMarkAsRead,\n isDifferentChannel,\n isMyMessage,\n useAsyncEffect,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelMessages, UseGroupChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst createMessageQuery = (channel: SendbirdGroupChannel, options?: UseGroupChannelMessagesOptions) => {\n if (options?.queryCreator) return options.queryCreator();\n\n const params: PreviousMessageListQueryParams = { limit: 100, reverse: true };\n if (options?.replyType) params.replyType = options.replyType;\n\n return channel.createPreviousMessageListQuery(params);\n};\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelMessagesWithQuery: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n const queryRef = useRef<SendbirdPreviousMessageListQuery | undefined>(undefined);\n const handlerId = useUniqHandlerId('useGroupChannelMessagesWithQuery');\n\n const forceUpdate = useForceUpdate();\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n deleteMessages,\n updateNewMessages,\n deleteNewMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n confirmAndMarkAsRead([channel]);\n updateNewMessages([], true, sdk.currentUser?.userId);\n\n queryRef.current = createMessageQuery(channel, options);\n if (queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, true, sdk.currentUser?.userId);\n }\n }\n });\n\n const channelUpdater = (channel: SendbirdBaseChannel) => {\n if (channel.isGroupChannel() && !isDifferentChannel(channel, channel)) {\n forceUpdate();\n }\n };\n\n useChannelHandler(sdk, handlerId, {\n // Messages\n onMessageReceived(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n confirmAndMarkAsRead([channel]);\n\n updateMessages([message], false, sdk.currentUser?.userId);\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages([message], false, sdk.currentUser?.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived([message]);\n }\n },\n onMessageUpdated(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n updateMessages([message], false, sdk.currentUser?.userId);\n },\n onMessageDeleted(eventChannel, messageId) {\n if (isDifferentChannel(channel, eventChannel)) return;\n deleteMessages([messageId], []);\n deleteNewMessages([messageId], []);\n },\n async onReactionUpdated(eventChannel, reactionEvent) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n const message = await sdk.message.getMessage({\n messageId: reactionEvent.messageId,\n includeReactions: true,\n includeParentMessageInfo: true,\n includeThreadInfo: true,\n includeMetaArray: true,\n channelUrl: channel.url,\n channelType: channel.channelType,\n });\n if (message) updateMessages([message as BaseMessage], false, sdk.currentUser?.userId);\n },\n // Channels\n onChannelChanged: channelUpdater,\n onChannelFrozen: channelUpdater,\n onChannelUnfrozen: channelUpdater,\n onChannelHidden: channelUpdater,\n onChannelMemberCountChanged(channels) {\n const foundChannel = channels.find((c) => !isDifferentChannel(c, channel));\n if (foundChannel) channelUpdater(foundChannel);\n },\n onChannelDeleted(channelUrl: string) {\n if (channel.url === channelUrl) options?.onChannelDeleted?.();\n },\n // Users\n onOperatorUpdated: channelUpdater,\n onUserLeft: channelUpdater,\n // onUserEntered: channelUpdater,\n // onUserExited: channelUpdater,\n onUserJoined: channelUpdater,\n onUserUnbanned: channelUpdater,\n onUserMuted: channelUpdater,\n onUserUnmuted: channelUpdater,\n onUserBanned(eventChannel, bannedUser) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n channelUpdater(eventChannel);\n }\n },\n });\n\n useAsyncEffect(async () => {\n updateLoading(true);\n await init(userId);\n updateLoading(false);\n }, [channel.url, userId]);\n\n const refresh: ReturnType<UseGroupChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const prev: ReturnType<UseGroupChannelMessages>['prev'] = useFreshCallback(async () => {\n if (queryRef.current && queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, false, sdk.currentUser?.userId);\n }\n });\n const hasPrev: ReturnType<UseGroupChannelMessages>['hasPrev'] = useFreshCallback(\n () => queryRef.current?.hasNext ?? false,\n );\n\n const next: ReturnType<UseGroupChannelMessages>['next'] = useFreshCallback(ASYNC_NOOP);\n const hasNext: ReturnType<UseGroupChannelMessages>['hasNext'] = useFreshCallback(() => false);\n\n const sendUserMessage: ReturnType<UseGroupChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const sendFileMessage: ReturnType<UseGroupChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n const updateUserMessage: ReturnType<UseGroupChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseGroupChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseGroupChannelMessages>['resendMessage'] = useFreshCallback(\n async (failedMessage) => {\n const message = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (message) updateMessages([message], false, sdk.currentUser?.userId);\n },\n );\n const deleteMessage: ReturnType<UseGroupChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n deleteMessages([message.messageId], [message.reqId]);\n }\n });\n const resetNewMessages: ReturnType<UseGroupChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n newMessages,\n resetNewMessages,\n next,\n hasNext,\n prev,\n hasPrev,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint() {\n Logger.warn('resetWithStartingPoint is not supported in Query, please use Collection instead.');\n },\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -8,7 +8,7 @@ const createOpenChannelListQuery = (sdk, queryCreator) => {
8
8
  return sdk.openChannel.createOpenChannelListQuery({});
9
9
  };
10
10
  export const useOpenChannelListWithQuery = (sdk, userId, options) => {
11
- const queryRef = useRef();
11
+ const queryRef = useRef(undefined);
12
12
  const handlerId = useUniqHandlerId('useOpenChannelListWithQuery');
13
13
  const {
14
14
  error,
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","useAsyncEffect","useFreshCallback","useUniqHandlerId","useChannelHandler","useOpenChannelListReducer","createOpenChannelListQuery","sdk","queryCreator","passedQuery","openChannel","useOpenChannelListWithQuery","userId","options","queryRef","handlerId","error","loading","openChannels","refreshing","updateChannels","appendChannels","deleteChannels","updateRefreshing","updateLoading","updateError","init","uid","_queryRef$current","current","hasNext","channels","next","updateChannel","channel","isOpenChannel","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelDeleted","url","onUserEntered","user","isMe","find","it","refresh","e","_queryRef$current2"],"sources":["useOpenChannelListWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { SendbirdBaseChannel, SendbirdChatSDK, SendbirdOpenChannelListQuery } from '@sendbird/uikit-utils';\nimport { useAsyncEffect, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseOpenChannelList, UseOpenChannelListOptions } from '../../types';\nimport { useOpenChannelListReducer } from './reducer';\n\nconst createOpenChannelListQuery = (sdk: SendbirdChatSDK, queryCreator: UseOpenChannelListOptions['queryCreator']) => {\n const passedQuery = queryCreator?.();\n if (passedQuery) return passedQuery;\n return sdk.openChannel.createOpenChannelListQuery({});\n};\n\nexport const useOpenChannelListWithQuery: UseOpenChannelList = (sdk, userId, options) => {\n const queryRef = useRef<SendbirdOpenChannelListQuery>();\n const handlerId = useUniqHandlerId('useOpenChannelListWithQuery');\n\n const {\n error,\n loading,\n openChannels,\n refreshing,\n updateChannels,\n appendChannels,\n deleteChannels,\n updateRefreshing,\n updateLoading,\n updateError,\n } = useOpenChannelListReducer();\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createOpenChannelListQuery(sdk, options?.queryCreator);\n\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, true);\n }\n }\n });\n\n const updateChannel = (channel: SendbirdBaseChannel) => {\n if (channel.isOpenChannel()) updateChannels([channel]);\n };\n\n useChannelHandler(\n sdk,\n handlerId,\n {\n onChannelChanged: updateChannel,\n onChannelFrozen: updateChannel,\n onChannelUnfrozen: updateChannel,\n onChannelDeleted: (url) => deleteChannels([url]),\n onUserEntered: (channel, user) => {\n const isMe = user.userId === userId;\n if (isMe && channel.isOpenChannel() && !openChannels.find((it) => it.url === channel.url)) {\n appendChannels([], true);\n refresh();\n }\n },\n },\n 'open',\n );\n\n useAsyncEffect(async () => {\n updateLoading(true);\n updateError(null);\n try {\n await init(userId);\n } catch (e) {\n updateError(e);\n appendChannels([], true);\n } finally {\n updateLoading(false);\n }\n }, [userId]);\n\n const refresh = useFreshCallback(async () => {\n updateRefreshing(true);\n updateError(null);\n try {\n await init(userId);\n } catch (e) {\n updateError(e);\n appendChannels([], true);\n } finally {\n updateRefreshing(false);\n }\n });\n\n const next = useFreshCallback(async () => {\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, false);\n }\n });\n\n return {\n error,\n loading,\n openChannels,\n refresh,\n refreshing,\n next,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","useAsyncEffect","useFreshCallback","useUniqHandlerId","useChannelHandler","useOpenChannelListReducer","createOpenChannelListQuery","sdk","queryCreator","passedQuery","openChannel","useOpenChannelListWithQuery","userId","options","queryRef","undefined","handlerId","error","loading","openChannels","refreshing","updateChannels","appendChannels","deleteChannels","updateRefreshing","updateLoading","updateError","init","uid","_queryRef$current","current","hasNext","channels","next","updateChannel","channel","isOpenChannel","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelDeleted","url","onUserEntered","user","isMe","find","it","refresh","e","_queryRef$current2"],"sources":["useOpenChannelListWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport type { SendbirdBaseChannel, SendbirdChatSDK, SendbirdOpenChannelListQuery } from '@sendbird/uikit-utils';\nimport { useAsyncEffect, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseOpenChannelList, UseOpenChannelListOptions } from '../../types';\nimport { useOpenChannelListReducer } from './reducer';\n\nconst createOpenChannelListQuery = (sdk: SendbirdChatSDK, queryCreator: UseOpenChannelListOptions['queryCreator']) => {\n const passedQuery = queryCreator?.();\n if (passedQuery) return passedQuery;\n return sdk.openChannel.createOpenChannelListQuery({});\n};\n\nexport const useOpenChannelListWithQuery: UseOpenChannelList = (sdk, userId, options) => {\n const queryRef = useRef<SendbirdOpenChannelListQuery | undefined>(undefined);\n const handlerId = useUniqHandlerId('useOpenChannelListWithQuery');\n\n const {\n error,\n loading,\n openChannels,\n refreshing,\n updateChannels,\n appendChannels,\n deleteChannels,\n updateRefreshing,\n updateLoading,\n updateError,\n } = useOpenChannelListReducer();\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createOpenChannelListQuery(sdk, options?.queryCreator);\n\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, true);\n }\n }\n });\n\n const updateChannel = (channel: SendbirdBaseChannel) => {\n if (channel.isOpenChannel()) updateChannels([channel]);\n };\n\n useChannelHandler(\n sdk,\n handlerId,\n {\n onChannelChanged: updateChannel,\n onChannelFrozen: updateChannel,\n onChannelUnfrozen: updateChannel,\n onChannelDeleted: (url) => deleteChannels([url]),\n onUserEntered: (channel, user) => {\n const isMe = user.userId === userId;\n if (isMe && channel.isOpenChannel() && !openChannels.find((it) => it.url === channel.url)) {\n appendChannels([], true);\n refresh();\n }\n },\n },\n 'open',\n );\n\n useAsyncEffect(async () => {\n updateLoading(true);\n updateError(null);\n try {\n await init(userId);\n } catch (e) {\n updateError(e);\n appendChannels([], true);\n } finally {\n updateLoading(false);\n }\n }, [userId]);\n\n const refresh = useFreshCallback(async () => {\n updateRefreshing(true);\n updateError(null);\n try {\n await init(userId);\n } catch (e) {\n updateError(e);\n appendChannels([], true);\n } finally {\n updateRefreshing(false);\n }\n });\n\n const next = useFreshCallback(async () => {\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, false);\n }\n });\n\n return {\n error,\n loading,\n openChannels,\n refresh,\n refreshing,\n next,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -11,7 +11,7 @@ const createMessageQuery = (channel, creator) => {
11
11
  });
12
12
  };
13
13
  export const useOpenChannelMessagesWithQuery = (sdk, channel, userId, options) => {
14
- const queryRef = useRef();
14
+ const queryRef = useRef(undefined);
15
15
  const forceUpdate = useForceUpdate();
16
16
  const handlerId = useUniqHandlerId('useOpenChannelMessagesWithQuery');
17
17
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["useRef","ASYNC_NOOP","NOOP","isDifferentChannel","isMyMessage","useAsyncEffect","useForceUpdate","useFreshCallback","useUniqHandlerId","useChannelHandler","useConnectionHandler","useChannelMessagesReducer","createMessageQuery","channel","creator","createPreviousMessageListQuery","limit","reverse","useOpenChannelMessagesWithQuery","sdk","userId","options","queryRef","forceUpdate","handlerId","loading","refreshing","messages","newMessages","updateMessages","updateNewMessages","deleteNewMessages","deleteMessages","updateLoading","updateRefreshing","sortComparator","init","uid","_queryRef$current","_sdk$currentUser2","current","queryCreator","hasNext","_queryRef$current2","_sdk$currentUser","list","load","currentUser","channelUpdater","isOpenChannel","onReconnectSucceeded","_queryRef$current3","_queryRef$current4","_queryRef$current5","_queryRef$current6","_queryRef$current7","_queryRef$current8","_queryRef$current9","_queryRef$current0","_queryRef$current1","_queryRef$current10","_queryRef$current11","_queryRef$current12","_queryRef$current13","_queryRef$current14","_queryRef$current15","_queryRef$current16","_sdk$currentUser3","lastMessage","messageContext","updatedMessages","addedMessages","deletedMessageIds","changeLogsContext","hasMore","token","messageQueryContext","timestamp","createdAt","changelogsParams","replyType","includeMetaArray","includeReactions","includeThreadInfo","includeParentMessageInfo","changeLogsByTS","getMessageChangeLogsSinceTimestamp","push","changeLogsByToken","getMessageChangeLogsSinceToken","messageQueryParams","prevResultSize","nextResultSize","customTypesFilter","messageTypeFilter","senderUserIdsFilter","showSubchannelMessagesOnly","queriedMessages","getMessagesByTimestamp","length","unshift","_options$shouldCountN","shouldCountNewMessages","call","_sdk$currentUser4","onMessagesReceived","onMessageReceived","eventChannel","message","_sdk$currentUser5","_sdk$currentUser6","_options$shouldCountN2","_sdk$currentUser7","onMessageUpdated","_sdk$currentUser8","_sdk$currentUser9","onMessageDeleted","messageId","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelParticipantCountChanged","onChannelDeleted","channelUrl","type","url","_options$onChannelDel","onOperatorUpdated","onUserUnbanned","onUserMuted","onUserUnmuted","onUserBanned","bannedUser","_sdk$currentUser0","_options$onChannelDel2","enter","error","_options$onError","_options$onChannelDel3","onError","exit","catch","refresh","prev","_queryRef$current17","_queryRef$current18","_sdk$currentUser1","hasPrev","_queryRef$current19","next","sendUserMessage","params","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser10","onSucceeded","sentMessage","_sdk$currentUser11","onFailed","err","failedMessage","_sdk$currentUser12","sendFileMessage","isFileMessage","_sdk$currentUser13","_sdk$currentUser14","_sdk$currentUser15","updateUserMessage","_sdk$currentUser16","updatedMessage","updateFileMessage","_sdk$currentUser17","resendMessage","_sdk$currentUser18","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","_sdk$currentUser19"],"sources":["useOpenChannelMessagesWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport { MessageListParams } from '@sendbird/chat/message';\nimport type {\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdOpenChannel,\n SendbirdPreviousMessageListQuery,\n} from '@sendbird/uikit-utils';\nimport {\n ASYNC_NOOP,\n NOOP,\n isDifferentChannel,\n isMyMessage,\n useAsyncEffect,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport { useConnectionHandler } from '../../handler/useConnectionHandler';\nimport type { UseOpenChannelMessages, UseOpenChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst createMessageQuery = (channel: SendbirdOpenChannel, creator?: UseOpenChannelMessagesOptions['queryCreator']) => {\n if (creator) return creator();\n return channel.createPreviousMessageListQuery({\n limit: 100,\n reverse: true,\n });\n};\n\nexport const useOpenChannelMessagesWithQuery: UseOpenChannelMessages = (sdk, channel, userId, options) => {\n const queryRef = useRef<SendbirdPreviousMessageListQuery>();\n const forceUpdate = useForceUpdate();\n const handlerId = useUniqHandlerId('useOpenChannelMessagesWithQuery');\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n updateNewMessages,\n deleteNewMessages,\n deleteMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createMessageQuery(channel, options?.queryCreator);\n if (queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n\n updateMessages(list, true, sdk.currentUser?.userId);\n }\n updateNewMessages([], true, sdk.currentUser?.userId);\n }\n });\n\n const channelUpdater = (channel: SendbirdBaseChannel) => {\n if (channel.isOpenChannel() && !isDifferentChannel(channel, channel)) {\n forceUpdate();\n }\n };\n\n useConnectionHandler(sdk, handlerId, {\n async onReconnectSucceeded() {\n const lastMessage = messages[0];\n if (!lastMessage) return;\n\n const messageContext = {\n updatedMessages: [] as SendbirdBaseMessage[],\n addedMessages: [] as SendbirdBaseMessage[],\n deletedMessageIds: [] as (number | string)[],\n };\n const changeLogsContext = {\n hasMore: false,\n token: '',\n };\n const messageQueryContext = {\n hasMore: false,\n timestamp: lastMessage.createdAt,\n };\n\n // Updated & Deleted messages\n const changelogsParams = {\n replyType: queryRef.current?.replyType,\n includeMetaArray: queryRef.current?.includeMetaArray,\n includeReactions: queryRef.current?.includeReactions,\n includeThreadInfo: queryRef.current?.includeThreadInfo,\n includeParentMessageInfo: queryRef.current?.includeParentMessageInfo,\n };\n\n const changeLogsByTS = await channel.getMessageChangeLogsSinceTimestamp(lastMessage.createdAt);\n changeLogsContext.token = changeLogsByTS.token;\n changeLogsContext.hasMore = changeLogsByTS.hasMore;\n messageContext.updatedMessages.push(...changeLogsByTS.updatedMessages);\n messageContext.deletedMessageIds.push(...changeLogsByTS.deletedMessageIds);\n\n while (changeLogsContext.hasMore) {\n const changeLogsByToken = await channel.getMessageChangeLogsSinceToken(changeLogsByTS.token, changelogsParams);\n changeLogsContext.token = changeLogsByToken.token;\n changeLogsContext.hasMore = changeLogsByToken.hasMore;\n messageContext.updatedMessages.push(...changeLogsByToken.updatedMessages);\n messageContext.deletedMessageIds.push(...changeLogsByToken.deletedMessageIds);\n }\n\n // Added messages\n const messageQueryParams: MessageListParams = {\n prevResultSize: 0,\n nextResultSize: queryRef.current?.limit ?? 100,\n reverse: queryRef.current?.reverse,\n includeParentMessageInfo: queryRef.current?.includeParentMessageInfo,\n includeThreadInfo: queryRef.current?.includeThreadInfo,\n includeReactions: queryRef.current?.includeReactions,\n includeMetaArray: queryRef.current?.includeMetaArray,\n replyType: queryRef.current?.replyType,\n customTypesFilter: queryRef.current?.customTypesFilter as never,\n messageTypeFilter: queryRef.current?.messageTypeFilter,\n senderUserIdsFilter: queryRef.current?.senderUserIdsFilter as never,\n showSubchannelMessagesOnly: queryRef.current?.showSubchannelMessagesOnly,\n };\n\n const queriedMessages = await channel.getMessagesByTimestamp(lastMessage.createdAt, messageQueryParams);\n messageQueryContext.hasMore = queriedMessages.length > 0;\n if (messageQueryContext.hasMore) {\n messageQueryContext.timestamp = queriedMessages[0].createdAt;\n messageContext.addedMessages.unshift(...queriedMessages);\n }\n\n while (messageQueryContext.hasMore) {\n const queriedMessages = await channel.getMessagesByTimestamp(messageQueryContext.timestamp, messageQueryParams);\n messageQueryContext.hasMore = queriedMessages.length > 0;\n if (messageQueryContext.hasMore) {\n messageQueryContext.timestamp = queriedMessages[0].createdAt;\n messageContext.addedMessages.unshift(...queriedMessages);\n }\n }\n\n // Update to View\n updateMessages(\n [...messageContext.addedMessages, ...messageContext.updatedMessages],\n false,\n sdk.currentUser?.userId,\n );\n deleteMessages(messageContext.deletedMessageIds, []);\n\n if (messageContext.addedMessages.length > 0) {\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages(messageContext.addedMessages, false, sdk.currentUser?.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived(messageContext.addedMessages);\n }\n }\n },\n });\n\n useChannelHandler(\n sdk,\n handlerId,\n {\n // Messages\n onMessageReceived(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n updateMessages([message], false, sdk.currentUser?.userId);\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages([message], false, sdk.currentUser?.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived([message]);\n }\n },\n onMessageUpdated(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n updateMessages([message], false, sdk.currentUser?.userId);\n },\n onMessageDeleted(eventChannel, messageId) {\n if (isDifferentChannel(channel, eventChannel)) return;\n deleteMessages([messageId], []);\n deleteNewMessages([messageId], []);\n },\n // Channels\n onChannelChanged: channelUpdater,\n onChannelFrozen: channelUpdater,\n onChannelUnfrozen: channelUpdater,\n onChannelParticipantCountChanged(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n channelUpdater(eventChannel);\n },\n onChannelDeleted(channelUrl, type) {\n if (channel.url === channelUrl && type === 'open') {\n options?.onChannelDeleted?.();\n }\n },\n // Users\n onOperatorUpdated: channelUpdater,\n onUserUnbanned: channelUpdater,\n onUserMuted: channelUpdater,\n onUserUnmuted: channelUpdater,\n onUserBanned(eventChannel, bannedUser) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n channelUpdater(eventChannel);\n }\n },\n },\n 'open',\n );\n\n useAsyncEffect(async () => {\n updateLoading(true);\n\n try {\n await channel.enter();\n await init(userId);\n } catch (error) {\n options?.onError?.(error);\n options?.onChannelDeleted?.();\n } finally {\n updateLoading(false);\n }\n\n return () => {\n channel.exit().catch(NOOP);\n };\n }, [channel.url, userId]);\n\n const refresh: ReturnType<UseOpenChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const prev: ReturnType<UseOpenChannelMessages>['prev'] = useFreshCallback(async () => {\n if (queryRef.current && queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, false, sdk.currentUser?.userId);\n }\n });\n const hasPrev: ReturnType<UseOpenChannelMessages>['hasPrev'] = useFreshCallback(\n () => queryRef.current?.hasNext ?? false,\n );\n\n const next: ReturnType<UseOpenChannelMessages>['next'] = useFreshCallback(ASYNC_NOOP);\n const hasNext: ReturnType<UseOpenChannelMessages>['hasNext'] = useFreshCallback(() => false);\n\n const sendUserMessage: ReturnType<UseOpenChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n\n const sendFileMessage: ReturnType<UseOpenChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n\n const updateUserMessage: ReturnType<UseOpenChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseOpenChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseOpenChannelMessages>['resendMessage'] = useFreshCallback(async (failedMessage) => {\n const message = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (message) updateMessages([message], false, sdk.currentUser?.userId);\n });\n const deleteMessage: ReturnType<UseOpenChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n deleteMessages([message.messageId], [message.reqId]);\n }\n });\n const resetNewMessages: ReturnType<UseOpenChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n newMessages,\n next,\n hasNext,\n prev,\n hasPrev,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetNewMessages,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRef","ASYNC_NOOP","NOOP","isDifferentChannel","isMyMessage","useAsyncEffect","useForceUpdate","useFreshCallback","useUniqHandlerId","useChannelHandler","useConnectionHandler","useChannelMessagesReducer","createMessageQuery","channel","creator","createPreviousMessageListQuery","limit","reverse","useOpenChannelMessagesWithQuery","sdk","userId","options","queryRef","undefined","forceUpdate","handlerId","loading","refreshing","messages","newMessages","updateMessages","updateNewMessages","deleteNewMessages","deleteMessages","updateLoading","updateRefreshing","sortComparator","init","uid","_queryRef$current","_sdk$currentUser2","current","queryCreator","hasNext","_queryRef$current2","_sdk$currentUser","list","load","currentUser","channelUpdater","isOpenChannel","onReconnectSucceeded","_queryRef$current3","_queryRef$current4","_queryRef$current5","_queryRef$current6","_queryRef$current7","_queryRef$current8","_queryRef$current9","_queryRef$current0","_queryRef$current1","_queryRef$current10","_queryRef$current11","_queryRef$current12","_queryRef$current13","_queryRef$current14","_queryRef$current15","_queryRef$current16","_sdk$currentUser3","lastMessage","messageContext","updatedMessages","addedMessages","deletedMessageIds","changeLogsContext","hasMore","token","messageQueryContext","timestamp","createdAt","changelogsParams","replyType","includeMetaArray","includeReactions","includeThreadInfo","includeParentMessageInfo","changeLogsByTS","getMessageChangeLogsSinceTimestamp","push","changeLogsByToken","getMessageChangeLogsSinceToken","messageQueryParams","prevResultSize","nextResultSize","customTypesFilter","messageTypeFilter","senderUserIdsFilter","showSubchannelMessagesOnly","queriedMessages","getMessagesByTimestamp","length","unshift","_options$shouldCountN","shouldCountNewMessages","call","_sdk$currentUser4","onMessagesReceived","onMessageReceived","eventChannel","message","_sdk$currentUser5","_sdk$currentUser6","_options$shouldCountN2","_sdk$currentUser7","onMessageUpdated","_sdk$currentUser8","_sdk$currentUser9","onMessageDeleted","messageId","onChannelChanged","onChannelFrozen","onChannelUnfrozen","onChannelParticipantCountChanged","onChannelDeleted","channelUrl","type","url","_options$onChannelDel","onOperatorUpdated","onUserUnbanned","onUserMuted","onUserUnmuted","onUserBanned","bannedUser","_sdk$currentUser0","_options$onChannelDel2","enter","error","_options$onError","_options$onChannelDel3","onError","exit","catch","refresh","prev","_queryRef$current17","_queryRef$current18","_sdk$currentUser1","hasPrev","_queryRef$current19","next","sendUserMessage","params","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser10","onSucceeded","sentMessage","_sdk$currentUser11","onFailed","err","failedMessage","_sdk$currentUser12","sendFileMessage","isFileMessage","_sdk$currentUser13","_sdk$currentUser14","_sdk$currentUser15","updateUserMessage","_sdk$currentUser16","updatedMessage","updateFileMessage","_sdk$currentUser17","resendMessage","_sdk$currentUser18","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","_sdk$currentUser19"],"sources":["useOpenChannelMessagesWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport { MessageListParams } from '@sendbird/chat/message';\nimport type {\n SendbirdBaseChannel,\n SendbirdBaseMessage,\n SendbirdOpenChannel,\n SendbirdPreviousMessageListQuery,\n} from '@sendbird/uikit-utils';\nimport {\n ASYNC_NOOP,\n NOOP,\n isDifferentChannel,\n isMyMessage,\n useAsyncEffect,\n useForceUpdate,\n useFreshCallback,\n useUniqHandlerId,\n} from '@sendbird/uikit-utils';\n\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport { useConnectionHandler } from '../../handler/useConnectionHandler';\nimport type { UseOpenChannelMessages, UseOpenChannelMessagesOptions } from '../../types';\nimport { useChannelMessagesReducer } from '../useChannelMessagesReducer';\n\nconst createMessageQuery = (channel: SendbirdOpenChannel, creator?: UseOpenChannelMessagesOptions['queryCreator']) => {\n if (creator) return creator();\n return channel.createPreviousMessageListQuery({\n limit: 100,\n reverse: true,\n });\n};\n\nexport const useOpenChannelMessagesWithQuery: UseOpenChannelMessages = (sdk, channel, userId, options) => {\n const queryRef = useRef<SendbirdPreviousMessageListQuery | undefined>(undefined);\n const forceUpdate = useForceUpdate();\n const handlerId = useUniqHandlerId('useOpenChannelMessagesWithQuery');\n\n const {\n loading,\n refreshing,\n messages,\n newMessages,\n updateMessages,\n updateNewMessages,\n deleteNewMessages,\n deleteMessages,\n updateLoading,\n updateRefreshing,\n } = useChannelMessagesReducer(options?.sortComparator);\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createMessageQuery(channel, options?.queryCreator);\n if (queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n\n updateMessages(list, true, sdk.currentUser?.userId);\n }\n updateNewMessages([], true, sdk.currentUser?.userId);\n }\n });\n\n const channelUpdater = (channel: SendbirdBaseChannel) => {\n if (channel.isOpenChannel() && !isDifferentChannel(channel, channel)) {\n forceUpdate();\n }\n };\n\n useConnectionHandler(sdk, handlerId, {\n async onReconnectSucceeded() {\n const lastMessage = messages[0];\n if (!lastMessage) return;\n\n const messageContext = {\n updatedMessages: [] as SendbirdBaseMessage[],\n addedMessages: [] as SendbirdBaseMessage[],\n deletedMessageIds: [] as (number | string)[],\n };\n const changeLogsContext = {\n hasMore: false,\n token: '',\n };\n const messageQueryContext = {\n hasMore: false,\n timestamp: lastMessage.createdAt,\n };\n\n // Updated & Deleted messages\n const changelogsParams = {\n replyType: queryRef.current?.replyType,\n includeMetaArray: queryRef.current?.includeMetaArray,\n includeReactions: queryRef.current?.includeReactions,\n includeThreadInfo: queryRef.current?.includeThreadInfo,\n includeParentMessageInfo: queryRef.current?.includeParentMessageInfo,\n };\n\n const changeLogsByTS = await channel.getMessageChangeLogsSinceTimestamp(lastMessage.createdAt);\n changeLogsContext.token = changeLogsByTS.token;\n changeLogsContext.hasMore = changeLogsByTS.hasMore;\n messageContext.updatedMessages.push(...changeLogsByTS.updatedMessages);\n messageContext.deletedMessageIds.push(...changeLogsByTS.deletedMessageIds);\n\n while (changeLogsContext.hasMore) {\n const changeLogsByToken = await channel.getMessageChangeLogsSinceToken(changeLogsByTS.token, changelogsParams);\n changeLogsContext.token = changeLogsByToken.token;\n changeLogsContext.hasMore = changeLogsByToken.hasMore;\n messageContext.updatedMessages.push(...changeLogsByToken.updatedMessages);\n messageContext.deletedMessageIds.push(...changeLogsByToken.deletedMessageIds);\n }\n\n // Added messages\n const messageQueryParams: MessageListParams = {\n prevResultSize: 0,\n nextResultSize: queryRef.current?.limit ?? 100,\n reverse: queryRef.current?.reverse,\n includeParentMessageInfo: queryRef.current?.includeParentMessageInfo,\n includeThreadInfo: queryRef.current?.includeThreadInfo,\n includeReactions: queryRef.current?.includeReactions,\n includeMetaArray: queryRef.current?.includeMetaArray,\n replyType: queryRef.current?.replyType,\n customTypesFilter: queryRef.current?.customTypesFilter as never,\n messageTypeFilter: queryRef.current?.messageTypeFilter,\n senderUserIdsFilter: queryRef.current?.senderUserIdsFilter as never,\n showSubchannelMessagesOnly: queryRef.current?.showSubchannelMessagesOnly,\n };\n\n const queriedMessages = await channel.getMessagesByTimestamp(lastMessage.createdAt, messageQueryParams);\n messageQueryContext.hasMore = queriedMessages.length > 0;\n if (messageQueryContext.hasMore) {\n messageQueryContext.timestamp = queriedMessages[0].createdAt;\n messageContext.addedMessages.unshift(...queriedMessages);\n }\n\n while (messageQueryContext.hasMore) {\n const queriedMessages = await channel.getMessagesByTimestamp(messageQueryContext.timestamp, messageQueryParams);\n messageQueryContext.hasMore = queriedMessages.length > 0;\n if (messageQueryContext.hasMore) {\n messageQueryContext.timestamp = queriedMessages[0].createdAt;\n messageContext.addedMessages.unshift(...queriedMessages);\n }\n }\n\n // Update to View\n updateMessages(\n [...messageContext.addedMessages, ...messageContext.updatedMessages],\n false,\n sdk.currentUser?.userId,\n );\n deleteMessages(messageContext.deletedMessageIds, []);\n\n if (messageContext.addedMessages.length > 0) {\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages(messageContext.addedMessages, false, sdk.currentUser?.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived(messageContext.addedMessages);\n }\n }\n },\n });\n\n useChannelHandler(\n sdk,\n handlerId,\n {\n // Messages\n onMessageReceived(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n updateMessages([message], false, sdk.currentUser?.userId);\n if (options?.shouldCountNewMessages?.()) {\n updateNewMessages([message], false, sdk.currentUser?.userId);\n }\n if (options?.onMessagesReceived) {\n options.onMessagesReceived([message]);\n }\n },\n onMessageUpdated(eventChannel, message) {\n if (isDifferentChannel(channel, eventChannel)) return;\n if (isMyMessage(message, sdk.currentUser?.userId)) return;\n\n updateMessages([message], false, sdk.currentUser?.userId);\n },\n onMessageDeleted(eventChannel, messageId) {\n if (isDifferentChannel(channel, eventChannel)) return;\n deleteMessages([messageId], []);\n deleteNewMessages([messageId], []);\n },\n // Channels\n onChannelChanged: channelUpdater,\n onChannelFrozen: channelUpdater,\n onChannelUnfrozen: channelUpdater,\n onChannelParticipantCountChanged(eventChannel) {\n if (isDifferentChannel(channel, eventChannel)) return;\n channelUpdater(eventChannel);\n },\n onChannelDeleted(channelUrl, type) {\n if (channel.url === channelUrl && type === 'open') {\n options?.onChannelDeleted?.();\n }\n },\n // Users\n onOperatorUpdated: channelUpdater,\n onUserUnbanned: channelUpdater,\n onUserMuted: channelUpdater,\n onUserUnmuted: channelUpdater,\n onUserBanned(eventChannel, bannedUser) {\n if (isDifferentChannel(channel, eventChannel)) return;\n\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n channelUpdater(eventChannel);\n }\n },\n },\n 'open',\n );\n\n useAsyncEffect(async () => {\n updateLoading(true);\n\n try {\n await channel.enter();\n await init(userId);\n } catch (error) {\n options?.onError?.(error);\n options?.onChannelDeleted?.();\n } finally {\n updateLoading(false);\n }\n\n return () => {\n channel.exit().catch(NOOP);\n };\n }, [channel.url, userId]);\n\n const refresh: ReturnType<UseOpenChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const prev: ReturnType<UseOpenChannelMessages>['prev'] = useFreshCallback(async () => {\n if (queryRef.current && queryRef.current?.hasNext) {\n const list = await queryRef.current?.load();\n updateMessages(list, false, sdk.currentUser?.userId);\n }\n });\n const hasPrev: ReturnType<UseOpenChannelMessages>['hasPrev'] = useFreshCallback(\n () => queryRef.current?.hasNext ?? false,\n );\n\n const next: ReturnType<UseOpenChannelMessages>['next'] = useFreshCallback(ASYNC_NOOP);\n const hasNext: ReturnType<UseOpenChannelMessages>['hasNext'] = useFreshCallback(() => false);\n\n const sendUserMessage: ReturnType<UseOpenChannelMessages>['sendUserMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendUserMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isUserMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isUserMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n\n const sendFileMessage: ReturnType<UseOpenChannelMessages>['sendFileMessage'] = useFreshCallback(\n (params, onPending) => {\n return new Promise((resolve, reject) => {\n channel\n .sendFileMessage(params)\n .onPending((pendingMessage) => {\n if (pendingMessage.isFileMessage()) {\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\n onPending?.(pendingMessage);\n }\n })\n .onSucceeded((sentMessage) => {\n if (sentMessage.isFileMessage()) {\n updateMessages([sentMessage], false, sdk.currentUser?.userId);\n resolve(sentMessage);\n }\n })\n .onFailed((err, failedMessage) => {\n if (failedMessage) {\n updateMessages([failedMessage], false, sdk.currentUser?.userId);\n }\n reject(err);\n });\n });\n },\n );\n\n const updateUserMessage: ReturnType<UseOpenChannelMessages>['updateUserMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateUserMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const updateFileMessage: ReturnType<UseOpenChannelMessages>['updateFileMessage'] = useFreshCallback(\n async (messageId, params) => {\n const updatedMessage = await channel.updateFileMessage(messageId, params);\n updateMessages([updatedMessage], false, sdk.currentUser?.userId);\n return updatedMessage;\n },\n );\n const resendMessage: ReturnType<UseOpenChannelMessages>['resendMessage'] = useFreshCallback(async (failedMessage) => {\n const message = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (message) updateMessages([message], false, sdk.currentUser?.userId);\n });\n const deleteMessage: ReturnType<UseOpenChannelMessages>['deleteMessage'] = useFreshCallback(async (message) => {\n if (message.sendingStatus === 'succeeded') {\n if (message.isUserMessage()) await channel.deleteMessage(message);\n if (message.isFileMessage()) await channel.deleteMessage(message);\n } else {\n deleteMessages([message.messageId], [message.reqId]);\n }\n });\n const resetNewMessages: ReturnType<UseOpenChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n newMessages,\n next,\n hasNext,\n prev,\n hasPrev,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetNewMessages,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -28,7 +28,7 @@ const createUserQuery = (sdk, queryCreator) => {
28
28
  * ```
29
29
  * */
30
30
  export const useUserList = (sdk, options) => {
31
- const query = useRef();
31
+ const query = useRef(undefined);
32
32
  const [error, setError] = useState(null);
33
33
  const [loading, setLoading] = useState(false);
34
34
  const [refreshing, setRefreshing] = useState(false);
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useRef","useState","Logger","SBErrorCode","SBErrorMessage","useAsyncEffect","useFreshCallback","createUserQuery","sdk","queryCreator","createApplicationUserListQuery","useUserList","options","query","error","setError","loading","setLoading","refreshing","setRefreshing","users","setUsers","sortedUsers","sortComparator","sort","upsertUser","user","draft","userIdx","findIndex","it","userId","push","deleteUser","splice","updateUsers","clearPrev","prev","concat","init","_query$current","current","hasNext","_query$current2","next","catch","e","code","UNAUTHORIZED_REQUEST","warn","ACL","refresh","_query$current3","isLoading","nextUsers"],"sources":["useUserList.ts"],"sourcesContent":["import { useMemo, useRef, useState } from 'react';\n\nimport type { Optional, SendbirdChatSDK, SendbirdUser, UserStruct } from '@sendbird/uikit-utils';\nimport { Logger, SBErrorCode, SBErrorMessage, useAsyncEffect, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { CustomQueryInterface, UseUserListOptions, UseUserListReturn } from '../types';\n\nconst createUserQuery = <User extends UserStruct>(\n sdk: SendbirdChatSDK,\n queryCreator?: UseUserListOptions<User>['queryCreator'],\n) => {\n if (queryCreator) return queryCreator();\n // In order to use the API, the option must be turned on in the dashboard.\n return sdk.createApplicationUserListQuery() as unknown as CustomQueryInterface<User>;\n};\n\n/**\n * Get user list from query.\n * default query uses 'instance.createApplicationUserListQuery'\n * The response type of hook is depends on return type of 'query.next()'\n *\n * You can call hook with your custom query using {@link CustomQuery}\n * Or you can create your 'CustomQueryClass' implemented {@link CustomQueryInterface}'\n *\n * ```example\n * const { users } = useUserList(sdk, {\n * queryCreator: () => {\n * const friendQuery = sdk.createFriendListQuery();\n * return new CustomQuery({\n * next: () => friendQuery.next(),\n * isLoading: () => friendQuery.isLoading,\n * hasNext: () => friendQuery.hasMore,\n * });\n * }\n * })\n * ```\n * */\nexport const useUserList = <\n Options extends UseUserListOptions<UserStruct>,\n QueriedUser extends UserStruct = Options['queryCreator'] extends Optional<\n () => CustomQueryInterface<infer User extends UserStruct>\n >\n ? User\n : SendbirdUser,\n>(\n sdk: SendbirdChatSDK,\n options?: UseUserListOptions<QueriedUser>,\n): UseUserListReturn<QueriedUser> => {\n const query = useRef<CustomQueryInterface<QueriedUser>>();\n\n const [error, setError] = useState<unknown>(null);\n const [loading, setLoading] = useState(false);\n const [refreshing, setRefreshing] = useState(false);\n\n const [users, setUsers] = useState<QueriedUser[]>([]);\n const sortedUsers = useMemo((): QueriedUser[] => {\n if (options?.sortComparator) return users.sort(options.sortComparator);\n return users;\n }, [users, options?.sortComparator]);\n\n const upsertUser = useFreshCallback((user: QueriedUser) => {\n setUsers(([...draft]) => {\n const userIdx = draft.findIndex((it) => it.userId === user.userId);\n if (userIdx > -1) draft[userIdx] = user;\n else draft.push(user);\n return draft;\n });\n });\n\n const deleteUser = useFreshCallback((userId: QueriedUser['userId']) => {\n setUsers(([...draft]) => {\n const userIdx = draft.findIndex((it) => it.userId === userId);\n if (userIdx > -1) draft.splice(userIdx, 1);\n return draft;\n });\n });\n\n const updateUsers = (users: QueriedUser[], clearPrev: boolean) => {\n if (clearPrev) setUsers(users);\n else setUsers((prev) => prev.concat(users));\n };\n\n const init = useFreshCallback(async () => {\n query.current = createUserQuery<QueriedUser>(sdk, options?.queryCreator);\n if (query.current?.hasNext) {\n const users = await query.current?.next().catch((e) => {\n Logger.error(e);\n if (e.code === SBErrorCode.UNAUTHORIZED_REQUEST) Logger.warn(SBErrorMessage.ACL);\n throw e;\n });\n updateUsers(users, true);\n }\n });\n\n useAsyncEffect(async () => {\n setLoading(true);\n setError(null);\n try {\n await init();\n } catch (e) {\n setError(e);\n setUsers([]);\n } finally {\n setLoading(false);\n }\n }, []);\n\n const refresh = useFreshCallback(async () => {\n setRefreshing(true);\n setError(null);\n try {\n await init();\n } catch (e) {\n setError(e);\n setUsers([]);\n } finally {\n setRefreshing(false);\n }\n });\n\n const next = useFreshCallback(async () => {\n if (query.current && query.current?.hasNext && !query.current.isLoading) {\n const nextUsers = await query.current.next().catch((e) => {\n Logger.error(e);\n if (e.code === SBErrorCode.UNAUTHORIZED_REQUEST) Logger.warn(SBErrorMessage.ACL);\n throw e;\n });\n updateUsers(nextUsers, false);\n }\n });\n\n return {\n loading,\n error,\n users: sortedUsers,\n upsertUser,\n deleteUser,\n next,\n refreshing,\n refresh,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useRef","useState","Logger","SBErrorCode","SBErrorMessage","useAsyncEffect","useFreshCallback","createUserQuery","sdk","queryCreator","createApplicationUserListQuery","useUserList","options","query","undefined","error","setError","loading","setLoading","refreshing","setRefreshing","users","setUsers","sortedUsers","sortComparator","sort","upsertUser","user","draft","userIdx","findIndex","it","userId","push","deleteUser","splice","updateUsers","clearPrev","prev","concat","init","_query$current","current","hasNext","_query$current2","next","catch","e","code","UNAUTHORIZED_REQUEST","warn","ACL","refresh","_query$current3","isLoading","nextUsers"],"sources":["useUserList.ts"],"sourcesContent":["import { useMemo, useRef, useState } from 'react';\n\nimport type { Optional, SendbirdChatSDK, SendbirdUser, UserStruct } from '@sendbird/uikit-utils';\nimport { Logger, SBErrorCode, SBErrorMessage, useAsyncEffect, useFreshCallback } from '@sendbird/uikit-utils';\n\nimport type { CustomQueryInterface, UseUserListOptions, UseUserListReturn } from '../types';\n\nconst createUserQuery = <User extends UserStruct>(\n sdk: SendbirdChatSDK,\n queryCreator?: UseUserListOptions<User>['queryCreator'],\n) => {\n if (queryCreator) return queryCreator();\n // In order to use the API, the option must be turned on in the dashboard.\n return sdk.createApplicationUserListQuery() as unknown as CustomQueryInterface<User>;\n};\n\n/**\n * Get user list from query.\n * default query uses 'instance.createApplicationUserListQuery'\n * The response type of hook is depends on return type of 'query.next()'\n *\n * You can call hook with your custom query using {@link CustomQuery}\n * Or you can create your 'CustomQueryClass' implemented {@link CustomQueryInterface}'\n *\n * ```example\n * const { users } = useUserList(sdk, {\n * queryCreator: () => {\n * const friendQuery = sdk.createFriendListQuery();\n * return new CustomQuery({\n * next: () => friendQuery.next(),\n * isLoading: () => friendQuery.isLoading,\n * hasNext: () => friendQuery.hasMore,\n * });\n * }\n * })\n * ```\n * */\nexport const useUserList = <\n Options extends UseUserListOptions<UserStruct>,\n QueriedUser extends UserStruct = Options['queryCreator'] extends Optional<\n () => CustomQueryInterface<infer User extends UserStruct>\n >\n ? User\n : SendbirdUser,\n>(\n sdk: SendbirdChatSDK,\n options?: UseUserListOptions<QueriedUser>,\n): UseUserListReturn<QueriedUser> => {\n const query = useRef<CustomQueryInterface<QueriedUser> | undefined>(undefined);\n\n const [error, setError] = useState<unknown>(null);\n const [loading, setLoading] = useState(false);\n const [refreshing, setRefreshing] = useState(false);\n\n const [users, setUsers] = useState<QueriedUser[]>([]);\n const sortedUsers = useMemo((): QueriedUser[] => {\n if (options?.sortComparator) return users.sort(options.sortComparator);\n return users;\n }, [users, options?.sortComparator]);\n\n const upsertUser = useFreshCallback((user: QueriedUser) => {\n setUsers(([...draft]) => {\n const userIdx = draft.findIndex((it) => it.userId === user.userId);\n if (userIdx > -1) draft[userIdx] = user;\n else draft.push(user);\n return draft;\n });\n });\n\n const deleteUser = useFreshCallback((userId: QueriedUser['userId']) => {\n setUsers(([...draft]) => {\n const userIdx = draft.findIndex((it) => it.userId === userId);\n if (userIdx > -1) draft.splice(userIdx, 1);\n return draft;\n });\n });\n\n const updateUsers = (users: QueriedUser[], clearPrev: boolean) => {\n if (clearPrev) setUsers(users);\n else setUsers((prev) => prev.concat(users));\n };\n\n const init = useFreshCallback(async () => {\n query.current = createUserQuery<QueriedUser>(sdk, options?.queryCreator);\n if (query.current?.hasNext) {\n const users = await query.current?.next().catch((e) => {\n Logger.error(e);\n if (e.code === SBErrorCode.UNAUTHORIZED_REQUEST) Logger.warn(SBErrorMessage.ACL);\n throw e;\n });\n updateUsers(users, true);\n }\n });\n\n useAsyncEffect(async () => {\n setLoading(true);\n setError(null);\n try {\n await init();\n } catch (e) {\n setError(e);\n setUsers([]);\n } finally {\n setLoading(false);\n }\n }, []);\n\n const refresh = useFreshCallback(async () => {\n setRefreshing(true);\n setError(null);\n try {\n await init();\n } catch (e) {\n setError(e);\n setUsers([]);\n } finally {\n setRefreshing(false);\n }\n });\n\n const next = useFreshCallback(async () => {\n if (query.current && query.current?.hasNext && !query.current.isLoading) {\n const nextUsers = await query.current.next().catch((e) => {\n Logger.error(e);\n if (e.code === SBErrorCode.UNAUTHORIZED_REQUEST) Logger.warn(SBErrorMessage.ACL);\n throw e;\n });\n updateUsers(nextUsers, false);\n }\n });\n\n return {\n loading,\n error,\n users: sortedUsers,\n upsertUser,\n deleteUser,\n next,\n refreshing,\n refresh,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { useEffect, useLayoutEffect, useRef } from 'react';
2
2
  import { ConnectionHandler } from '@sendbird/chat';
3
3
  import { Logger } from '@sendbird/uikit-utils';
4
4
  export const useConnectionHandler = (sdk, handlerId, hookHandler) => {
5
- const handlerRef = useRef();
5
+ const handlerRef = useRef(undefined);
6
6
  useLayoutEffect(() => {
7
7
  handlerRef.current = hookHandler;
8
8
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useLayoutEffect","useRef","ConnectionHandler","Logger","useConnectionHandler","sdk","handlerId","hookHandler","handlerRef","current","info","handler","handlerKeys","Object","keys","forEach","key","args","_handlerRef$current$k","_handlerRef$current","call","addConnectionHandler","removeConnectionHandler"],"sources":["useConnectionHandler.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from 'react';\n\nimport { ConnectionHandler } from '@sendbird/chat';\nimport { Logger, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useConnectionHandler = (\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<ConnectionHandler>,\n) => {\n const handlerRef = useRef<Partial<ConnectionHandler>>();\n useLayoutEffect(() => {\n handlerRef.current = hookHandler;\n });\n\n useEffect(() => {\n Logger.info('[useConnectionHandler]', handlerId);\n\n const handler = new ConnectionHandler();\n const handlerKeys = Object.keys(handler) as (keyof typeof handler)[];\n handlerKeys.forEach((key) => {\n handler[key] = (...args: unknown[]) => {\n // @ts-ignore\n handlerRef.current[key]?.(...args);\n };\n });\n\n sdk.addConnectionHandler(handlerId, handler);\n return () => sdk.removeConnectionHandler(handlerId);\n }, [sdk, handlerId]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,MAAM,QAAQ,OAAO;AAE1D,SAASC,iBAAiB,QAAQ,gBAAgB;AAClD,SAASC,MAAM,QAAyB,uBAAuB;AAE/D,OAAO,MAAMC,oBAAoB,GAAGA,CAClCC,GAAoB,EACpBC,SAAiB,EACjBC,WAAuC,KACpC;EACH,MAAMC,UAAU,GAAGP,MAAM,CAA6B,CAAC;EACvDD,eAAe,CAAC,MAAM;IACpBQ,UAAU,CAACC,OAAO,GAAGF,WAAW;EAClC,CAAC,CAAC;EAEFR,SAAS,CAAC,MAAM;IACdI,MAAM,CAACO,IAAI,CAAC,wBAAwB,EAAEJ,SAAS,CAAC;IAEhD,MAAMK,OAAO,GAAG,IAAIT,iBAAiB,CAAC,CAAC;IACvC,MAAMU,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAA6B;IACpEC,WAAW,CAACG,OAAO,CAAEC,GAAG,IAAK;MAC3BL,OAAO,CAACK,GAAG,CAAC,GAAG,CAAC,GAAGC,IAAe,KAAK;QAAA,IAAAC,qBAAA,EAAAC,mBAAA;QACrC;QACA,CAAAD,qBAAA,IAAAC,mBAAA,GAAAX,UAAU,CAACC,OAAO,EAACO,GAAG,CAAC,cAAAE,qBAAA,eAAvBA,qBAAA,CAAAE,IAAA,CAAAD,mBAAA,EAA0B,GAAGF,IAAI,CAAC;MACpC,CAAC;IACH,CAAC,CAAC;IAEFZ,GAAG,CAACgB,oBAAoB,CAACf,SAAS,EAAEK,OAAO,CAAC;IAC5C,OAAO,MAAMN,GAAG,CAACiB,uBAAuB,CAAChB,SAAS,CAAC;EACrD,CAAC,EAAE,CAACD,GAAG,EAAEC,SAAS,CAAC,CAAC;AACtB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useLayoutEffect","useRef","ConnectionHandler","Logger","useConnectionHandler","sdk","handlerId","hookHandler","handlerRef","undefined","current","info","handler","handlerKeys","Object","keys","forEach","key","args","_handlerRef$current$k","_handlerRef$current","call","addConnectionHandler","removeConnectionHandler"],"sources":["useConnectionHandler.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from 'react';\n\nimport { ConnectionHandler } from '@sendbird/chat';\nimport { Logger, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useConnectionHandler = (\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<ConnectionHandler>,\n) => {\n const handlerRef = useRef<Partial<ConnectionHandler> | undefined>(undefined);\n useLayoutEffect(() => {\n handlerRef.current = hookHandler;\n });\n\n useEffect(() => {\n Logger.info('[useConnectionHandler]', handlerId);\n\n const handler = new ConnectionHandler();\n const handlerKeys = Object.keys(handler) as (keyof typeof handler)[];\n handlerKeys.forEach((key) => {\n handler[key] = (...args: unknown[]) => {\n // @ts-ignore\n handlerRef.current[key]?.(...args);\n };\n });\n\n sdk.addConnectionHandler(handlerId, handler);\n return () => sdk.removeConnectionHandler(handlerId);\n }, [sdk, handlerId]);\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,eAAe,EAAEC,MAAM,QAAQ,OAAO;AAE1D,SAASC,iBAAiB,QAAQ,gBAAgB;AAClD,SAASC,MAAM,QAAyB,uBAAuB;AAE/D,OAAO,MAAMC,oBAAoB,GAAGA,CAClCC,GAAoB,EACpBC,SAAiB,EACjBC,WAAuC,KACpC;EACH,MAAMC,UAAU,GAAGP,MAAM,CAAyCQ,SAAS,CAAC;EAC5ET,eAAe,CAAC,MAAM;IACpBQ,UAAU,CAACE,OAAO,GAAGH,WAAW;EAClC,CAAC,CAAC;EAEFR,SAAS,CAAC,MAAM;IACdI,MAAM,CAACQ,IAAI,CAAC,wBAAwB,EAAEL,SAAS,CAAC;IAEhD,MAAMM,OAAO,GAAG,IAAIV,iBAAiB,CAAC,CAAC;IACvC,MAAMW,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAA6B;IACpEC,WAAW,CAACG,OAAO,CAAEC,GAAG,IAAK;MAC3BL,OAAO,CAACK,GAAG,CAAC,GAAG,CAAC,GAAGC,IAAe,KAAK;QAAA,IAAAC,qBAAA,EAAAC,mBAAA;QACrC;QACA,CAAAD,qBAAA,IAAAC,mBAAA,GAAAZ,UAAU,CAACE,OAAO,EAACO,GAAG,CAAC,cAAAE,qBAAA,eAAvBA,qBAAA,CAAAE,IAAA,CAAAD,mBAAA,EAA0B,GAAGF,IAAI,CAAC;MACpC,CAAC;IACH,CAAC,CAAC;IAEFb,GAAG,CAACiB,oBAAoB,CAAChB,SAAS,EAAEM,OAAO,CAAC;IAC5C,OAAO,MAAMP,GAAG,CAACkB,uBAAuB,CAACjB,SAAS,CAAC;EACrD,CAAC,EAAE,CAACD,GAAG,EAAEC,SAAS,CAAC,CAAC;AACtB,CAAC","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  import { SendbirdChatSDK, SendbirdGroupChannel } from '@sendbird/uikit-utils';
2
- export declare const useGroupChannel: (sdk: SendbirdChatSDK, channelUrl: string) => {
2
+ type State = {
3
3
  loading: boolean;
4
4
  channel?: SendbirdGroupChannel;
5
5
  error?: unknown;
6
6
  };
7
+ export declare const useGroupChannel: (sdk: SendbirdChatSDK, channelUrl: string) => State;
8
+ export {};
@@ -1,6 +1,8 @@
1
1
  import { SendbirdChatSDK, SendbirdOpenChannel } from '@sendbird/uikit-utils';
2
- export declare const useOpenChannel: (sdk: SendbirdChatSDK, channelUrl: string) => {
2
+ type State = {
3
3
  loading: boolean;
4
4
  channel?: SendbirdOpenChannel;
5
5
  error?: unknown;
6
6
  };
7
+ export declare const useOpenChannel: (sdk: SendbirdChatSDK, channelUrl: string) => State;
8
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sendbird/uikit-chat-hooks",
3
- "version": "3.12.0",
3
+ "version": "3.12.2",
4
4
  "description": "A set of React hooks for integrating Sendbird chat functionality into your React app.",
5
5
  "keywords": [
6
6
  "sendbird",
@@ -54,10 +54,10 @@
54
54
  "access": "public"
55
55
  },
56
56
  "dependencies": {
57
- "@sendbird/uikit-utils": "3.12.0"
57
+ "@sendbird/uikit-utils": "3.12.2"
58
58
  },
59
59
  "devDependencies": {
60
- "@sendbird/uikit-testing-tools": "3.12.0",
60
+ "@sendbird/uikit-testing-tools": "3.12.2",
61
61
  "@types/react": "*",
62
62
  "react": "19.1.1",
63
63
  "react-native-builder-bob": "^0.18.0",
@@ -81,5 +81,5 @@
81
81
  ]
82
82
  ]
83
83
  },
84
- "gitHead": "e2f8e3530d9c37e58ee57f88d46b472509714d26"
84
+ "gitHead": "bea2acef581a062a275f1b8463ebe643bc4276e6"
85
85
  }
@@ -33,7 +33,7 @@ export const useGroupChannelListWithCollection: UseGroupChannelList = (sdk, user
33
33
  const handlerId = useUniqHandlerId('useGroupChannelListWithCollection');
34
34
  const { deliveryReceiptEnabled } = useAppFeatures(sdk);
35
35
 
36
- const collectionRef = useRef<SendbirdGroupChannelCollection>();
36
+ const collectionRef = useRef<SendbirdGroupChannelCollection | undefined>(undefined);
37
37
 
38
38
  const { loading, groupChannels, refreshing, appendChannels, deleteChannels, updateRefreshing, updateLoading } =
39
39
  useGroupChannelListReducer();
@@ -28,7 +28,7 @@ const createGroupChannelListQuery = (
28
28
  * */
29
29
  export const useGroupChannelListWithQuery: UseGroupChannelList = (sdk, userId, options) => {
30
30
  const { deliveryReceiptEnabled } = useAppFeatures(sdk);
31
- const queryRef = useRef<SendbirdGroupChannelListQuery>();
31
+ const queryRef = useRef<SendbirdGroupChannelListQuery | undefined>(undefined);
32
32
  const handlerId = useUniqHandlerId('useGroupChannelListWithQuery');
33
33
 
34
34
  const {
@@ -54,7 +54,7 @@ export const useGroupChannelMessagesWithCollection: UseGroupChannelMessages = (s
54
54
  const initialLimit = shouldUseSearchLimit(initialStartingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;
55
55
 
56
56
  const forceUpdate = useForceUpdate();
57
- const collectionRef = useRef<SendbirdMessageCollection>();
57
+ const collectionRef = useRef<SendbirdMessageCollection | undefined>(undefined);
58
58
  const collectionInitializedRef = useRef(false);
59
59
  const handlerId = useUniqHandlerId('useGroupChannelMessagesWithCollection');
60
60
 
@@ -35,7 +35,7 @@ const createMessageQuery = (channel: SendbirdGroupChannel, options?: UseGroupCha
35
35
  * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
36
36
  * */
37
37
  export const useGroupChannelMessagesWithQuery: UseGroupChannelMessages = (sdk, channel, userId, options) => {
38
- const queryRef = useRef<SendbirdPreviousMessageListQuery>();
38
+ const queryRef = useRef<SendbirdPreviousMessageListQuery | undefined>(undefined);
39
39
  const handlerId = useUniqHandlerId('useGroupChannelMessagesWithQuery');
40
40
 
41
41
  const forceUpdate = useForceUpdate();
@@ -14,7 +14,7 @@ const createOpenChannelListQuery = (sdk: SendbirdChatSDK, queryCreator: UseOpenC
14
14
  };
15
15
 
16
16
  export const useOpenChannelListWithQuery: UseOpenChannelList = (sdk, userId, options) => {
17
- const queryRef = useRef<SendbirdOpenChannelListQuery>();
17
+ const queryRef = useRef<SendbirdOpenChannelListQuery | undefined>(undefined);
18
18
  const handlerId = useUniqHandlerId('useOpenChannelListWithQuery');
19
19
 
20
20
  const {
@@ -32,7 +32,7 @@ const createMessageQuery = (channel: SendbirdOpenChannel, creator?: UseOpenChann
32
32
  };
33
33
 
34
34
  export const useOpenChannelMessagesWithQuery: UseOpenChannelMessages = (sdk, channel, userId, options) => {
35
- const queryRef = useRef<SendbirdPreviousMessageListQuery>();
35
+ const queryRef = useRef<SendbirdPreviousMessageListQuery | undefined>(undefined);
36
36
  const forceUpdate = useForceUpdate();
37
37
  const handlerId = useUniqHandlerId('useOpenChannelMessagesWithQuery');
38
38
 
@@ -46,7 +46,7 @@ export const useUserList = <
46
46
  sdk: SendbirdChatSDK,
47
47
  options?: UseUserListOptions<QueriedUser>,
48
48
  ): UseUserListReturn<QueriedUser> => {
49
- const query = useRef<CustomQueryInterface<QueriedUser>>();
49
+ const query = useRef<CustomQueryInterface<QueriedUser> | undefined>(undefined);
50
50
 
51
51
  const [error, setError] = useState<unknown>(null);
52
52
  const [loading, setLoading] = useState(false);
@@ -8,7 +8,7 @@ export const useConnectionHandler = (
8
8
  handlerId: string,
9
9
  hookHandler: Partial<ConnectionHandler>,
10
10
  ) => {
11
- const handlerRef = useRef<Partial<ConnectionHandler>>();
11
+ const handlerRef = useRef<Partial<ConnectionHandler> | undefined>(undefined);
12
12
  useLayoutEffect(() => {
13
13
  handlerRef.current = hookHandler;
14
14
  });