@sendbird/uikit-chat-hooks 3.5.4 → 3.7.0
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.
- package/lib/commonjs/channel/useGroupChannelList/index.js +1 -1
- package/lib/commonjs/channel/useGroupChannelList/index.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js +4 -0
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js +4 -0
- package/lib/commonjs/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/index.js +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/index.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +4 -0
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +4 -0
- package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
- package/lib/commonjs/common/useAppFeatures.js +4 -2
- package/lib/commonjs/common/useAppFeatures.js.map +1 -1
- package/lib/commonjs/handler/useChannelHandler.js +3 -0
- package/lib/commonjs/handler/useChannelHandler.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/index.js +1 -1
- package/lib/module/channel/useGroupChannelList/index.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js +4 -0
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithCollection.js.map +1 -1
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js +4 -0
- package/lib/module/channel/useGroupChannelList/useGroupChannelListWithQuery.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/index.js +1 -1
- package/lib/module/channel/useGroupChannelMessages/index.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js +4 -0
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map +1 -1
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js +4 -0
- package/lib/module/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map +1 -1
- package/lib/module/common/useAppFeatures.js +4 -2
- package/lib/module/common/useAppFeatures.js.map +1 -1
- package/lib/module/handler/useChannelHandler.js +3 -0
- package/lib/module/handler/useChannelHandler.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/src/channel/useGroupChannelList/index.d.ts +1 -1
- package/lib/typescript/src/channel/useGroupChannelList/useGroupChannelListWithCollection.d.ts +3 -0
- package/lib/typescript/src/channel/useGroupChannelList/useGroupChannelListWithQuery.d.ts +3 -0
- package/lib/typescript/src/channel/useGroupChannelMessages/index.d.ts +1 -1
- package/lib/typescript/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.d.ts +3 -0
- package/lib/typescript/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.d.ts +3 -0
- package/lib/typescript/src/common/useAppFeatures.d.ts +1 -0
- package/lib/typescript/src/handler/useChannelHandler.d.ts +3 -0
- package/lib/typescript/src/types.d.ts +2 -2
- package/package.json +6 -6
- package/src/channel/useGroupChannelList/index.ts +1 -1
- package/src/channel/useGroupChannelList/useGroupChannelListWithCollection.ts +3 -0
- package/src/channel/useGroupChannelList/useGroupChannelListWithQuery.ts +3 -0
- package/src/channel/useGroupChannelMessages/index.ts +1 -1
- package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.ts +3 -0
- package/src/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.ts +3 -0
- package/src/common/useAppFeatures.ts +2 -1
- package/src/handler/useChannelHandler.ts +3 -0
- package/src/types.ts +2 -2
|
@@ -8,7 +8,7 @@ var _uikitUtils = require("@sendbird/uikit-utils");
|
|
|
8
8
|
var _useGroupChannelListWithCollection = require("./useGroupChannelListWithCollection");
|
|
9
9
|
var _useGroupChannelListWithQuery = require("./useGroupChannelListWithQuery");
|
|
10
10
|
/**
|
|
11
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
11
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
12
12
|
* */
|
|
13
13
|
const useGroupChannelList = (sdk, userId, options) => {
|
|
14
14
|
if (sdk.isCacheEnabled || options !== null && options !== void 0 && options.enableCollectionWithoutLocalCache) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uikitUtils","require","_useGroupChannelListWithCollection","_useGroupChannelListWithQuery","useGroupChannelList","sdk","userId","options","isCacheEnabled","enableCollectionWithoutLocalCache","queryCreator","Logger","warn","useGroupChannelListWithCollection","useGroupChannelListWithQuery","exports"],"sources":["index.ts"],"sourcesContent":["import { Logger } from '@sendbird/uikit-utils';\n\nimport type { UseGroupChannelList } from '../../types';\nimport { useGroupChannelListWithCollection } from './useGroupChannelListWithCollection';\nimport { useGroupChannelListWithQuery } from './useGroupChannelListWithQuery';\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.\n * */\nexport const useGroupChannelList: UseGroupChannelList = (sdk, userId, options) => {\n if (sdk.isCacheEnabled || options?.enableCollectionWithoutLocalCache) {\n if (options?.queryCreator) Logger.warn('`queryCreator` is ignored, please use `collectionCreator` instead.');\n return useGroupChannelListWithCollection(sdk, userId, options);\n } else {\n return useGroupChannelListWithQuery(sdk, userId, options);\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA,IAAAC,kCAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,mBAAwC,GAAGA,CAACC,GAAG,EAAEC,MAAM,EAAEC,OAAO,KAAK;EAChF,IAAIF,GAAG,CAACG,cAAc,IAAID,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,iCAAiC,EAAE;IACpE,IAAIF,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEG,YAAY,EAAEC,kBAAM,CAACC,IAAI,CAAC,oEAAoE,CAAC;IAC5G,OAAO,IAAAC,oEAAiC,EAACR,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAChE,CAAC,MAAM;IACL,OAAO,IAAAO,0DAA4B,EAACT,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC3D;AACF,CAAC;AAACQ,OAAA,CAAAX,mBAAA,GAAAA,mBAAA"}
|
|
1
|
+
{"version":3,"names":["_uikitUtils","require","_useGroupChannelListWithCollection","_useGroupChannelListWithQuery","useGroupChannelList","sdk","userId","options","isCacheEnabled","enableCollectionWithoutLocalCache","queryCreator","Logger","warn","useGroupChannelListWithCollection","useGroupChannelListWithQuery","exports"],"sources":["index.ts"],"sourcesContent":["import { Logger } from '@sendbird/uikit-utils';\n\nimport type { UseGroupChannelList } from '../../types';\nimport { useGroupChannelListWithCollection } from './useGroupChannelListWithCollection';\nimport { useGroupChannelListWithQuery } from './useGroupChannelListWithQuery';\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelList: UseGroupChannelList = (sdk, userId, options) => {\n if (sdk.isCacheEnabled || options?.enableCollectionWithoutLocalCache) {\n if (options?.queryCreator) Logger.warn('`queryCreator` is ignored, please use `collectionCreator` instead.');\n return useGroupChannelListWithCollection(sdk, userId, options);\n } else {\n return useGroupChannelListWithQuery(sdk, userId, options);\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA,IAAAC,kCAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,mBAAwC,GAAGA,CAACC,GAAG,EAAEC,MAAM,EAAEC,OAAO,KAAK;EAChF,IAAIF,GAAG,CAACG,cAAc,IAAID,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,iCAAiC,EAAE;IACpE,IAAIF,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEG,YAAY,EAAEC,kBAAM,CAACC,IAAI,CAAC,oEAAoE,CAAC;IAC5G,OAAO,IAAAC,oEAAiC,EAACR,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAChE,CAAC,MAAM;IACL,OAAO,IAAAO,0DAA4B,EAACT,GAAG,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC3D;AACF,CAAC;AAACQ,OAAA,CAAAX,mBAAA,GAAAA,mBAAA"}
|
|
@@ -21,6 +21,10 @@ const createGroupChannelListCollection = (sdk, collectionCreator) => {
|
|
|
21
21
|
order: _groupChannel.GroupChannelListOrder.LATEST_LAST_MESSAGE
|
|
22
22
|
});
|
|
23
23
|
};
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
27
|
+
* */
|
|
24
28
|
const useGroupChannelListWithCollection = (sdk, userId, options) => {
|
|
25
29
|
const handlerId = (0, _uikitUtils.useUniqHandlerId)('useGroupChannelListWithCollection');
|
|
26
30
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_groupChannel","_uikitUtils","_useAppFeatures","_useChannelHandler","_reducer","createGroupChannelListCollection","sdk","collectionCreator","passedCollection","filter","GroupChannelFilter","includeEmpty","groupChannel","createGroupChannelCollection","limit","order","GroupChannelListOrder","LATEST_LAST_MESSAGE","useGroupChannelListWithCollection","userId","options","handlerId","useUniqHandlerId","deliveryReceiptEnabled","useAppFeatures","collectionRef","useRef","loading","groupChannels","refreshing","appendChannels","deleteChannels","updateRefreshing","updateLoading","useGroupChannelListReducer","updateChannelsAndMarkAsDelivered","markAsDelivered","source","updatedChannels","_collectionRef$curren","channels","current","GroupChannelEventSource","EVENT_MESSAGE_RECEIVED","EVENT_MESSAGE_SENT","SYNC_CHANNEL_BACKGROUND","SYNC_CHANNEL_CHANGELOGS","undefined","confirmAndMarkAsDelivered","init","useFreshCallback","uid","_collectionRef$curren2","dispose","_collectionRef$curren3","_collectionRef$curren4","setGroupChannelCollectionHandler","onChannelsAdded","context","onChannelsUpdated","onChannelsDeleted","hasMore","_collectionRef$curren5","loadMore","useEffect","_collectionRef$curren6","useAsyncEffect","useChannelHandler","onUserBanned","channel","user","isMe","url","refresh","next","_collectionRef$curren7","_collectionRef$curren8","exports"],"sources":["useGroupChannelListWithCollection.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { GroupChannelEventSource, GroupChannelFilter, GroupChannelListOrder } from '@sendbird/chat/groupChannel';\nimport type { SendbirdBaseChannel, SendbirdChatSDK, SendbirdGroupChannelCollection } from '@sendbird/uikit-utils';\nimport { confirmAndMarkAsDelivered, useAsyncEffect, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useAppFeatures } from '../../common/useAppFeatures';\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelList, UseGroupChannelListOptions } from '../../types';\nimport { useGroupChannelListReducer } from './reducer';\n\nconst createGroupChannelListCollection = (\n sdk: SendbirdChatSDK,\n collectionCreator: UseGroupChannelListOptions['collectionCreator'],\n) => {\n const passedCollection = collectionCreator?.();\n if (passedCollection) return passedCollection;\n\n const filter = new GroupChannelFilter();\n filter.includeEmpty = false;\n\n return sdk.groupChannel.createGroupChannelCollection({\n filter,\n limit: 20,\n order: GroupChannelListOrder.LATEST_LAST_MESSAGE,\n });\n};\n\nexport const useGroupChannelListWithCollection: UseGroupChannelList = (sdk, userId, options) => {\n const handlerId = useUniqHandlerId('useGroupChannelListWithCollection');\n const { deliveryReceiptEnabled } = useAppFeatures(sdk);\n\n const collectionRef = useRef<SendbirdGroupChannelCollection>();\n\n const { loading, groupChannels, refreshing, appendChannels, deleteChannels, updateRefreshing, updateLoading } =\n useGroupChannelListReducer();\n\n const updateChannelsAndMarkAsDelivered = (\n markAsDelivered: boolean,\n source?: GroupChannelEventSource,\n updatedChannels?: SendbirdBaseChannel[],\n ) => {\n const channels = collectionRef.current?.channels ?? [];\n appendChannels(channels, true);\n if (markAsDelivered && deliveryReceiptEnabled) {\n switch (source) {\n case GroupChannelEventSource.EVENT_MESSAGE_RECEIVED:\n case GroupChannelEventSource.EVENT_MESSAGE_SENT:\n case GroupChannelEventSource.SYNC_CHANNEL_BACKGROUND:\n case GroupChannelEventSource.SYNC_CHANNEL_CHANGELOGS:\n case undefined:\n confirmAndMarkAsDelivered(updatedChannels ?? channels);\n break;\n }\n }\n };\n\n const init = useFreshCallback(async (uid?: string) => {\n if (collectionRef.current) collectionRef.current?.dispose();\n\n if (uid) {\n collectionRef.current = createGroupChannelListCollection(sdk, options?.collectionCreator);\n\n collectionRef.current?.setGroupChannelCollectionHandler({\n onChannelsAdded: (context, channels) => {\n updateChannelsAndMarkAsDelivered(true, context.source, channels);\n },\n onChannelsUpdated: (context, channels) => {\n updateChannelsAndMarkAsDelivered(true, context.source, channels);\n },\n onChannelsDeleted: () => {\n updateChannelsAndMarkAsDelivered(false);\n },\n });\n\n if (collectionRef.current?.hasMore) {\n await collectionRef.current?.loadMore();\n updateChannelsAndMarkAsDelivered(true);\n }\n }\n });\n\n useEffect(() => {\n return () => {\n if (collectionRef.current) collectionRef.current?.dispose();\n };\n }, []);\n\n useAsyncEffect(async () => {\n updateLoading(true);\n await init(userId);\n updateLoading(false);\n }, [userId]);\n\n useChannelHandler(sdk, handlerId, {\n onUserBanned: (channel, user) => {\n const isMe = user.userId === userId;\n if (isMe) deleteChannels([channel.url]);\n else updateChannelsAndMarkAsDelivered(false);\n },\n });\n\n const refresh = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const next = useFreshCallback(async () => {\n if (collectionRef.current?.hasMore) {\n await collectionRef.current?.loadMore();\n updateChannelsAndMarkAsDelivered(true);\n }\n });\n\n return {\n loading,\n groupChannels,\n refresh,\n refreshing,\n next,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAEA,IAAAK,QAAA,GAAAL,OAAA;AAEA,MAAMM,gCAAgC,GAAGA,CACvCC,GAAoB,EACpBC,iBAAkE,KAC/D;EACH,MAAMC,gBAAgB,GAAGD,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,EAAI;EAC9C,IAAIC,gBAAgB,EAAE,OAAOA,gBAAgB;EAE7C,MAAMC,MAAM,GAAG,IAAIC,gCAAkB,EAAE;EACvCD,MAAM,CAACE,YAAY,GAAG,KAAK;EAE3B,OAAOL,GAAG,CAACM,YAAY,CAACC,4BAA4B,CAAC;IACnDJ,MAAM;IACNK,KAAK,EAAE,EAAE;IACTC,KAAK,EAAEC,mCAAqB,CAACC;EAC/B,CAAC,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"names":["_react","require","_groupChannel","_uikitUtils","_useAppFeatures","_useChannelHandler","_reducer","createGroupChannelListCollection","sdk","collectionCreator","passedCollection","filter","GroupChannelFilter","includeEmpty","groupChannel","createGroupChannelCollection","limit","order","GroupChannelListOrder","LATEST_LAST_MESSAGE","useGroupChannelListWithCollection","userId","options","handlerId","useUniqHandlerId","deliveryReceiptEnabled","useAppFeatures","collectionRef","useRef","loading","groupChannels","refreshing","appendChannels","deleteChannels","updateRefreshing","updateLoading","useGroupChannelListReducer","updateChannelsAndMarkAsDelivered","markAsDelivered","source","updatedChannels","_collectionRef$curren","channels","current","GroupChannelEventSource","EVENT_MESSAGE_RECEIVED","EVENT_MESSAGE_SENT","SYNC_CHANNEL_BACKGROUND","SYNC_CHANNEL_CHANGELOGS","undefined","confirmAndMarkAsDelivered","init","useFreshCallback","uid","_collectionRef$curren2","dispose","_collectionRef$curren3","_collectionRef$curren4","setGroupChannelCollectionHandler","onChannelsAdded","context","onChannelsUpdated","onChannelsDeleted","hasMore","_collectionRef$curren5","loadMore","useEffect","_collectionRef$curren6","useAsyncEffect","useChannelHandler","onUserBanned","channel","user","isMe","url","refresh","next","_collectionRef$curren7","_collectionRef$curren8","exports"],"sources":["useGroupChannelListWithCollection.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { GroupChannelEventSource, GroupChannelFilter, GroupChannelListOrder } from '@sendbird/chat/groupChannel';\nimport type { SendbirdBaseChannel, SendbirdChatSDK, SendbirdGroupChannelCollection } from '@sendbird/uikit-utils';\nimport { confirmAndMarkAsDelivered, useAsyncEffect, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useAppFeatures } from '../../common/useAppFeatures';\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelList, UseGroupChannelListOptions } from '../../types';\nimport { useGroupChannelListReducer } from './reducer';\n\nconst createGroupChannelListCollection = (\n sdk: SendbirdChatSDK,\n collectionCreator: UseGroupChannelListOptions['collectionCreator'],\n) => {\n const passedCollection = collectionCreator?.();\n if (passedCollection) return passedCollection;\n\n const filter = new GroupChannelFilter();\n filter.includeEmpty = false;\n\n return sdk.groupChannel.createGroupChannelCollection({\n filter,\n limit: 20,\n order: GroupChannelListOrder.LATEST_LAST_MESSAGE,\n });\n};\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelListWithCollection: UseGroupChannelList = (sdk, userId, options) => {\n const handlerId = useUniqHandlerId('useGroupChannelListWithCollection');\n const { deliveryReceiptEnabled } = useAppFeatures(sdk);\n\n const collectionRef = useRef<SendbirdGroupChannelCollection>();\n\n const { loading, groupChannels, refreshing, appendChannels, deleteChannels, updateRefreshing, updateLoading } =\n useGroupChannelListReducer();\n\n const updateChannelsAndMarkAsDelivered = (\n markAsDelivered: boolean,\n source?: GroupChannelEventSource,\n updatedChannels?: SendbirdBaseChannel[],\n ) => {\n const channels = collectionRef.current?.channels ?? [];\n appendChannels(channels, true);\n if (markAsDelivered && deliveryReceiptEnabled) {\n switch (source) {\n case GroupChannelEventSource.EVENT_MESSAGE_RECEIVED:\n case GroupChannelEventSource.EVENT_MESSAGE_SENT:\n case GroupChannelEventSource.SYNC_CHANNEL_BACKGROUND:\n case GroupChannelEventSource.SYNC_CHANNEL_CHANGELOGS:\n case undefined:\n confirmAndMarkAsDelivered(updatedChannels ?? channels);\n break;\n }\n }\n };\n\n const init = useFreshCallback(async (uid?: string) => {\n if (collectionRef.current) collectionRef.current?.dispose();\n\n if (uid) {\n collectionRef.current = createGroupChannelListCollection(sdk, options?.collectionCreator);\n\n collectionRef.current?.setGroupChannelCollectionHandler({\n onChannelsAdded: (context, channels) => {\n updateChannelsAndMarkAsDelivered(true, context.source, channels);\n },\n onChannelsUpdated: (context, channels) => {\n updateChannelsAndMarkAsDelivered(true, context.source, channels);\n },\n onChannelsDeleted: () => {\n updateChannelsAndMarkAsDelivered(false);\n },\n });\n\n if (collectionRef.current?.hasMore) {\n await collectionRef.current?.loadMore();\n updateChannelsAndMarkAsDelivered(true);\n }\n }\n });\n\n useEffect(() => {\n return () => {\n if (collectionRef.current) collectionRef.current?.dispose();\n };\n }, []);\n\n useAsyncEffect(async () => {\n updateLoading(true);\n await init(userId);\n updateLoading(false);\n }, [userId]);\n\n useChannelHandler(sdk, handlerId, {\n onUserBanned: (channel, user) => {\n const isMe = user.userId === userId;\n if (isMe) deleteChannels([channel.url]);\n else updateChannelsAndMarkAsDelivered(false);\n },\n });\n\n const refresh = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const next = useFreshCallback(async () => {\n if (collectionRef.current?.hasMore) {\n await collectionRef.current?.loadMore();\n updateChannelsAndMarkAsDelivered(true);\n }\n });\n\n return {\n loading,\n groupChannels,\n refresh,\n refreshing,\n next,\n };\n};\n"],"mappings":"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"}
|
|
@@ -19,6 +19,10 @@ const createGroupChannelListQuery = (sdk, queryCreator) => {
|
|
|
19
19
|
order: _groupChannel.GroupChannelListOrder.LATEST_LAST_MESSAGE
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
25
|
+
* */
|
|
22
26
|
const useGroupChannelListWithQuery = (sdk, userId, options) => {
|
|
23
27
|
const {
|
|
24
28
|
deliveryReceiptEnabled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_groupChannel","_uikitUtils","_useAppFeatures","_useChannelHandler","_reducer","createGroupChannelListQuery","sdk","queryCreator","passedQuery","groupChannel","createMyGroupChannelListQuery","includeEmpty","limit","order","GroupChannelListOrder","LATEST_LAST_MESSAGE","useGroupChannelListWithQuery","userId","options","deliveryReceiptEnabled","useAppFeatures","queryRef","useRef","handlerId","useUniqHandlerId","loading","groupChannels","refreshing","updateChannels","appendChannels","deleteChannels","updateRefreshing","updateLoading","updateOrder","useGroupChannelListReducer","updateChannelsAndMarkAsDelivered","channels","confirmAndMarkAsDelivered","init","useFreshCallback","uid","_queryRef$current","_queryRef$current2","current","hasNext","next","useAsyncEffect","useChannelHandler","onChannelChanged","channel","onChannelFrozen","onChannelUnfrozen","onChannelMemberCountChanged","onChannelDeleted","url","onUserJoined","onUserLeft","user","isMe","onUserBanned","onMessageReceived","refresh","_queryRef$current3","exports"],"sources":["useGroupChannelListWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport { GroupChannelListOrder } from '@sendbird/chat/groupChannel';\nimport type { SendbirdChannel, SendbirdChatSDK, SendbirdGroupChannelListQuery } from '@sendbird/uikit-utils';\nimport { confirmAndMarkAsDelivered, useAsyncEffect, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useAppFeatures } from '../../common/useAppFeatures';\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelList, UseGroupChannelListOptions } from '../../types';\nimport { useGroupChannelListReducer } from './reducer';\n\nconst createGroupChannelListQuery = (\n sdk: SendbirdChatSDK,\n queryCreator: UseGroupChannelListOptions['queryCreator'],\n) => {\n const passedQuery = queryCreator?.();\n if (passedQuery) return passedQuery;\n\n return sdk.groupChannel.createMyGroupChannelListQuery({\n includeEmpty: false,\n limit: 20,\n order: GroupChannelListOrder.LATEST_LAST_MESSAGE,\n });\n};\n\nexport const useGroupChannelListWithQuery: UseGroupChannelList = (sdk, userId, options) => {\n const { deliveryReceiptEnabled } = useAppFeatures(sdk);\n const queryRef = useRef<SendbirdGroupChannelListQuery>();\n const handlerId = useUniqHandlerId('useGroupChannelListWithQuery');\n\n const {\n loading,\n groupChannels,\n refreshing,\n updateChannels,\n appendChannels,\n deleteChannels,\n updateRefreshing,\n updateLoading,\n updateOrder,\n } = useGroupChannelListReducer();\n\n const updateChannelsAndMarkAsDelivered = (channels: SendbirdChannel[]) => {\n updateChannels(channels);\n if (deliveryReceiptEnabled) confirmAndMarkAsDelivered(channels);\n };\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createGroupChannelListQuery(sdk, options?.queryCreator);\n updateOrder(queryRef.current?.order);\n\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n\n appendChannels(channels, true);\n if (deliveryReceiptEnabled) confirmAndMarkAsDelivered(channels);\n }\n }\n });\n\n useAsyncEffect(async () => {\n updateLoading(true);\n await init(userId);\n updateLoading(false);\n }, [userId]);\n\n useChannelHandler(sdk, handlerId, {\n onChannelChanged: (channel) => updateChannels([channel]),\n onChannelFrozen: (channel) => updateChannels([channel]),\n onChannelUnfrozen: (channel) => updateChannels([channel]),\n onChannelMemberCountChanged: (channels) => updateChannels(channels),\n onChannelDeleted: (url) => deleteChannels([url]),\n onUserJoined: (channel) => updateChannels([channel]),\n onUserLeft: (channel, user) => {\n const isMe = user.userId === userId;\n if (isMe) deleteChannels([channel.url]);\n else updateChannels([channel]);\n },\n onUserBanned(channel, user) {\n const isMe = user.userId === userId;\n if (isMe) deleteChannels([channel.url]);\n else updateChannels([channel]);\n },\n onMessageReceived(channel) {\n updateChannelsAndMarkAsDelivered([channel]);\n },\n });\n\n const refresh = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const next = useFreshCallback(async () => {\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, false);\n if (deliveryReceiptEnabled) confirmAndMarkAsDelivered(channels);\n }\n });\n\n return {\n loading,\n groupChannels,\n refresh,\n refreshing,\n next,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAEA,IAAAK,QAAA,GAAAL,OAAA;AAEA,MAAMM,2BAA2B,GAAGA,CAClCC,GAAoB,EACpBC,YAAwD,KACrD;EACH,MAAMC,WAAW,GAAGD,YAAY,aAAZA,YAAY,uBAAZA,YAAY,EAAI;EACpC,IAAIC,WAAW,EAAE,OAAOA,WAAW;EAEnC,OAAOF,GAAG,CAACG,YAAY,CAACC,6BAA6B,CAAC;IACpDC,YAAY,EAAE,KAAK;IACnBC,KAAK,EAAE,EAAE;IACTC,KAAK,EAAEC,mCAAqB,CAACC;EAC/B,CAAC,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"names":["_react","require","_groupChannel","_uikitUtils","_useAppFeatures","_useChannelHandler","_reducer","createGroupChannelListQuery","sdk","queryCreator","passedQuery","groupChannel","createMyGroupChannelListQuery","includeEmpty","limit","order","GroupChannelListOrder","LATEST_LAST_MESSAGE","useGroupChannelListWithQuery","userId","options","deliveryReceiptEnabled","useAppFeatures","queryRef","useRef","handlerId","useUniqHandlerId","loading","groupChannels","refreshing","updateChannels","appendChannels","deleteChannels","updateRefreshing","updateLoading","updateOrder","useGroupChannelListReducer","updateChannelsAndMarkAsDelivered","channels","confirmAndMarkAsDelivered","init","useFreshCallback","uid","_queryRef$current","_queryRef$current2","current","hasNext","next","useAsyncEffect","useChannelHandler","onChannelChanged","channel","onChannelFrozen","onChannelUnfrozen","onChannelMemberCountChanged","onChannelDeleted","url","onUserJoined","onUserLeft","user","isMe","onUserBanned","onMessageReceived","refresh","_queryRef$current3","exports"],"sources":["useGroupChannelListWithQuery.ts"],"sourcesContent":["import { useRef } from 'react';\n\nimport { GroupChannelListOrder } from '@sendbird/chat/groupChannel';\nimport type { SendbirdChannel, SendbirdChatSDK, SendbirdGroupChannelListQuery } from '@sendbird/uikit-utils';\nimport { confirmAndMarkAsDelivered, useAsyncEffect, useFreshCallback, useUniqHandlerId } from '@sendbird/uikit-utils';\n\nimport { useAppFeatures } from '../../common/useAppFeatures';\nimport { useChannelHandler } from '../../handler/useChannelHandler';\nimport type { UseGroupChannelList, UseGroupChannelListOptions } from '../../types';\nimport { useGroupChannelListReducer } from './reducer';\n\nconst createGroupChannelListQuery = (\n sdk: SendbirdChatSDK,\n queryCreator: UseGroupChannelListOptions['queryCreator'],\n) => {\n const passedQuery = queryCreator?.();\n if (passedQuery) return passedQuery;\n\n return sdk.groupChannel.createMyGroupChannelListQuery({\n includeEmpty: false,\n limit: 20,\n order: GroupChannelListOrder.LATEST_LAST_MESSAGE,\n });\n};\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelListWithQuery: UseGroupChannelList = (sdk, userId, options) => {\n const { deliveryReceiptEnabled } = useAppFeatures(sdk);\n const queryRef = useRef<SendbirdGroupChannelListQuery>();\n const handlerId = useUniqHandlerId('useGroupChannelListWithQuery');\n\n const {\n loading,\n groupChannels,\n refreshing,\n updateChannels,\n appendChannels,\n deleteChannels,\n updateRefreshing,\n updateLoading,\n updateOrder,\n } = useGroupChannelListReducer();\n\n const updateChannelsAndMarkAsDelivered = (channels: SendbirdChannel[]) => {\n updateChannels(channels);\n if (deliveryReceiptEnabled) confirmAndMarkAsDelivered(channels);\n };\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n queryRef.current = createGroupChannelListQuery(sdk, options?.queryCreator);\n updateOrder(queryRef.current?.order);\n\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n\n appendChannels(channels, true);\n if (deliveryReceiptEnabled) confirmAndMarkAsDelivered(channels);\n }\n }\n });\n\n useAsyncEffect(async () => {\n updateLoading(true);\n await init(userId);\n updateLoading(false);\n }, [userId]);\n\n useChannelHandler(sdk, handlerId, {\n onChannelChanged: (channel) => updateChannels([channel]),\n onChannelFrozen: (channel) => updateChannels([channel]),\n onChannelUnfrozen: (channel) => updateChannels([channel]),\n onChannelMemberCountChanged: (channels) => updateChannels(channels),\n onChannelDeleted: (url) => deleteChannels([url]),\n onUserJoined: (channel) => updateChannels([channel]),\n onUserLeft: (channel, user) => {\n const isMe = user.userId === userId;\n if (isMe) deleteChannels([channel.url]);\n else updateChannels([channel]);\n },\n onUserBanned(channel, user) {\n const isMe = user.userId === userId;\n if (isMe) deleteChannels([channel.url]);\n else updateChannels([channel]);\n },\n onMessageReceived(channel) {\n updateChannelsAndMarkAsDelivered([channel]);\n },\n });\n\n const refresh = useFreshCallback(async () => {\n updateRefreshing(true);\n await init(userId);\n updateRefreshing(false);\n });\n\n const next = useFreshCallback(async () => {\n if (queryRef.current?.hasNext) {\n const channels = await queryRef.current.next();\n appendChannels(channels, false);\n if (deliveryReceiptEnabled) confirmAndMarkAsDelivered(channels);\n }\n });\n\n return {\n loading,\n groupChannels,\n refresh,\n refreshing,\n next,\n };\n};\n"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ var _uikitUtils = require("@sendbird/uikit-utils");
|
|
|
8
8
|
var _useGroupChannelMessagesWithCollection = require("./useGroupChannelMessagesWithCollection");
|
|
9
9
|
var _useGroupChannelMessagesWithQuery = require("./useGroupChannelMessagesWithQuery");
|
|
10
10
|
/**
|
|
11
|
-
* @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.
|
|
11
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
12
12
|
* */
|
|
13
13
|
const useGroupChannelMessages = (sdk, channel, userId, options) => {
|
|
14
14
|
if (sdk.isCacheEnabled || options !== null && options !== void 0 && options.enableCollectionWithoutLocalCache) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uikitUtils","require","_useGroupChannelMessagesWithCollection","_useGroupChannelMessagesWithQuery","useGroupChannelMessages","sdk","channel","userId","options","isCacheEnabled","enableCollectionWithoutLocalCache","queryCreator","printIgnoredWarning","useGroupChannelMessagesWithCollection","useGroupChannelMessagesWithQuery","exports","Logger","warn"],"sources":["index.ts"],"sourcesContent":["import { Logger } from '@sendbird/uikit-utils';\n\nimport type { UseGroupChannelMessages } from '../../types';\nimport { useGroupChannelMessagesWithCollection } from './useGroupChannelMessagesWithCollection';\nimport { useGroupChannelMessagesWithQuery } from './useGroupChannelMessagesWithQuery';\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the 'uikit-tools' package.\n * */\nexport const useGroupChannelMessages: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n if (sdk.isCacheEnabled || options?.enableCollectionWithoutLocalCache) {\n if (options?.queryCreator) printIgnoredWarning();\n return useGroupChannelMessagesWithCollection(sdk, channel, userId, options);\n } else {\n return useGroupChannelMessagesWithQuery(sdk, channel, userId, options);\n }\n};\n\nconst printIgnoredWarning = () => {\n Logger.warn(\n 'If sdk.isCacheEnabled or enableCollectionWithoutLocalCache is turned on, queryCreator is ignored' +\n 'Please use collectionCreator instead.',\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA,IAAAC,sCAAA,GAAAD,OAAA;AACA,IAAAE,iCAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,uBAAgD,GAAGA,CAACC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,KAAK;EACjG,IAAIH,GAAG,CAACI,cAAc,IAAID,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,iCAAiC,EAAE;IACpE,IAAIF,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEG,YAAY,EAAEC,mBAAmB,EAAE;IAChD,OAAO,IAAAC,4EAAqC,EAACR,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC7E,CAAC,MAAM;IACL,OAAO,IAAAM,kEAAgC,EAACT,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,CAAC;EACxE;AACF,CAAC;AAACO,OAAA,CAAAX,uBAAA,GAAAA,uBAAA;AAEF,MAAMQ,mBAAmB,GAAGA,CAAA,KAAM;EAChCI,kBAAM,CAACC,IAAI,CACT,kGAAkG,GAChG,uCAAuC,CAC1C;AACH,CAAC"}
|
|
1
|
+
{"version":3,"names":["_uikitUtils","require","_useGroupChannelMessagesWithCollection","_useGroupChannelMessagesWithQuery","useGroupChannelMessages","sdk","channel","userId","options","isCacheEnabled","enableCollectionWithoutLocalCache","queryCreator","printIgnoredWarning","useGroupChannelMessagesWithCollection","useGroupChannelMessagesWithQuery","exports","Logger","warn"],"sources":["index.ts"],"sourcesContent":["import { Logger } from '@sendbird/uikit-utils';\n\nimport type { UseGroupChannelMessages } from '../../types';\nimport { useGroupChannelMessagesWithCollection } from './useGroupChannelMessagesWithCollection';\nimport { useGroupChannelMessagesWithQuery } from './useGroupChannelMessagesWithQuery';\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelMessages: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n if (sdk.isCacheEnabled || options?.enableCollectionWithoutLocalCache) {\n if (options?.queryCreator) printIgnoredWarning();\n return useGroupChannelMessagesWithCollection(sdk, channel, userId, options);\n } else {\n return useGroupChannelMessagesWithQuery(sdk, channel, userId, options);\n }\n};\n\nconst printIgnoredWarning = () => {\n Logger.warn(\n 'If sdk.isCacheEnabled or enableCollectionWithoutLocalCache is turned on, queryCreator is ignored' +\n 'Please use collectionCreator instead.',\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAGA,IAAAC,sCAAA,GAAAD,OAAA;AACA,IAAAE,iCAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACO,MAAMG,uBAAgD,GAAGA,CAACC,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,KAAK;EACjG,IAAIH,GAAG,CAACI,cAAc,IAAID,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,iCAAiC,EAAE;IACpE,IAAIF,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEG,YAAY,EAAEC,mBAAmB,EAAE;IAChD,OAAO,IAAAC,4EAAqC,EAACR,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,CAAC;EAC7E,CAAC,MAAM;IACL,OAAO,IAAAM,kEAAgC,EAACT,GAAG,EAAEC,OAAO,EAAEC,MAAM,EAAEC,OAAO,CAAC;EACxE;AACF,CAAC;AAACO,OAAA,CAAAX,uBAAA,GAAAA,uBAAA;AAEF,MAAMQ,mBAAmB,GAAGA,CAAA,KAAM;EAChCI,kBAAM,CAACC,IAAI,CACT,kGAAkG,GAChG,uCAAuC,CAC1C;AACH,CAAC"}
|
package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js
CHANGED
|
@@ -33,6 +33,10 @@ function isNotEmpty(arr) {
|
|
|
33
33
|
function shouldUseSearchLimit(startingPoint) {
|
|
34
34
|
return startingPoint < Date.now();
|
|
35
35
|
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
39
|
+
* */
|
|
36
40
|
const useGroupChannelMessagesWithCollection = (sdk, channel, userId, options) => {
|
|
37
41
|
const initialStartingPoint = (options === null || options === void 0 ? void 0 : options.startingPoint) ?? Number.MAX_SAFE_INTEGER;
|
|
38
42
|
const initialLimit = shouldUseSearchLimit(initialStartingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;
|
package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithCollection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_chat","_groupChannel","_uikitUtils","_useChannelHandler","_useChannelMessagesReducer","MESSAGE_LIMIT","DEFAULT","SEARCH","createMessageCollection","channel","limit","options","collectionCreator","startingPoint","filter","MessageFilter","replyType","isNotEmpty","arr","length","shouldUseSearchLimit","Date","now","useGroupChannelMessagesWithCollection","sdk","userId","initialStartingPoint","Number","MAX_SAFE_INTEGER","initialLimit","forceUpdate","useForceUpdate","collectionRef","useRef","collectionInitializedRef","handlerId","useUniqHandlerId","loading","refreshing","messages","newMessages","updateMessages","updateNewMessages","deleteNewMessages","deleteMessages","updateLoading","updateRefreshing","useChannelMessagesReducer","sortComparator","channelMarkAsRead","source","CollectionEventSource","EVENT_MESSAGE_RECEIVED","EVENT_MESSAGE_SENT_SUCCESS","SYNC_MESSAGE_FILL","undefined","confirmAndMarkAsRead","e","Logger","warn","updateNewMessagesReceived","incomingMessages","it","_sdk$currentUser","isMyMessage","currentUser","_options$shouldCountN","_sdk$currentUser2","_options$onMessagesRe","shouldCountNewMessages","call","onMessagesReceived","updateUnsentMessages","_sdk$currentUser3","_sdk$currentUser4","pendingMessages","failedMessages","current","init","useFreshCallback","callback","_collectionRef$curren","_sdk$currentUser5","_collectionRef$curren2","dispose","setMessageCollectionHandler","onMessagesAdded","ctx","__","_sdk$currentUser6","onMessagesUpdated","_sdk$currentUser7","EVENT_MESSAGE_UPDATED","_options$onMessagesUp","onMessagesDeleted","_","___","msgIds","map","messageId","reqIds","isSendableMessage","reqId","onChannelDeleted","_options$onChannelDel","onChannelUpdated","eventChannel","isGroupChannel","isDifferentChannel","onHugeGapDetected","initialize","MessageCollectionInitPolicy","CACHE_AND_REPLACE_BY_API","onCacheResult","err","isCacheEnabled","error","_sdk$currentUser8","debug","onApiResult","_sdk$currentUser9","_options$onMessagesRe2","useChannelHandler","onUserBanned","bannedUser","_sdk$currentUser10","_options$onChannelDel2","useEffect","setTimeout","url","_collectionRef$curren3","refresh","prev","_collectionRef$curren4","hasPrevious","_collectionRef$curren5","_sdk$currentUser11","list","loadPrevious","hasPrev","next","_collectionRef$curren6","hasNext","_collectionRef$curren7","_sdk$currentUser12","fetchedList","loadNext","sendUserMessage","params","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser13","onSucceeded","sentMessage","_sdk$currentUser14","onFailed","failedMessage","_sdk$currentUser15","sendFileMessage","isFileMessage","_sdk$currentUser16","_sdk$currentUser17","_sdk$currentUser18","updateUserMessage","_sdk$currentUser19","updatedMessage","updateFileMessage","_sdk$currentUser20","resendMessage","_sdk$currentUser21","resentMessage","resendUserMessage","resendFileMessage","deleteMessage","message","sendingStatus","_collectionRef$curren8","removeFailedMessage","resetNewMessages","_sdk$currentUser22","resetWithStartingPoint","_sdk$currentUser23","exports"],"sources":["useGroupChannelMessagesWithCollection.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { CollectionEventSource } from '@sendbird/chat';\nimport { MessageCollectionInitPolicy, MessageFilter } from '@sendbird/chat/groupChannel';\nimport type { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMessageCollection } from '@sendbird/uikit-utils';\nimport {\n Logger,\n SendbirdBaseMessage,\n confirmAndMarkAsRead,\n isDifferentChannel,\n isMyMessage,\n isSendableMessage,\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 MESSAGE_LIMIT = {\n DEFAULT: 50,\n SEARCH: 20,\n};\n\nconst createMessageCollection = (\n channel: SendbirdGroupChannel,\n limit: number,\n options: UseGroupChannelMessagesOptions,\n) => {\n if (options?.collectionCreator) return options?.collectionCreator({ startingPoint: options?.startingPoint });\n\n const filter = new MessageFilter();\n if (options.replyType) filter.replyType = options.replyType;\n\n return channel.createMessageCollection({ filter, limit, startingPoint: options?.startingPoint });\n};\n\nfunction isNotEmpty(arr?: unknown[]): arr is unknown[] {\n if (!arr) return false;\n return arr.length !== 0;\n}\n\nfunction shouldUseSearchLimit(startingPoint: number) {\n return startingPoint < Date.now();\n}\n\nexport const useGroupChannelMessagesWithCollection: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n const initialStartingPoint = options?.startingPoint ?? Number.MAX_SAFE_INTEGER;\n const initialLimit = shouldUseSearchLimit(initialStartingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;\n\n const forceUpdate = useForceUpdate();\n const collectionRef = useRef<SendbirdMessageCollection>();\n const collectionInitializedRef = useRef(false);\n const handlerId = useUniqHandlerId('useGroupChannelMessagesWithCollection');\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 channelMarkAsRead = async (source?: CollectionEventSource) => {\n try {\n switch (source) {\n case CollectionEventSource.EVENT_MESSAGE_RECEIVED:\n case CollectionEventSource.EVENT_MESSAGE_SENT_SUCCESS:\n case CollectionEventSource.SYNC_MESSAGE_FILL:\n case undefined:\n await confirmAndMarkAsRead([channel]);\n break;\n }\n } catch (e) {\n Logger.warn('[useGroupChannelMessagesWithCollection/channelMarkAsRead]', e);\n }\n };\n const updateNewMessagesReceived = (source: CollectionEventSource, messages: SendbirdBaseMessage[]) => {\n const incomingMessages = messages.filter((it) => !isMyMessage(it, sdk.currentUser?.userId));\n if (incomingMessages.length > 0) {\n switch (source) {\n case CollectionEventSource.EVENT_MESSAGE_RECEIVED:\n case CollectionEventSource.SYNC_MESSAGE_FILL: {\n if (options?.shouldCountNewMessages?.()) updateNewMessages(incomingMessages, false, sdk.currentUser?.userId);\n options?.onMessagesReceived?.(incomingMessages);\n break;\n }\n }\n }\n };\n\n const updateUnsentMessages = () => {\n const { pendingMessages, failedMessages } = collectionRef.current ?? {};\n if (isNotEmpty(pendingMessages)) updateMessages(pendingMessages, false, sdk.currentUser?.userId);\n if (isNotEmpty(failedMessages)) updateMessages(failedMessages, false, sdk.currentUser?.userId);\n };\n\n const init = useFreshCallback(async (startingPoint: number, limit: number, callback?: () => void) => {\n if (collectionRef.current) collectionRef.current?.dispose();\n\n channelMarkAsRead();\n updateNewMessages([], true, sdk.currentUser?.userId);\n\n collectionInitializedRef.current = false;\n collectionRef.current = createMessageCollection(channel, limit, {\n ...options,\n startingPoint,\n });\n\n collectionRef.current?.setMessageCollectionHandler({\n onMessagesAdded: (ctx, __, messages) => {\n channelMarkAsRead(ctx.source);\n updateNewMessagesReceived(ctx.source, messages);\n\n updateMessages(messages, false, sdk.currentUser?.userId);\n },\n onMessagesUpdated: (ctx, __, messages) => {\n channelMarkAsRead(ctx.source);\n updateNewMessagesReceived(ctx.source, messages); // NOTE: admin message is not added via onMessagesAdded handler, not checked yet is this a bug.\n\n updateMessages(messages, false, sdk.currentUser?.userId);\n\n if (ctx.source === CollectionEventSource.EVENT_MESSAGE_UPDATED) {\n options?.onMessagesUpdated?.(messages);\n }\n },\n onMessagesDeleted: (_, __, ___, messages) => {\n const msgIds = messages.map((it) => it.messageId);\n const reqIds = messages.filter(isSendableMessage).map((it) => it.reqId);\n deleteMessages(msgIds, reqIds);\n deleteNewMessages(msgIds, reqIds);\n },\n onChannelDeleted: () => {\n options?.onChannelDeleted?.();\n },\n onChannelUpdated: (_, eventChannel) => {\n if (eventChannel.isGroupChannel() && !isDifferentChannel(eventChannel, channel)) {\n forceUpdate();\n }\n },\n onHugeGapDetected: () => {\n init(Number.MAX_SAFE_INTEGER, MESSAGE_LIMIT.DEFAULT);\n },\n });\n\n collectionRef.current\n .initialize(MessageCollectionInitPolicy.CACHE_AND_REPLACE_BY_API)\n .onCacheResult((err, messages) => {\n if (err) sdk.isCacheEnabled && Logger.error('[useGroupChannelMessagesWithCollection/onCacheResult]', err);\n else if (messages) {\n Logger.debug('[useGroupChannelMessagesWithCollection/onCacheResult]', 'message length:', messages.length);\n\n updateMessages(messages, true, sdk.currentUser?.userId);\n updateUnsentMessages();\n }\n\n callback?.();\n })\n .onApiResult((err, messages) => {\n if (err) Logger.warn('[useGroupChannelMessagesWithCollection/onApiResult]', err);\n else if (messages) {\n Logger.debug('[useGroupChannelMessagesWithCollection/onApiResult]', 'message length:', messages.length);\n\n updateMessages(messages, true, sdk.currentUser?.userId);\n if (!options?.startingPoint) options?.onMessagesReceived?.(messages);\n if (sdk.isCacheEnabled) updateUnsentMessages();\n }\n\n collectionInitializedRef.current = true;\n callback?.();\n });\n });\n\n useChannelHandler(sdk, handlerId, {\n onUserBanned(channel, bannedUser) {\n if (channel.isGroupChannel() && !isDifferentChannel(channel, channel)) {\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n forceUpdate();\n }\n }\n },\n });\n\n useEffect(() => {\n // NOTE: Cache read is heavy task, and it prevents smooth ui transition\n setTimeout(async () => {\n updateLoading(true);\n init(initialStartingPoint, initialLimit, () => updateLoading(false));\n }, 0);\n }, [channel.url, userId, options?.replyType]);\n\n useEffect(() => {\n return () => {\n if (collectionRef.current) collectionRef.current?.dispose();\n };\n }, []);\n\n const refresh: ReturnType<UseGroupChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n init(Number.MAX_SAFE_INTEGER, MESSAGE_LIMIT.DEFAULT, () => updateRefreshing(false));\n });\n\n const prev: ReturnType<UseGroupChannelMessages>['prev'] = useFreshCallback(async () => {\n if (collectionRef.current && collectionRef.current?.hasPrevious) {\n try {\n const list = await collectionRef.current?.loadPrevious();\n updateMessages(list, false, sdk.currentUser?.userId);\n } catch {}\n }\n });\n\n const hasPrev: ReturnType<UseGroupChannelMessages>['hasPrev'] = useFreshCallback(() => {\n if (collectionInitializedRef.current && collectionRef.current) {\n return collectionRef.current.hasPrevious;\n } else {\n return false;\n }\n });\n\n const next: ReturnType<UseGroupChannelMessages>['next'] = useFreshCallback(async () => {\n if (collectionRef.current && collectionRef.current?.hasNext) {\n try {\n const fetchedList = await collectionRef.current?.loadNext();\n updateMessages(fetchedList, false, sdk.currentUser?.userId);\n } catch {}\n }\n });\n\n const hasNext: ReturnType<UseGroupChannelMessages>['hasNext'] = useFreshCallback(() => {\n if (collectionInitializedRef.current && collectionRef.current) {\n return collectionRef.current.hasNext;\n } else {\n return false;\n }\n });\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 onPending?.(pendingMessage);\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\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 as SendbirdFileMessage);\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 resentMessage = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (resentMessage) updateMessages([resentMessage], 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 try {\n await collectionRef.current?.removeFailedMessage(message.reqId);\n } finally {\n deleteMessages([message.messageId], [message.reqId]);\n }\n }\n });\n const resetNewMessages: ReturnType<UseGroupChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n const resetWithStartingPoint: ReturnType<UseGroupChannelMessages>['resetWithStartingPoint'] = useFreshCallback(\n (startingPoint, callback) => {\n const limit = shouldUseSearchLimit(startingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;\n updateLoading(true);\n updateMessages([], true, sdk.currentUser?.userId);\n init(startingPoint, limit, () => {\n updateLoading(false);\n callback?.();\n });\n },\n );\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n next,\n hasNext,\n prev,\n hasPrev,\n newMessages,\n resetNewMessages,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","require","_chat","_groupChannel","_uikitUtils","_useChannelHandler","_useChannelMessagesReducer","MESSAGE_LIMIT","DEFAULT","SEARCH","createMessageCollection","channel","limit","options","collectionCreator","startingPoint","filter","MessageFilter","replyType","isNotEmpty","arr","length","shouldUseSearchLimit","Date","now","useGroupChannelMessagesWithCollection","sdk","userId","initialStartingPoint","Number","MAX_SAFE_INTEGER","initialLimit","forceUpdate","useForceUpdate","collectionRef","useRef","collectionInitializedRef","handlerId","useUniqHandlerId","loading","refreshing","messages","newMessages","updateMessages","updateNewMessages","deleteNewMessages","deleteMessages","updateLoading","updateRefreshing","useChannelMessagesReducer","sortComparator","channelMarkAsRead","source","CollectionEventSource","EVENT_MESSAGE_RECEIVED","EVENT_MESSAGE_SENT_SUCCESS","SYNC_MESSAGE_FILL","undefined","confirmAndMarkAsRead","e","Logger","warn","updateNewMessagesReceived","incomingMessages","it","_sdk$currentUser","isMyMessage","currentUser","_options$shouldCountN","_sdk$currentUser2","_options$onMessagesRe","shouldCountNewMessages","call","onMessagesReceived","updateUnsentMessages","_sdk$currentUser3","_sdk$currentUser4","pendingMessages","failedMessages","current","init","useFreshCallback","callback","_collectionRef$curren","_sdk$currentUser5","_collectionRef$curren2","dispose","setMessageCollectionHandler","onMessagesAdded","ctx","__","_sdk$currentUser6","onMessagesUpdated","_sdk$currentUser7","EVENT_MESSAGE_UPDATED","_options$onMessagesUp","onMessagesDeleted","_","___","msgIds","map","messageId","reqIds","isSendableMessage","reqId","onChannelDeleted","_options$onChannelDel","onChannelUpdated","eventChannel","isGroupChannel","isDifferentChannel","onHugeGapDetected","initialize","MessageCollectionInitPolicy","CACHE_AND_REPLACE_BY_API","onCacheResult","err","isCacheEnabled","error","_sdk$currentUser8","debug","onApiResult","_sdk$currentUser9","_options$onMessagesRe2","useChannelHandler","onUserBanned","bannedUser","_sdk$currentUser10","_options$onChannelDel2","useEffect","setTimeout","url","_collectionRef$curren3","refresh","prev","_collectionRef$curren4","hasPrevious","_collectionRef$curren5","_sdk$currentUser11","list","loadPrevious","hasPrev","next","_collectionRef$curren6","hasNext","_collectionRef$curren7","_sdk$currentUser12","fetchedList","loadNext","sendUserMessage","params","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser13","onSucceeded","sentMessage","_sdk$currentUser14","onFailed","failedMessage","_sdk$currentUser15","sendFileMessage","isFileMessage","_sdk$currentUser16","_sdk$currentUser17","_sdk$currentUser18","updateUserMessage","_sdk$currentUser19","updatedMessage","updateFileMessage","_sdk$currentUser20","resendMessage","_sdk$currentUser21","resentMessage","resendUserMessage","resendFileMessage","deleteMessage","message","sendingStatus","_collectionRef$curren8","removeFailedMessage","resetNewMessages","_sdk$currentUser22","resetWithStartingPoint","_sdk$currentUser23","exports"],"sources":["useGroupChannelMessagesWithCollection.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { CollectionEventSource } from '@sendbird/chat';\nimport { MessageCollectionInitPolicy, MessageFilter } from '@sendbird/chat/groupChannel';\nimport type { SendbirdFileMessage, SendbirdGroupChannel, SendbirdMessageCollection } from '@sendbird/uikit-utils';\nimport {\n Logger,\n SendbirdBaseMessage,\n confirmAndMarkAsRead,\n isDifferentChannel,\n isMyMessage,\n isSendableMessage,\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 MESSAGE_LIMIT = {\n DEFAULT: 50,\n SEARCH: 20,\n};\n\nconst createMessageCollection = (\n channel: SendbirdGroupChannel,\n limit: number,\n options: UseGroupChannelMessagesOptions,\n) => {\n if (options?.collectionCreator) return options?.collectionCreator({ startingPoint: options?.startingPoint });\n\n const filter = new MessageFilter();\n if (options.replyType) filter.replyType = options.replyType;\n\n return channel.createMessageCollection({ filter, limit, startingPoint: options?.startingPoint });\n};\n\nfunction isNotEmpty(arr?: unknown[]): arr is unknown[] {\n if (!arr) return false;\n return arr.length !== 0;\n}\n\nfunction shouldUseSearchLimit(startingPoint: number) {\n return startingPoint < Date.now();\n}\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useGroupChannelMessagesWithCollection: UseGroupChannelMessages = (sdk, channel, userId, options) => {\n const initialStartingPoint = options?.startingPoint ?? Number.MAX_SAFE_INTEGER;\n const initialLimit = shouldUseSearchLimit(initialStartingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;\n\n const forceUpdate = useForceUpdate();\n const collectionRef = useRef<SendbirdMessageCollection>();\n const collectionInitializedRef = useRef(false);\n const handlerId = useUniqHandlerId('useGroupChannelMessagesWithCollection');\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 channelMarkAsRead = async (source?: CollectionEventSource) => {\n try {\n switch (source) {\n case CollectionEventSource.EVENT_MESSAGE_RECEIVED:\n case CollectionEventSource.EVENT_MESSAGE_SENT_SUCCESS:\n case CollectionEventSource.SYNC_MESSAGE_FILL:\n case undefined:\n await confirmAndMarkAsRead([channel]);\n break;\n }\n } catch (e) {\n Logger.warn('[useGroupChannelMessagesWithCollection/channelMarkAsRead]', e);\n }\n };\n const updateNewMessagesReceived = (source: CollectionEventSource, messages: SendbirdBaseMessage[]) => {\n const incomingMessages = messages.filter((it) => !isMyMessage(it, sdk.currentUser?.userId));\n if (incomingMessages.length > 0) {\n switch (source) {\n case CollectionEventSource.EVENT_MESSAGE_RECEIVED:\n case CollectionEventSource.SYNC_MESSAGE_FILL: {\n if (options?.shouldCountNewMessages?.()) updateNewMessages(incomingMessages, false, sdk.currentUser?.userId);\n options?.onMessagesReceived?.(incomingMessages);\n break;\n }\n }\n }\n };\n\n const updateUnsentMessages = () => {\n const { pendingMessages, failedMessages } = collectionRef.current ?? {};\n if (isNotEmpty(pendingMessages)) updateMessages(pendingMessages, false, sdk.currentUser?.userId);\n if (isNotEmpty(failedMessages)) updateMessages(failedMessages, false, sdk.currentUser?.userId);\n };\n\n const init = useFreshCallback(async (startingPoint: number, limit: number, callback?: () => void) => {\n if (collectionRef.current) collectionRef.current?.dispose();\n\n channelMarkAsRead();\n updateNewMessages([], true, sdk.currentUser?.userId);\n\n collectionInitializedRef.current = false;\n collectionRef.current = createMessageCollection(channel, limit, {\n ...options,\n startingPoint,\n });\n\n collectionRef.current?.setMessageCollectionHandler({\n onMessagesAdded: (ctx, __, messages) => {\n channelMarkAsRead(ctx.source);\n updateNewMessagesReceived(ctx.source, messages);\n\n updateMessages(messages, false, sdk.currentUser?.userId);\n },\n onMessagesUpdated: (ctx, __, messages) => {\n channelMarkAsRead(ctx.source);\n updateNewMessagesReceived(ctx.source, messages); // NOTE: admin message is not added via onMessagesAdded handler, not checked yet is this a bug.\n\n updateMessages(messages, false, sdk.currentUser?.userId);\n\n if (ctx.source === CollectionEventSource.EVENT_MESSAGE_UPDATED) {\n options?.onMessagesUpdated?.(messages);\n }\n },\n onMessagesDeleted: (_, __, ___, messages) => {\n const msgIds = messages.map((it) => it.messageId);\n const reqIds = messages.filter(isSendableMessage).map((it) => it.reqId);\n deleteMessages(msgIds, reqIds);\n deleteNewMessages(msgIds, reqIds);\n },\n onChannelDeleted: () => {\n options?.onChannelDeleted?.();\n },\n onChannelUpdated: (_, eventChannel) => {\n if (eventChannel.isGroupChannel() && !isDifferentChannel(eventChannel, channel)) {\n forceUpdate();\n }\n },\n onHugeGapDetected: () => {\n init(Number.MAX_SAFE_INTEGER, MESSAGE_LIMIT.DEFAULT);\n },\n });\n\n collectionRef.current\n .initialize(MessageCollectionInitPolicy.CACHE_AND_REPLACE_BY_API)\n .onCacheResult((err, messages) => {\n if (err) sdk.isCacheEnabled && Logger.error('[useGroupChannelMessagesWithCollection/onCacheResult]', err);\n else if (messages) {\n Logger.debug('[useGroupChannelMessagesWithCollection/onCacheResult]', 'message length:', messages.length);\n\n updateMessages(messages, true, sdk.currentUser?.userId);\n updateUnsentMessages();\n }\n\n callback?.();\n })\n .onApiResult((err, messages) => {\n if (err) Logger.warn('[useGroupChannelMessagesWithCollection/onApiResult]', err);\n else if (messages) {\n Logger.debug('[useGroupChannelMessagesWithCollection/onApiResult]', 'message length:', messages.length);\n\n updateMessages(messages, true, sdk.currentUser?.userId);\n if (!options?.startingPoint) options?.onMessagesReceived?.(messages);\n if (sdk.isCacheEnabled) updateUnsentMessages();\n }\n\n collectionInitializedRef.current = true;\n callback?.();\n });\n });\n\n useChannelHandler(sdk, handlerId, {\n onUserBanned(channel, bannedUser) {\n if (channel.isGroupChannel() && !isDifferentChannel(channel, channel)) {\n if (bannedUser.userId === sdk.currentUser?.userId) {\n options?.onChannelDeleted?.();\n } else {\n forceUpdate();\n }\n }\n },\n });\n\n useEffect(() => {\n // NOTE: Cache read is heavy task, and it prevents smooth ui transition\n setTimeout(async () => {\n updateLoading(true);\n init(initialStartingPoint, initialLimit, () => updateLoading(false));\n }, 0);\n }, [channel.url, userId, options?.replyType]);\n\n useEffect(() => {\n return () => {\n if (collectionRef.current) collectionRef.current?.dispose();\n };\n }, []);\n\n const refresh: ReturnType<UseGroupChannelMessages>['refresh'] = useFreshCallback(async () => {\n updateRefreshing(true);\n init(Number.MAX_SAFE_INTEGER, MESSAGE_LIMIT.DEFAULT, () => updateRefreshing(false));\n });\n\n const prev: ReturnType<UseGroupChannelMessages>['prev'] = useFreshCallback(async () => {\n if (collectionRef.current && collectionRef.current?.hasPrevious) {\n try {\n const list = await collectionRef.current?.loadPrevious();\n updateMessages(list, false, sdk.currentUser?.userId);\n } catch {}\n }\n });\n\n const hasPrev: ReturnType<UseGroupChannelMessages>['hasPrev'] = useFreshCallback(() => {\n if (collectionInitializedRef.current && collectionRef.current) {\n return collectionRef.current.hasPrevious;\n } else {\n return false;\n }\n });\n\n const next: ReturnType<UseGroupChannelMessages>['next'] = useFreshCallback(async () => {\n if (collectionRef.current && collectionRef.current?.hasNext) {\n try {\n const fetchedList = await collectionRef.current?.loadNext();\n updateMessages(fetchedList, false, sdk.currentUser?.userId);\n } catch {}\n }\n });\n\n const hasNext: ReturnType<UseGroupChannelMessages>['hasNext'] = useFreshCallback(() => {\n if (collectionInitializedRef.current && collectionRef.current) {\n return collectionRef.current.hasNext;\n } else {\n return false;\n }\n });\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 onPending?.(pendingMessage);\n updateMessages([pendingMessage], false, sdk.currentUser?.userId);\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 as SendbirdFileMessage);\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 resentMessage = await (() => {\n if (failedMessage.isUserMessage()) return channel.resendUserMessage(failedMessage);\n if (failedMessage.isFileMessage()) return channel.resendFileMessage(failedMessage);\n return null;\n })();\n\n if (resentMessage) updateMessages([resentMessage], 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 try {\n await collectionRef.current?.removeFailedMessage(message.reqId);\n } finally {\n deleteMessages([message.messageId], [message.reqId]);\n }\n }\n });\n const resetNewMessages: ReturnType<UseGroupChannelMessages>['resetNewMessages'] = useFreshCallback(() => {\n updateNewMessages([], true, sdk.currentUser?.userId);\n });\n const resetWithStartingPoint: ReturnType<UseGroupChannelMessages>['resetWithStartingPoint'] = useFreshCallback(\n (startingPoint, callback) => {\n const limit = shouldUseSearchLimit(startingPoint) ? MESSAGE_LIMIT.SEARCH : MESSAGE_LIMIT.DEFAULT;\n updateLoading(true);\n updateMessages([], true, sdk.currentUser?.userId);\n init(startingPoint, limit, () => {\n updateLoading(false);\n callback?.();\n });\n },\n );\n\n return {\n loading,\n refreshing,\n refresh,\n messages,\n next,\n hasNext,\n prev,\n hasPrev,\n newMessages,\n resetNewMessages,\n sendUserMessage,\n sendFileMessage,\n updateUserMessage,\n updateFileMessage,\n resendMessage,\n deleteMessage,\n resetWithStartingPoint,\n };\n};\n"],"mappings":"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"}
|
|
@@ -17,6 +17,10 @@ const createMessageQuery = (channel, options) => {
|
|
|
17
17
|
if (options !== null && options !== void 0 && options.replyType) params.replyType = options.replyType;
|
|
18
18
|
return channel.createPreviousMessageListQuery(params);
|
|
19
19
|
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
23
|
+
* */
|
|
20
24
|
const useGroupChannelMessagesWithQuery = (sdk, channel, userId, options) => {
|
|
21
25
|
const queryRef = (0, _react.useRef)();
|
|
22
26
|
const handlerId = (0, _uikitUtils.useUniqHandlerId)('useGroupChannelMessagesWithQuery');
|
package/lib/commonjs/channel/useGroupChannelMessages/useGroupChannelMessagesWithQuery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_uikitUtils","_useChannelHandler","_useChannelMessagesReducer","createMessageQuery","channel","options","queryCreator","params","limit","reverse","replyType","createPreviousMessageListQuery","useGroupChannelMessagesWithQuery","sdk","userId","queryRef","useRef","handlerId","useUniqHandlerId","forceUpdate","useForceUpdate","loading","refreshing","messages","newMessages","updateMessages","deleteMessages","updateNewMessages","deleteNewMessages","updateLoading","updateRefreshing","useChannelMessagesReducer","sortComparator","channelMarkAsRead","confirmAndMarkAsRead","e","Logger","warn","init","useFreshCallback","uid","_sdk$currentUser","_queryRef$current","currentUser","current","hasNext","_queryRef$current2","_sdk$currentUser2","list","load","channelUpdater","isGroupChannel","isDifferentChannel","useChannelHandler","onMessageReceived","eventChannel","message","_sdk$currentUser3","_sdk$currentUser4","_options$shouldCountN","isMyMessage","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","useAsyncEffect","refresh","prev","_queryRef$current3","_queryRef$current4","_sdk$currentUser10","hasPrev","_queryRef$current5","next","ASYNC_NOOP","sendUserMessage","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser11","onSucceeded","sentMessage","_sdk$currentUser12","onFailed","err","failedMessage","_sdk$currentUser13","sendFileMessage","isFileMessage","_sdk$currentUser14","_sdk$currentUser15","_sdk$currentUser16","updateUserMessage","_sdk$currentUser17","updatedMessage","updateFileMessage","_sdk$currentUser18","resendMessage","_sdk$currentUser19","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","_sdk$currentUser20","resetWithStartingPoint","exports"],"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\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 channelMarkAsRead = async () => {\n try {\n await confirmAndMarkAsRead([channel]);\n } catch (e) {\n Logger.warn('[useGroupChannelMessagesWithQuery/channelMarkAsRead]', e);\n }\n };\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n channelMarkAsRead();\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 channelMarkAsRead();\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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"}
|
|
1
|
+
{"version":3,"names":["_react","require","_uikitUtils","_useChannelHandler","_useChannelMessagesReducer","createMessageQuery","channel","options","queryCreator","params","limit","reverse","replyType","createPreviousMessageListQuery","useGroupChannelMessagesWithQuery","sdk","userId","queryRef","useRef","handlerId","useUniqHandlerId","forceUpdate","useForceUpdate","loading","refreshing","messages","newMessages","updateMessages","deleteMessages","updateNewMessages","deleteNewMessages","updateLoading","updateRefreshing","useChannelMessagesReducer","sortComparator","channelMarkAsRead","confirmAndMarkAsRead","e","Logger","warn","init","useFreshCallback","uid","_sdk$currentUser","_queryRef$current","currentUser","current","hasNext","_queryRef$current2","_sdk$currentUser2","list","load","channelUpdater","isGroupChannel","isDifferentChannel","useChannelHandler","onMessageReceived","eventChannel","message","_sdk$currentUser3","_sdk$currentUser4","_options$shouldCountN","isMyMessage","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","useAsyncEffect","refresh","prev","_queryRef$current3","_queryRef$current4","_sdk$currentUser10","hasPrev","_queryRef$current5","next","ASYNC_NOOP","sendUserMessage","onPending","Promise","resolve","reject","pendingMessage","isUserMessage","_sdk$currentUser11","onSucceeded","sentMessage","_sdk$currentUser12","onFailed","err","failedMessage","_sdk$currentUser13","sendFileMessage","isFileMessage","_sdk$currentUser14","_sdk$currentUser15","_sdk$currentUser16","updateUserMessage","_sdk$currentUser17","updatedMessage","updateFileMessage","_sdk$currentUser18","resendMessage","_sdk$currentUser19","resendUserMessage","resendFileMessage","deleteMessage","sendingStatus","reqId","resetNewMessages","_sdk$currentUser20","resetWithStartingPoint","exports"],"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 channelMarkAsRead = async () => {\n try {\n await confirmAndMarkAsRead([channel]);\n } catch (e) {\n Logger.warn('[useGroupChannelMessagesWithQuery/channelMarkAsRead]', e);\n }\n };\n\n const init = useFreshCallback(async (uid?: string) => {\n if (uid) {\n channelMarkAsRead();\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 channelMarkAsRead();\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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"}
|
|
@@ -8,13 +8,15 @@ var _uikitUtils = require("@sendbird/uikit-utils");
|
|
|
8
8
|
const useAppFeatures = sdk => {
|
|
9
9
|
const {
|
|
10
10
|
premiumFeatureList = [],
|
|
11
|
-
applicationAttributes = []
|
|
11
|
+
applicationAttributes = [],
|
|
12
|
+
uploadSizeLimit
|
|
12
13
|
} = sdk.appInfo ?? {};
|
|
13
14
|
return {
|
|
14
15
|
deliveryReceiptEnabled: premiumFeatureList.includes(_uikitUtils.PremiumFeatures.delivery_receipt),
|
|
15
16
|
broadcastChannelEnabled: applicationAttributes.includes(_uikitUtils.ApplicationAttributes.allow_broadcast_channel),
|
|
16
17
|
superGroupChannelEnabled: applicationAttributes.includes(_uikitUtils.ApplicationAttributes.allow_super_group_channel),
|
|
17
|
-
reactionEnabled: applicationAttributes.includes(_uikitUtils.ApplicationAttributes.reactions)
|
|
18
|
+
reactionEnabled: applicationAttributes.includes(_uikitUtils.ApplicationAttributes.reactions),
|
|
19
|
+
uploadSizeLimit: uploadSizeLimit
|
|
18
20
|
};
|
|
19
21
|
};
|
|
20
22
|
exports.useAppFeatures = useAppFeatures;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uikitUtils","require","useAppFeatures","sdk","premiumFeatureList","applicationAttributes","appInfo","deliveryReceiptEnabled","includes","PremiumFeatures","delivery_receipt","broadcastChannelEnabled","ApplicationAttributes","allow_broadcast_channel","superGroupChannelEnabled","allow_super_group_channel","reactionEnabled","reactions","exports"],"sources":["useAppFeatures.ts"],"sourcesContent":["import { ApplicationAttributes, PremiumFeatures, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useAppFeatures = (sdk: SendbirdChatSDK) => {\n const { premiumFeatureList = [], applicationAttributes = [] } = sdk.appInfo ?? {};\n return {\n deliveryReceiptEnabled: premiumFeatureList.includes(PremiumFeatures.delivery_receipt),\n broadcastChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_broadcast_channel),\n superGroupChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_super_group_channel),\n reactionEnabled: applicationAttributes.includes(ApplicationAttributes.reactions),\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,cAAc,GAAIC,GAAoB,IAAK;EACtD,MAAM;IAAEC,kBAAkB,GAAG,EAAE;IAAEC,qBAAqB,GAAG;
|
|
1
|
+
{"version":3,"names":["_uikitUtils","require","useAppFeatures","sdk","premiumFeatureList","applicationAttributes","uploadSizeLimit","appInfo","deliveryReceiptEnabled","includes","PremiumFeatures","delivery_receipt","broadcastChannelEnabled","ApplicationAttributes","allow_broadcast_channel","superGroupChannelEnabled","allow_super_group_channel","reactionEnabled","reactions","exports"],"sources":["useAppFeatures.ts"],"sourcesContent":["import { ApplicationAttributes, PremiumFeatures, SendbirdChatSDK } from '@sendbird/uikit-utils';\n\nexport const useAppFeatures = (sdk: SendbirdChatSDK) => {\n const { premiumFeatureList = [], applicationAttributes = [], uploadSizeLimit } = sdk.appInfo ?? {};\n return {\n deliveryReceiptEnabled: premiumFeatureList.includes(PremiumFeatures.delivery_receipt),\n broadcastChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_broadcast_channel),\n superGroupChannelEnabled: applicationAttributes.includes(ApplicationAttributes.allow_super_group_channel),\n reactionEnabled: applicationAttributes.includes(ApplicationAttributes.reactions),\n uploadSizeLimit: uploadSizeLimit,\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAEO,MAAMC,cAAc,GAAIC,GAAoB,IAAK;EACtD,MAAM;IAAEC,kBAAkB,GAAG,EAAE;IAAEC,qBAAqB,GAAG,EAAE;IAAEC;EAAgB,CAAC,GAAGH,GAAG,CAACI,OAAO,IAAI,CAAC,CAAC;EAClG,OAAO;IACLC,sBAAsB,EAAEJ,kBAAkB,CAACK,QAAQ,CAACC,2BAAe,CAACC,gBAAgB,CAAC;IACrFC,uBAAuB,EAAEP,qBAAqB,CAACI,QAAQ,CAACI,iCAAqB,CAACC,uBAAuB,CAAC;IACtGC,wBAAwB,EAAEV,qBAAqB,CAACI,QAAQ,CAACI,iCAAqB,CAACG,yBAAyB,CAAC;IACzGC,eAAe,EAAEZ,qBAAqB,CAACI,QAAQ,CAACI,iCAAqB,CAACK,SAAS,CAAC;IAChFZ,eAAe,EAAEA;EACnB,CAAC;AACH,CAAC;AAACa,OAAA,CAAAjB,cAAA,GAAAA,cAAA"}
|
|
@@ -7,6 +7,9 @@ exports.useChannelHandler = void 0;
|
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _groupChannel = require("@sendbird/chat/groupChannel");
|
|
9
9
|
var _openChannel = require("@sendbird/chat/openChannel");
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.
|
|
12
|
+
* */
|
|
10
13
|
const useChannelHandler = function (sdk, handlerId, hookHandler) {
|
|
11
14
|
let type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'group';
|
|
12
15
|
const handlerRef = (0, _react.useRef)(hookHandler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_groupChannel","_openChannel","useChannelHandler","sdk","handlerId","hookHandler","type","arguments","length","undefined","handlerRef","useRef","useLayoutEffect","current","useEffect","handlerMapper","handler","handlerKeys","Object","keys","forEach","key","_handlerRef$current","_handlerRef$current$k","_len","args","Array","_key","call","groupChannel","addGroupChannelHandler","GroupChannelHandler","openChannel","addOpenChannelHandler","OpenChannelHandler","removeGroupChannelHandler","removeOpenChannelHandler","exports"],"sources":["useChannelHandler.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from 'react';\n\nimport { GroupChannelHandler } from '@sendbird/chat/groupChannel';\nimport { OpenChannelHandler } from '@sendbird/chat/openChannel';\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\n\ntype ChannelType = 'open' | 'group';\n\nexport const useChannelHandler = <T extends ChannelType = 'group'>(\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<T extends 'group' ? GroupChannelHandler : OpenChannelHandler>,\n type: T = 'group' as T,\n) => {\n const handlerRef = useRef(hookHandler);\n useLayoutEffect(() => {\n handlerRef.current = hookHandler;\n });\n\n useEffect(() => {\n const handlerMapper = <T extends GroupChannelHandler | OpenChannelHandler>(handler: T): T => {\n const handlerKeys = Object.keys(handler) as (keyof T)[];\n handlerKeys.forEach((key) => {\n // @ts-ignore\n handler[key] = (...args: unknown[]) => handlerRef.current?.[key]?.(...args);\n });\n return handler;\n };\n\n if (type === 'group') {\n sdk.groupChannel.addGroupChannelHandler(handlerId, handlerMapper(new GroupChannelHandler()));\n } else if (type === 'open') {\n sdk.openChannel.addOpenChannelHandler(handlerId, handlerMapper(new OpenChannelHandler()));\n }\n\n return () => {\n if (type === 'group') {\n sdk.groupChannel.removeGroupChannelHandler(handlerId);\n } else if (type === 'open') {\n sdk.openChannel.removeOpenChannelHandler(handlerId);\n }\n };\n }, [sdk, handlerId]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_groupChannel","_openChannel","useChannelHandler","sdk","handlerId","hookHandler","type","arguments","length","undefined","handlerRef","useRef","useLayoutEffect","current","useEffect","handlerMapper","handler","handlerKeys","Object","keys","forEach","key","_handlerRef$current","_handlerRef$current$k","_len","args","Array","_key","call","groupChannel","addGroupChannelHandler","GroupChannelHandler","openChannel","addOpenChannelHandler","OpenChannelHandler","removeGroupChannelHandler","removeOpenChannelHandler","exports"],"sources":["useChannelHandler.ts"],"sourcesContent":["import { useEffect, useLayoutEffect, useRef } from 'react';\n\nimport { GroupChannelHandler } from '@sendbird/chat/groupChannel';\nimport { OpenChannelHandler } from '@sendbird/chat/openChannel';\nimport type { SendbirdChatSDK } from '@sendbird/uikit-utils';\n\ntype ChannelType = 'open' | 'group';\n\n/**\n * @deprecated This hook is deprecated and will be replaced by the '@sendbird/uikit-tools' package.\n * */\nexport const useChannelHandler = <T extends ChannelType = 'group'>(\n sdk: SendbirdChatSDK,\n handlerId: string,\n hookHandler: Partial<T extends 'group' ? GroupChannelHandler : OpenChannelHandler>,\n type: T = 'group' as T,\n) => {\n const handlerRef = useRef(hookHandler);\n useLayoutEffect(() => {\n handlerRef.current = hookHandler;\n });\n\n useEffect(() => {\n const handlerMapper = <T extends GroupChannelHandler | OpenChannelHandler>(handler: T): T => {\n const handlerKeys = Object.keys(handler) as (keyof T)[];\n handlerKeys.forEach((key) => {\n // @ts-ignore\n handler[key] = (...args: unknown[]) => handlerRef.current?.[key]?.(...args);\n });\n return handler;\n };\n\n if (type === 'group') {\n sdk.groupChannel.addGroupChannelHandler(handlerId, handlerMapper(new GroupChannelHandler()));\n } else if (type === 'open') {\n sdk.openChannel.addOpenChannelHandler(handlerId, handlerMapper(new OpenChannelHandler()));\n }\n\n return () => {\n if (type === 'group') {\n sdk.groupChannel.removeGroupChannelHandler(handlerId);\n } else if (type === 'open') {\n sdk.openChannel.removeOpenChannelHandler(handlerId);\n }\n };\n }, [sdk, handlerId]);\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA;AACA;AACA;AACO,MAAMG,iBAAiB,GAAG,SAAAA,CAC/BC,GAAoB,EACpBC,SAAiB,EACjBC,WAAkF,EAE/E;EAAA,IADHC,IAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,OAAO;EAEjB,MAAMG,UAAU,GAAG,IAAAC,aAAM,EAACN,WAAW,CAAC;EACtC,IAAAO,sBAAe,EAAC,MAAM;IACpBF,UAAU,CAACG,OAAO,GAAGR,WAAW;EAClC,CAAC,CAAC;EAEF,IAAAS,gBAAS,EAAC,MAAM;IACd,MAAMC,aAAa,GAAwDC,OAAU,IAAQ;MAC3F,MAAMC,WAAW,GAAGC,MAAM,CAACC,IAAI,CAACH,OAAO,CAAgB;MACvDC,WAAW,CAACG,OAAO,CAAEC,GAAG,IAAK;QAC3B;QACAL,OAAO,CAACK,GAAG,CAAC,GAAG;UAAA,IAAAC,mBAAA,EAAAC,qBAAA;UAAA,SAAAC,IAAA,GAAAjB,SAAA,CAAAC,MAAA,EAAIiB,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;YAAJF,IAAI,CAAAE,IAAA,IAAApB,SAAA,CAAAoB,IAAA;UAAA;UAAA,QAAAL,mBAAA,GAAgBZ,UAAU,CAACG,OAAO,cAAAS,mBAAA,wBAAAC,qBAAA,GAAlBD,mBAAA,CAAqBD,GAAG,CAAC,cAAAE,qBAAA,uBAAzBA,qBAAA,CAAAK,IAAA,CAAAN,mBAAA,EAA4B,GAAGG,IAAI,CAAC;QAAA;MAC7E,CAAC,CAAC;MACF,OAAOT,OAAO;IAChB,CAAC;IAED,IAAIV,IAAI,KAAK,OAAO,EAAE;MACpBH,GAAG,CAAC0B,YAAY,CAACC,sBAAsB,CAAC1B,SAAS,EAAEW,aAAa,CAAC,IAAIgB,iCAAmB,EAAE,CAAC,CAAC;IAC9F,CAAC,MAAM,IAAIzB,IAAI,KAAK,MAAM,EAAE;MAC1BH,GAAG,CAAC6B,WAAW,CAACC,qBAAqB,CAAC7B,SAAS,EAAEW,aAAa,CAAC,IAAImB,+BAAkB,EAAE,CAAC,CAAC;IAC3F;IAEA,OAAO,MAAM;MACX,IAAI5B,IAAI,KAAK,OAAO,EAAE;QACpBH,GAAG,CAAC0B,YAAY,CAACM,yBAAyB,CAAC/B,SAAS,CAAC;MACvD,CAAC,MAAM,IAAIE,IAAI,KAAK,MAAM,EAAE;QAC1BH,GAAG,CAAC6B,WAAW,CAACI,wBAAwB,CAAChC,SAAS,CAAC;MACrD;IACF,CAAC;EACH,CAAC,EAAE,CAACD,GAAG,EAAEC,SAAS,CAAC,CAAC;AACtB,CAAC;AAACiC,OAAA,CAAAnC,iBAAA,GAAAA,iBAAA"}
|