stream-chat-react-native-core 9.2.2-beta.1 → 9.2.2-beta.3
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/components/Channel/Channel.js +18 -2
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js +2 -0
- package/lib/commonjs/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageFlashList.js +47 -36
- package/lib/commonjs/components/MessageList/MessageFlashList.js.map +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/commonjs/state-store/audio-player.js +9 -16
- package/lib/commonjs/state-store/audio-player.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +18 -2
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js +2 -0
- package/lib/module/components/Channel/hooks/useCreateChannelContext.js.map +1 -1
- package/lib/module/components/MessageList/MessageFlashList.js +47 -36
- package/lib/module/components/MessageList/MessageFlashList.js.map +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js.map +1 -1
- package/lib/module/state-store/audio-player.js +9 -16
- package/lib/module/state-store/audio-player.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts.map +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateChannelContext.d.ts.map +1 -1
- package/lib/typescript/components/MessageList/MessageFlashList.d.ts +1 -1
- package/lib/typescript/components/MessageList/MessageFlashList.d.ts.map +1 -1
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts +6 -0
- package/lib/typescript/contexts/channelContext/ChannelContext.d.ts.map +1 -1
- package/lib/typescript/state-store/audio-player.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +21 -6
- package/src/components/Channel/hooks/useCreateChannelContext.ts +2 -0
- package/src/components/MessageList/MessageFlashList.tsx +31 -25
- package/src/contexts/channelContext/ChannelContext.tsx +6 -0
- package/src/state-store/audio-player.ts +3 -10
- package/src/version.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCreateChannelContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Channel/hooks/useCreateChannelContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,eAAO,MAAM,uBAAuB,GAAI,
|
|
1
|
+
{"version":3,"file":"useCreateChannelContext.d.ts","sourceRoot":"","sources":["../../../../../src/components/Channel/hooks/useCreateChannelContext.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AAE3F,eAAO,MAAM,uBAAuB,GAAI,yiBA+BrC,mBAAmB,wBAgErB,CAAC"}
|
|
@@ -10,7 +10,7 @@ import { MessagesContextValue } from '../../contexts/messagesContext/MessagesCon
|
|
|
10
10
|
import { OwnCapabilitiesContextValue } from '../../contexts/ownCapabilitiesContext/OwnCapabilitiesContext';
|
|
11
11
|
import { PaginatedMessageListContextValue } from '../../contexts/paginatedMessageListContext/PaginatedMessageListContext';
|
|
12
12
|
import { ThreadContextValue } from '../../contexts/threadContext/ThreadContext';
|
|
13
|
-
type MessageFlashListPropsWithContext = Pick<AttachmentPickerContextValue, 'closePicker' | 'attachmentPickerStore'> & Pick<OwnCapabilitiesContextValue, 'readEvents'> & Pick<ChannelContextValue, 'channel' | 'channelUnreadStateStore' | 'disabled' | 'hideStickyDateHeader' | 'highlightedMessageId' | 'loadChannelAroundMessage' | 'loading' | 'markRead' | 'reloadChannel' | 'scrollToFirstUnreadThreshold' | 'setChannelUnreadState' | 'setTargetedMessage' | 'targetedMessage' | 'threadList' | 'maximumMessageLimit'> & Pick<ChatContextValue, 'client'> & Pick<MessageInputContextValue, 'messageInputFloating' | 'messageInputHeightStore'> & Pick<PaginatedMessageListContextValue, 'loadMore' | 'loadMoreRecent'> & Pick<MessagesContextValue, 'disableTypingIndicator' | 'FlatList' | 'myMessageTheme' | 'shouldShowUnreadUnderlay'> & Pick<ThreadContextValue, 'loadMoreRecentThread' | 'loadMoreThread' | 'thread' | 'threadInstance'> & {
|
|
13
|
+
type MessageFlashListPropsWithContext = Pick<AttachmentPickerContextValue, 'closePicker' | 'attachmentPickerStore'> & Pick<OwnCapabilitiesContextValue, 'readEvents'> & Pick<ChannelContextValue, 'channel' | 'channelUnreadStateStore' | 'disabled' | 'hideStickyDateHeader' | 'highlightedMessageId' | 'loadChannelAroundMessage' | 'loading' | 'markRead' | 'reloadChannel' | 'scrollToFirstUnreadThreshold' | 'setChannelUnreadState' | 'setTargetedMessage' | 'hasPendingInitialTargetLoad' | 'targetedMessage' | 'threadList' | 'maximumMessageLimit'> & Pick<ChatContextValue, 'client'> & Pick<MessageInputContextValue, 'messageInputFloating' | 'messageInputHeightStore'> & Pick<PaginatedMessageListContextValue, 'loadMore' | 'loadMoreRecent'> & Pick<MessagesContextValue, 'disableTypingIndicator' | 'FlatList' | 'myMessageTheme' | 'shouldShowUnreadUnderlay'> & Pick<ThreadContextValue, 'loadMoreRecentThread' | 'loadMoreThread' | 'thread' | 'threadInstance'> & {
|
|
14
14
|
/**
|
|
15
15
|
* Besides existing (default) UX behavior of underlying FlatList of MessageList component, if you want
|
|
16
16
|
* to attach some additional props to underlying FlatList, you can add it to following prop.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageFlashList.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/MessageFlashList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+E,MAAM,OAAO,CAAC;AACpG,OAAO,EAEL,eAAe,EAKhB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAkB,YAAY,EAAmB,MAAM,aAAa,CAAC;AAUjF,OAAO,EACL,4BAA4B,EAE7B,MAAM,gEAAgE,CAAC;AACxE,OAAO,EACL,mBAAmB,EAEpB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAkB,MAAM,wCAAwC,CAAC;AAE1F,OAAO,EACL,wBAAwB,EAEzB,MAAM,wDAAwD,CAAC;AAKhE,OAAO,EACL,oBAAoB,EAErB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,2BAA2B,EAE5B,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,gCAAgC,EAEjC,MAAM,wEAAwE,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAoB,MAAM,4CAA4C,CAAC;AA6DlG,KAAK,gCAAgC,GAAG,IAAI,CAC1C,4BAA4B,EAC5B,aAAa,GAAG,uBAAuB,CACxC,GACC,IAAI,CAAC,2BAA2B,EAAE,YAAY,CAAC,GAC/C,IAAI,CACF,mBAAmB,EACjB,SAAS,GACT,yBAAyB,GACzB,UAAU,GACV,sBAAsB,GACtB,sBAAsB,GACtB,0BAA0B,GAC1B,SAAS,GACT,UAAU,GACV,eAAe,GACf,8BAA8B,GAC9B,uBAAuB,GACvB,oBAAoB,GACpB,iBAAiB,GACjB,YAAY,GACZ,qBAAqB,CACxB,GACD,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAChC,IAAI,CAAC,wBAAwB,EAAE,sBAAsB,GAAG,yBAAyB,CAAC,GAClF,IAAI,CAAC,gCAAgC,EAAE,UAAU,GAAG,gBAAgB,CAAC,GACrE,IAAI,CACF,oBAAoB,EACpB,wBAAwB,GAAG,UAAU,GAAG,gBAAgB,GAAG,0BAA0B,CACtF,GACD,IAAI,CACF,kBAAkB,EAClB,sBAAsB,GAAG,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,CACxE,GAAG;IACF;;;;;;;;;;;;;OAaG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACjE;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACjE;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageFlashList.d.ts","sourceRoot":"","sources":["../../../../src/components/MessageList/MessageFlashList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+E,MAAM,OAAO,CAAC;AACpG,OAAO,EAEL,eAAe,EAKhB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,KAAK,EAAkB,YAAY,EAAmB,MAAM,aAAa,CAAC;AAUjF,OAAO,EACL,4BAA4B,EAE7B,MAAM,gEAAgE,CAAC;AACxE,OAAO,EACL,mBAAmB,EAEpB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAkB,MAAM,wCAAwC,CAAC;AAE1F,OAAO,EACL,wBAAwB,EAEzB,MAAM,wDAAwD,CAAC;AAKhE,OAAO,EACL,oBAAoB,EAErB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EACL,2BAA2B,EAE5B,MAAM,8DAA8D,CAAC;AACtE,OAAO,EACL,gCAAgC,EAEjC,MAAM,wEAAwE,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAoB,MAAM,4CAA4C,CAAC;AA6DlG,KAAK,gCAAgC,GAAG,IAAI,CAC1C,4BAA4B,EAC5B,aAAa,GAAG,uBAAuB,CACxC,GACC,IAAI,CAAC,2BAA2B,EAAE,YAAY,CAAC,GAC/C,IAAI,CACF,mBAAmB,EACjB,SAAS,GACT,yBAAyB,GACzB,UAAU,GACV,sBAAsB,GACtB,sBAAsB,GACtB,0BAA0B,GAC1B,SAAS,GACT,UAAU,GACV,eAAe,GACf,8BAA8B,GAC9B,uBAAuB,GACvB,oBAAoB,GACpB,6BAA6B,GAC7B,iBAAiB,GACjB,YAAY,GACZ,qBAAqB,CACxB,GACD,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAChC,IAAI,CAAC,wBAAwB,EAAE,sBAAsB,GAAG,yBAAyB,CAAC,GAClF,IAAI,CAAC,gCAAgC,EAAE,UAAU,GAAG,gBAAgB,CAAC,GACrE,IAAI,CACF,oBAAoB,EACpB,wBAAwB,GAAG,UAAU,GAAG,gBAAgB,GAAG,0BAA0B,CACtF,GACD,IAAI,CACF,kBAAkB,EAClB,sBAAsB,GAAG,gBAAgB,GAAG,QAAQ,GAAG,gBAAgB,CACxE,GAAG;IACF;;;;;;;;;;;;;OAaG;IACH,wBAAwB,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;IACjE;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACtC,gEAAgE;IAChE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;IACjE;;;;;;;;;;OAUG;IACH,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IAClE;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAu8BJ,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAAC;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,qBAAqB,sBA0E5D,CAAC"}
|
|
@@ -93,6 +93,12 @@ export type ChannelContextValue = {
|
|
|
93
93
|
setChannelUnreadState: (data: ChannelUnreadStateStoreType['channelUnreadState']) => void;
|
|
94
94
|
setLastRead: React.Dispatch<React.SetStateAction<Date | undefined>>;
|
|
95
95
|
setTargetedMessage: (messageId?: string) => void;
|
|
96
|
+
/**
|
|
97
|
+
* Returns true when Channel is about to load an initial targeted message.
|
|
98
|
+
*
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
hasPendingInitialTargetLoad?: () => boolean;
|
|
96
102
|
/**
|
|
97
103
|
* Abort controller for cancelling async requests made for uploading images/files
|
|
98
104
|
* Its a map of filename and AbortController
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/channelContext/ChannelContext.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChannelContext.d.ts","sourceRoot":"","sources":["../../../../src/contexts/channelContext/ChannelContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audio-player.d.ts","sourceRoot":"","sources":["../../../src/state-store/audio-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAyD,eAAe,EAAE,MAAM,WAAW,CAAC;AAEnG,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,cAAc,GAAG,oBAAoB,CAAC;AAE7F,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE;IAC7C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,KAAK,IAAI,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAmBF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,qBAAa,WAAW;IACtB,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACpC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAQ;IACzC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,OAAO,CAAC,CAA0B;IAC1C,OAAO,CAAC,uBAAuB,CAAC,CAAS;IACzC,OAAO,CAAC,kCAAkC,CAAC,CAAS;IAEpD;;;OAGG;IACH,OAAO,CAAC,qBAAqB,CAAC,CAAU;gBAE5B,OAAO,EAAE,kBAAkB;IAgBvC,UAAU,CAAC,OAAO,CAAC,EAAE,uBAAuB;IAI5C,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,uBAAuB;IAa/B,UAAU,GAAU,oBAAoB;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,mBA0DnF;IAEF,OAAO,CAAC,2CAA2C,CAOjD;IAGF,OAAO,CAAC,sBAAsB,CAgC5B;IAGF,IAAI,SAAS,IAqDY,OAAO,CAnD/B;IAED,IAAI,QAAQ,IA6BW,MAAM,CA3B5B;IAED,IAAI,QAAQ,IA+BW,MAAM,CA7B5B;IAED,IAAI,QAAQ,IAkCW,MAAM,CAhC5B;IAED,IAAI,aAAa,aAEhB;IAED,IAAI,mBAAmB,WAEtB;IAED,IAAI,EAAE,WAEL;IAGD,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,EAE7B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAI5B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAK5B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAK5B;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,OAAO,EAI/B;IAGK,kBAAkB;IAqBxB,IAAI;IAgDJ,KAAK;IAoCL,MAAM;IAQA,IAAI,CAAC,iBAAiB,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"audio-player.d.ts","sourceRoot":"","sources":["../../../src/state-store/audio-player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAyD,eAAe,EAAE,MAAM,WAAW,CAAC;AAEnG,MAAM,MAAM,eAAe,GAAG;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG,cAAc,GAAG,oBAAoB,CAAC;AAE7F,MAAM,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE;IAC7C,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,KAAK,IAAI,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAmBF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG;IACjD,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,qBAAa,WAAW;IACtB,KAAK,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC;IACpC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAQ;IACzC,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,IAAI,CAA6B;IACzC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,KAAK,CAAgC;IAC7C,OAAO,CAAC,OAAO,CAAC,CAA0B;IAC1C,OAAO,CAAC,uBAAuB,CAAC,CAAS;IACzC,OAAO,CAAC,kCAAkC,CAAC,CAAS;IAEpD;;;OAGG;IACH,OAAO,CAAC,qBAAqB,CAAC,CAAU;gBAE5B,OAAO,EAAE,kBAAkB;IAgBvC,UAAU,CAAC,OAAO,CAAC,EAAE,uBAAuB;IAI5C,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,WAAW;IAkBnB,OAAO,CAAC,uBAAuB;IAa/B,UAAU,GAAU,oBAAoB;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,mBA0DnF;IAEF,OAAO,CAAC,2CAA2C,CAOjD;IAGF,OAAO,CAAC,sBAAsB,CAgC5B;IAGF,IAAI,SAAS,IAqDY,OAAO,CAnD/B;IAED,IAAI,QAAQ,IA6BW,MAAM,CA3B5B;IAED,IAAI,QAAQ,IA+BW,MAAM,CA7B5B;IAED,IAAI,QAAQ,IAkCW,MAAM,CAhC5B;IAED,IAAI,aAAa,aAEhB;IAED,IAAI,mBAAmB,WAEtB;IAED,IAAI,EAAE,WAEL;IAGD,IAAI,IAAI,CAAC,IAAI,EAAE,eAAe,EAE7B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAI5B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAK5B;IAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAK5B;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,OAAO,EAI/B;IAGK,kBAAkB;IAqBxB,IAAI;IAgDJ,KAAK;IAoCL,MAAM;IAQA,IAAI,CAAC,iBAAiB,EAAE,MAAM;IA+B9B,IAAI;IAMV,QAAQ;CA8BT"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "stream-chat-react-native-core",
|
|
3
3
|
"description": "The official React Native and Expo components for Stream Chat, a service for building chat applications",
|
|
4
|
-
"version": "9.2.2-beta.
|
|
4
|
+
"version": "9.2.2-beta.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"company": "Stream.io Inc",
|
|
7
7
|
"name": "Stream.io Inc"
|
|
@@ -567,6 +567,18 @@ const ChannelWithContext = (props: PropsWithChildren<ChannelPropsWithContext>) =
|
|
|
567
567
|
channel,
|
|
568
568
|
});
|
|
569
569
|
|
|
570
|
+
const shouldLoadInitialChannelAtFirstUnreadMessage = useStableCallback((unreadCount?: number) => {
|
|
571
|
+
if (messageId || !initialScrollToFirstUnreadMessage || !client.user) {
|
|
572
|
+
return false;
|
|
573
|
+
}
|
|
574
|
+
|
|
575
|
+
return (unreadCount ?? channel.countUnread()) > scrollToFirstUnreadThreshold;
|
|
576
|
+
});
|
|
577
|
+
|
|
578
|
+
const hasPendingInitialTargetLoad = useStableCallback(() => {
|
|
579
|
+
return !!messageId || shouldLoadInitialChannelAtFirstUnreadMessage();
|
|
580
|
+
});
|
|
581
|
+
|
|
570
582
|
const { setMessages: copyMessagesStateFromChannel, viewabilityChangedCallback } =
|
|
571
583
|
usePrunableMessageList({ maximumMessageLimit, setMessages: rawCopyMessagesStateFromChannel });
|
|
572
584
|
|
|
@@ -693,6 +705,7 @@ const ChannelWithContext = (props: PropsWithChildren<ChannelPropsWithContext>) =
|
|
|
693
705
|
const initChannel = async () => {
|
|
694
706
|
setLastRead(new Date());
|
|
695
707
|
const unreadCount = channel.countUnread();
|
|
708
|
+
const shouldLoadAtFirstUnread = shouldLoadInitialChannelAtFirstUnreadMessage(unreadCount);
|
|
696
709
|
if (!channel || !shouldSyncChannel) {
|
|
697
710
|
return;
|
|
698
711
|
}
|
|
@@ -722,13 +735,14 @@ const ChannelWithContext = (props: PropsWithChildren<ChannelPropsWithContext>) =
|
|
|
722
735
|
|
|
723
736
|
if (messageId) {
|
|
724
737
|
await loadChannelAroundMessage({ messageId, setTargetedMessage });
|
|
725
|
-
} else if (
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
738
|
+
} else if (shouldLoadAtFirstUnread) {
|
|
739
|
+
const clientUserId = client.user?.id;
|
|
740
|
+
if (!clientUserId) {
|
|
741
|
+
return;
|
|
742
|
+
}
|
|
743
|
+
|
|
730
744
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
731
|
-
const { user, ...ownReadState } = channel.state.read[
|
|
745
|
+
const { user, ...ownReadState } = channel.state.read[clientUserId];
|
|
732
746
|
|
|
733
747
|
await loadChannelAtFirstUnreadMessage({
|
|
734
748
|
channelUnreadState: ownReadState,
|
|
@@ -1578,6 +1592,7 @@ const ChannelWithContext = (props: PropsWithChildren<ChannelPropsWithContext>) =
|
|
|
1578
1592
|
setChannelUnreadState,
|
|
1579
1593
|
setLastRead,
|
|
1580
1594
|
setTargetedMessage,
|
|
1595
|
+
hasPendingInitialTargetLoad,
|
|
1581
1596
|
targetedMessage,
|
|
1582
1597
|
threadList,
|
|
1583
1598
|
uploadAbortControllerRef,
|
|
@@ -27,6 +27,7 @@ export const useCreateChannelContext = ({
|
|
|
27
27
|
setChannelUnreadState,
|
|
28
28
|
setLastRead,
|
|
29
29
|
setTargetedMessage,
|
|
30
|
+
hasPendingInitialTargetLoad,
|
|
30
31
|
targetedMessage,
|
|
31
32
|
threadList,
|
|
32
33
|
uploadAbortControllerRef,
|
|
@@ -69,6 +70,7 @@ export const useCreateChannelContext = ({
|
|
|
69
70
|
setChannelUnreadState,
|
|
70
71
|
setLastRead,
|
|
71
72
|
setTargetedMessage,
|
|
73
|
+
hasPendingInitialTargetLoad,
|
|
72
74
|
targetedMessage,
|
|
73
75
|
threadList,
|
|
74
76
|
uploadAbortControllerRef,
|
|
@@ -132,6 +132,7 @@ type MessageFlashListPropsWithContext = Pick<
|
|
|
132
132
|
| 'scrollToFirstUnreadThreshold'
|
|
133
133
|
| 'setChannelUnreadState'
|
|
134
134
|
| 'setTargetedMessage'
|
|
135
|
+
| 'hasPendingInitialTargetLoad'
|
|
135
136
|
| 'targetedMessage'
|
|
136
137
|
| 'threadList'
|
|
137
138
|
| 'maximumMessageLimit'
|
|
@@ -289,6 +290,7 @@ const MessageFlashListWithContext = (props: MessageFlashListPropsWithContext) =>
|
|
|
289
290
|
setChannelUnreadState,
|
|
290
291
|
setFlatListRef,
|
|
291
292
|
setTargetedMessage,
|
|
293
|
+
hasPendingInitialTargetLoad,
|
|
292
294
|
targetedMessage,
|
|
293
295
|
thread,
|
|
294
296
|
threadInstance,
|
|
@@ -388,11 +390,15 @@ const MessageFlashListWithContext = (props: MessageFlashListPropsWithContext) =>
|
|
|
388
390
|
|
|
389
391
|
useEffect(() => {
|
|
390
392
|
if (autoscrollToRecent && flashListRef.current) {
|
|
393
|
+
if (hasPendingInitialTargetLoad?.()) {
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
|
|
391
397
|
flashListRef.current.scrollToEnd({
|
|
392
398
|
animated: true,
|
|
393
399
|
});
|
|
394
400
|
}
|
|
395
|
-
}, [autoscrollToRecent]);
|
|
401
|
+
}, [autoscrollToRecent, hasPendingInitialTargetLoad]);
|
|
396
402
|
|
|
397
403
|
const maintainVisibleContentPosition = useMemo(() => {
|
|
398
404
|
return {
|
|
@@ -408,18 +414,6 @@ const MessageFlashListWithContext = (props: MessageFlashListPropsWithContext) =>
|
|
|
408
414
|
}
|
|
409
415
|
}, [disabled]);
|
|
410
416
|
|
|
411
|
-
const indexToScrollToRef = useRef<number | undefined>(undefined);
|
|
412
|
-
|
|
413
|
-
const initialIndexToScrollTo = useMemo(() => {
|
|
414
|
-
return targetedMessage
|
|
415
|
-
? processedMessageList.findIndex((message) => message?.id === targetedMessage)
|
|
416
|
-
: -1;
|
|
417
|
-
}, [processedMessageList, targetedMessage]);
|
|
418
|
-
|
|
419
|
-
useEffect(() => {
|
|
420
|
-
indexToScrollToRef.current = initialIndexToScrollTo;
|
|
421
|
-
}, [initialIndexToScrollTo]);
|
|
422
|
-
|
|
423
417
|
/**
|
|
424
418
|
* Check if a messageId needs to be scrolled to after list loads, and scroll to it
|
|
425
419
|
* Note: This effect fires on every list change with a small debounce so that scrolling isnt abrupted by an immediate rerender
|
|
@@ -440,13 +434,29 @@ const MessageFlashListWithContext = (props: MessageFlashListPropsWithContext) =>
|
|
|
440
434
|
scrollToDebounceTimeoutRef.current = setTimeout(() => {
|
|
441
435
|
clearTimeout(scrollToDebounceTimeoutRef.current);
|
|
442
436
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
437
|
+
const scrollToIndex = async () => {
|
|
438
|
+
const list = flashListRef.current;
|
|
439
|
+
|
|
440
|
+
if (!list) {
|
|
441
|
+
return false;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
await list.scrollToIndex({
|
|
445
|
+
index: indexOfParentInMessageList,
|
|
446
|
+
animated: true,
|
|
447
|
+
viewPosition: 0.5,
|
|
448
|
+
});
|
|
449
|
+
|
|
450
|
+
return true;
|
|
451
|
+
};
|
|
452
|
+
|
|
453
|
+
requestAnimationFrame(async () => {
|
|
454
|
+
await scrollToIndex();
|
|
455
|
+
requestAnimationFrame(async () => {
|
|
456
|
+
await scrollToIndex();
|
|
457
|
+
setTargetedMessage(undefined);
|
|
458
|
+
});
|
|
448
459
|
});
|
|
449
|
-
setTargetedMessage(undefined);
|
|
450
460
|
}, WAIT_FOR_SCROLL_TIMEOUT);
|
|
451
461
|
}
|
|
452
462
|
}, [loadChannelAroundMessage, processedMessageList, setTargetedMessage, targetedMessage]);
|
|
@@ -456,8 +466,6 @@ const MessageFlashListWithContext = (props: MessageFlashListPropsWithContext) =>
|
|
|
456
466
|
(message) => message?.id === messageId,
|
|
457
467
|
);
|
|
458
468
|
|
|
459
|
-
indexToScrollToRef.current = indexOfParentInMessageList;
|
|
460
|
-
|
|
461
469
|
try {
|
|
462
470
|
if (indexOfParentInMessageList === -1) {
|
|
463
471
|
clearTimeout(scrollToDebounceTimeoutRef.current);
|
|
@@ -529,7 +537,6 @@ const MessageFlashListWithContext = (props: MessageFlashListPropsWithContext) =>
|
|
|
529
537
|
setScrollToBottomButtonVisible(true);
|
|
530
538
|
return;
|
|
531
539
|
} else {
|
|
532
|
-
indexToScrollToRef.current = undefined;
|
|
533
540
|
setAutoscrollToRecent(true);
|
|
534
541
|
}
|
|
535
542
|
const latestNonCurrentMessageBeforeUpdate = latestNonCurrentMessageBeforeUpdateRef.current;
|
|
@@ -1064,9 +1071,6 @@ const MessageFlashListWithContext = (props: MessageFlashListPropsWithContext) =>
|
|
|
1064
1071
|
data={processedMessageList}
|
|
1065
1072
|
drawDistance={800}
|
|
1066
1073
|
getItemType={getItemTypeInternal}
|
|
1067
|
-
initialScrollIndex={
|
|
1068
|
-
indexToScrollToRef.current === -1 ? undefined : indexToScrollToRef.current
|
|
1069
|
-
}
|
|
1070
1074
|
keyboardShouldPersistTaps='handled'
|
|
1071
1075
|
keyExtractor={keyExtractor}
|
|
1072
1076
|
ListFooterComponent={ListFooterComponent}
|
|
@@ -1203,6 +1207,7 @@ export const MessageFlashList = (props: MessageFlashListProps) => {
|
|
|
1203
1207
|
scrollToFirstUnreadThreshold,
|
|
1204
1208
|
setChannelUnreadState,
|
|
1205
1209
|
setTargetedMessage,
|
|
1210
|
+
hasPendingInitialTargetLoad,
|
|
1206
1211
|
targetedMessage,
|
|
1207
1212
|
threadList,
|
|
1208
1213
|
} = useChannelContext();
|
|
@@ -1246,6 +1251,7 @@ export const MessageFlashList = (props: MessageFlashListProps) => {
|
|
|
1246
1251
|
scrollToFirstUnreadThreshold,
|
|
1247
1252
|
setChannelUnreadState,
|
|
1248
1253
|
setTargetedMessage,
|
|
1254
|
+
hasPendingInitialTargetLoad,
|
|
1249
1255
|
shouldShowUnreadUnderlay,
|
|
1250
1256
|
targetedMessage,
|
|
1251
1257
|
thread,
|
|
@@ -112,6 +112,12 @@ export type ChannelContextValue = {
|
|
|
112
112
|
setChannelUnreadState: (data: ChannelUnreadStateStoreType['channelUnreadState']) => void;
|
|
113
113
|
setLastRead: React.Dispatch<React.SetStateAction<Date | undefined>>;
|
|
114
114
|
setTargetedMessage: (messageId?: string) => void;
|
|
115
|
+
/**
|
|
116
|
+
* Returns true when Channel is about to load an initial targeted message.
|
|
117
|
+
*
|
|
118
|
+
* @internal
|
|
119
|
+
*/
|
|
120
|
+
hasPendingInitialTargetLoad?: () => boolean;
|
|
115
121
|
/**
|
|
116
122
|
* Abort controller for cancelling async requests made for uploading images/files
|
|
117
123
|
* Its a map of filename and AbortController
|
|
@@ -425,17 +425,10 @@ export class AudioPlayer {
|
|
|
425
425
|
}
|
|
426
426
|
this.position = positionInMillis;
|
|
427
427
|
if (this.isExpoCLI) {
|
|
428
|
-
if (
|
|
429
|
-
|
|
430
|
-
if (this.playerRef?.replayAsync) {
|
|
431
|
-
await this.playerRef.replayAsync({});
|
|
432
|
-
}
|
|
428
|
+
if (this.playerRef?.setPositionAsync) {
|
|
429
|
+
await this.playerRef.setPositionAsync(positionInMillis);
|
|
433
430
|
} else {
|
|
434
|
-
|
|
435
|
-
await this.playerRef.setPositionAsync(positionInMillis);
|
|
436
|
-
} else {
|
|
437
|
-
this.notifyError('seek-not-supported');
|
|
438
|
-
}
|
|
431
|
+
this.notifyError('seek-not-supported');
|
|
439
432
|
}
|
|
440
433
|
} else {
|
|
441
434
|
if (this.playerRef?.seek) {
|
package/src/version.json
CHANGED