stream-chat-react-native-core 5.22.2-beta.8 → 5.23.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/Channel/Channel.js +587 -384
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +170 -179
- package/lib/commonjs/components/MessageList/MessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js +6 -1
- package/lib/commonjs/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/commonjs/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js +36 -0
- package/lib/commonjs/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -0
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +31 -15
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/i18n/fr.json +15 -15
- package/lib/commonjs/i18n/hi.json +15 -15
- package/lib/commonjs/i18n/it.json +15 -15
- package/lib/commonjs/i18n/nl.json +15 -15
- package/lib/commonjs/i18n/ru.json +15 -15
- package/lib/commonjs/i18n/tr.json +15 -15
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +587 -384
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/MessageList/MessageList.js +170 -179
- package/lib/module/components/MessageList/MessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js +6 -1
- package/lib/module/components/MessageList/hooks/useMessageList.js.map +1 -1
- package/lib/module/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js +36 -0
- package/lib/module/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.js.map +1 -0
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +31 -15
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/i18n/fr.json +15 -15
- package/lib/module/i18n/hi.json +15 -15
- package/lib/module/i18n/it.json +15 -15
- package/lib/module/i18n/nl.json +15 -15
- package/lib/module/i18n/ru.json +15 -15
- package/lib/module/i18n/tr.json +15 -15
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/MessageList/hooks/useMessageList.d.ts +6 -1
- package/lib/typescript/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.d.ts +4 -0
- package/lib/typescript/i18n/fr.json +15 -15
- package/lib/typescript/i18n/hi.json +15 -15
- package/lib/typescript/i18n/it.json +15 -15
- package/lib/typescript/i18n/nl.json +15 -15
- package/lib/typescript/i18n/ru.json +15 -15
- package/lib/typescript/i18n/tr.json +15 -15
- package/package.json +1 -1
- package/src/components/Channel/Channel.tsx +237 -61
- package/src/components/MessageList/MessageList.tsx +190 -180
- package/src/components/MessageList/__tests__/useMessageList.test.tsx +5 -2
- package/src/components/MessageList/hooks/useMessageList.ts +8 -1
- package/src/components/MessageList/hooks/useShouldScrollToRecentOnNewOwnMessage.ts +44 -0
- package/src/contexts/__tests__/index.test.tsx +1 -1
- package/src/contexts/channelsStateContext/ChannelsStateContext.tsx +1 -1
- package/src/contexts/messageInputContext/MessageInputContext.tsx +7 -1
- package/src/i18n/fr.json +15 -15
- package/src/i18n/hi.json +15 -15
- package/src/i18n/it.json +15 -15
- package/src/i18n/nl.json +15 -15
- package/src/i18n/ru.json +15 -15
- package/src/i18n/tr.json +15 -15
- package/src/version.json +1 -1
|
@@ -144,7 +144,7 @@ var debounceOptions = {
|
|
|
144
144
|
trailing: true
|
|
145
145
|
};
|
|
146
146
|
var ChannelWithContext = function ChannelWithContext(props) {
|
|
147
|
-
var _client$user, _channel$data,
|
|
147
|
+
var _client$user, _channel$data, _ref28, _ref29;
|
|
148
148
|
var additionalKeyboardAvoidingViewProps = props.additionalKeyboardAvoidingViewProps,
|
|
149
149
|
additionalTextInputProps = props.additionalTextInputProps,
|
|
150
150
|
additionalTouchableProps = props.additionalTouchableProps,
|
|
@@ -443,11 +443,10 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
443
443
|
_useState28 = (0, _slicedToArray2["default"])(_useState27, 2),
|
|
444
444
|
hasNoMoreRecentMessagesToLoad = _useState28[0],
|
|
445
445
|
setHasNoMoreRecentMessagesToLoad = _useState28[1];
|
|
446
|
-
var messagesRef = (0, _react.useRef)(messages);
|
|
447
|
-
messagesRef.current = messages;
|
|
448
446
|
var _useTargetedMessage = (0, _useTargetedMessage2.useTargetedMessage)(),
|
|
449
447
|
setTargetedMessage = _useTargetedMessage.setTargetedMessage,
|
|
450
448
|
targetedMessage = _useTargetedMessage.targetedMessage;
|
|
449
|
+
var hasOverlappingRecentMessagesRef = (0, _react.useRef)(false);
|
|
451
450
|
var uploadAbortControllerRef = (0, _react.useRef)(new Map());
|
|
452
451
|
var channelId = (channel == null ? void 0 : channel.id) || '';
|
|
453
452
|
(0, _react.useEffect)(function () {
|
|
@@ -516,7 +515,9 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
516
515
|
}, defaultThrottleInterval, throttleOptions)).current;
|
|
517
516
|
var copyMessagesState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
518
517
|
if (channel) {
|
|
518
|
+
clearInterval(mergeSetsIntervalRef.current);
|
|
519
519
|
setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
|
|
520
|
+
restartSetsMergeFuncRef.current();
|
|
520
521
|
}
|
|
521
522
|
}, newMessageStateUpdateThrottleInterval, throttleOptions)).current;
|
|
522
523
|
var copyTypingState = (0, _react.useRef)((0, _throttle["default"])(function () {
|
|
@@ -584,64 +585,84 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
584
585
|
unsubscribe = _client$on.unsubscribe;
|
|
585
586
|
return unsubscribe;
|
|
586
587
|
}, [channelId]);
|
|
588
|
+
(0, _react.useEffect)(function () {
|
|
589
|
+
var handleEvent = function handleEvent(event) {
|
|
590
|
+
if (channel.cid === event.cid) copyChannelState();
|
|
591
|
+
};
|
|
592
|
+
var _client$on2 = client.on('notification.mark_read', handleEvent),
|
|
593
|
+
unsubscribe = _client$on2.unsubscribe;
|
|
594
|
+
return unsubscribe;
|
|
595
|
+
}, []);
|
|
587
596
|
var channelQueryCallRef = (0, _react.useRef)(function () {
|
|
588
597
|
var _ref = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(queryCall) {
|
|
589
598
|
var onAfterQueryCall,
|
|
590
|
-
|
|
591
|
-
limit,
|
|
599
|
+
scrollToMessageId,
|
|
592
600
|
currentMessages,
|
|
593
|
-
|
|
594
|
-
|
|
601
|
+
hadCurrentLatestMessages,
|
|
602
|
+
scrollToMessageIndex,
|
|
603
|
+
limitAfter,
|
|
604
|
+
currentLength,
|
|
605
|
+
noOfMessagesAfter,
|
|
595
606
|
endIndex,
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
areLatestMessages,
|
|
607
|
+
restOfMessages,
|
|
608
|
+
latestSet,
|
|
609
|
+
hasLatestMessages,
|
|
600
610
|
_args = arguments;
|
|
601
611
|
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
602
612
|
while (1) switch (_context.prev = _context.next) {
|
|
603
613
|
case 0:
|
|
604
614
|
onAfterQueryCall = _args.length > 1 && _args[1] !== undefined ? _args[1] : undefined;
|
|
605
|
-
|
|
615
|
+
scrollToMessageId = _args.length > 2 && _args[2] !== undefined ? _args[2] : undefined;
|
|
606
616
|
setError(false);
|
|
607
617
|
_context.prev = 3;
|
|
608
|
-
|
|
618
|
+
clearInterval(mergeSetsIntervalRef.current);
|
|
619
|
+
_context.next = 7;
|
|
609
620
|
return queryCall();
|
|
610
|
-
case
|
|
621
|
+
case 7:
|
|
611
622
|
setLastRead(new Date());
|
|
612
623
|
setHasMore(true);
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
624
|
+
currentMessages = channel.state.messages;
|
|
625
|
+
hadCurrentLatestMessages = currentMessages.length > 0 && currentMessages === channel.state.latestMessages;
|
|
626
|
+
if (typeof scrollToMessageId === 'function') {
|
|
627
|
+
scrollToMessageId = scrollToMessageId();
|
|
628
|
+
}
|
|
629
|
+
scrollToMessageIndex = scrollToMessageId ? currentMessages.findIndex(function (_ref2) {
|
|
630
|
+
var id = _ref2.id;
|
|
631
|
+
return id === scrollToMessageId;
|
|
632
|
+
}) : -1;
|
|
633
|
+
if (channel && scrollToMessageIndex !== -1) {
|
|
634
|
+
limitAfter = 4;
|
|
635
|
+
currentLength = currentMessages.length;
|
|
636
|
+
if (scrollToMessageIndex !== -1) {
|
|
637
|
+
noOfMessagesAfter = currentLength - scrollToMessageIndex - 1;
|
|
638
|
+
if (noOfMessagesAfter > limitAfter) {
|
|
639
|
+
endIndex = scrollToMessageIndex + limitAfter;
|
|
640
|
+
channel.state.clearMessages();
|
|
641
|
+
channel.state.messages = currentMessages.slice(0, endIndex + 1);
|
|
642
|
+
splitLatestCurrentMessageSetRef.current();
|
|
643
|
+
restOfMessages = currentMessages.slice(endIndex + 1);
|
|
644
|
+
if (hadCurrentLatestMessages) {
|
|
645
|
+
latestSet = channel.state.messageSets.find(function (set) {
|
|
646
|
+
return set.isLatest;
|
|
647
|
+
});
|
|
648
|
+
if (latestSet) {
|
|
649
|
+
latestSet.messages = restOfMessages;
|
|
650
|
+
hasOverlappingRecentMessagesRef.current = true;
|
|
651
|
+
}
|
|
652
|
+
}
|
|
625
653
|
}
|
|
626
|
-
hadLatestMessages = channel.state.messages === channel.state.latestMessages;
|
|
627
|
-
recentMessage = currentMessages[currentMessages.length - 1];
|
|
628
|
-
channel.state.clearMessages();
|
|
629
|
-
channel.state.messages = currentMessages.slice(startIndex, endIndex);
|
|
630
|
-
stillHasLatestMessages = hadLatestMessages && channel.state.messages[channel.state.messages.length - 1] === recentMessage;
|
|
631
|
-
setHasNoMoreRecentMessagesToLoad(stillHasLatestMessages);
|
|
632
|
-
channel.state.setIsUpToDate(stillHasLatestMessages);
|
|
633
654
|
}
|
|
634
|
-
} else {
|
|
635
|
-
areLatestMessages = channel.state.messages === channel.state.latestMessages;
|
|
636
|
-
setHasNoMoreRecentMessagesToLoad(areLatestMessages);
|
|
637
|
-
channel.state.setIsUpToDate(areLatestMessages);
|
|
638
655
|
}
|
|
656
|
+
hasLatestMessages = channel.state.latestMessages.length > 0;
|
|
657
|
+
channel.state.setIsUpToDate(hasLatestMessages);
|
|
658
|
+
setHasNoMoreRecentMessagesToLoad(hasLatestMessages);
|
|
639
659
|
copyChannelState();
|
|
660
|
+
restartSetsMergeFuncRef.current();
|
|
640
661
|
onAfterQueryCall == null ? void 0 : onAfterQueryCall();
|
|
641
|
-
_context.next =
|
|
662
|
+
_context.next = 27;
|
|
642
663
|
break;
|
|
643
|
-
case
|
|
644
|
-
_context.prev =
|
|
664
|
+
case 22:
|
|
665
|
+
_context.prev = 22;
|
|
645
666
|
_context.t0 = _context["catch"](3);
|
|
646
667
|
if (_context.t0 instanceof Error) {
|
|
647
668
|
setError(_context.t0);
|
|
@@ -650,11 +671,11 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
650
671
|
}
|
|
651
672
|
setLoading(false);
|
|
652
673
|
setLastRead(new Date());
|
|
653
|
-
case
|
|
674
|
+
case 27:
|
|
654
675
|
case "end":
|
|
655
676
|
return _context.stop();
|
|
656
677
|
}
|
|
657
|
-
}, _callee, null, [[3,
|
|
678
|
+
}, _callee, null, [[3, 22]]);
|
|
658
679
|
}));
|
|
659
680
|
return function (_x) {
|
|
660
681
|
return _ref.apply(this, arguments);
|
|
@@ -664,63 +685,102 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
664
685
|
if (!channel) return;
|
|
665
686
|
var unreadMessageIdToScrollTo;
|
|
666
687
|
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2() {
|
|
667
|
-
var lastReadDate,
|
|
688
|
+
var unreadCount, isLatestMessageSetShown, lastReadDate, _res$messages$find, res;
|
|
668
689
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
669
690
|
while (1) switch (_context2.prev = _context2.next) {
|
|
670
691
|
case 0:
|
|
671
|
-
|
|
692
|
+
unreadCount = channel.countUnread();
|
|
693
|
+
if (!(unreadCount === 0)) {
|
|
694
|
+
_context2.next = 3;
|
|
695
|
+
break;
|
|
696
|
+
}
|
|
697
|
+
return _context2.abrupt("return");
|
|
698
|
+
case 3:
|
|
699
|
+
isLatestMessageSetShown = !!channel.state.messageSets.find(function (set) {
|
|
700
|
+
return set.isCurrent && set.isLatest;
|
|
701
|
+
});
|
|
702
|
+
if (!(isLatestMessageSetShown && unreadCount <= channel.state.messages.length)) {
|
|
703
|
+
_context2.next = 7;
|
|
704
|
+
break;
|
|
705
|
+
}
|
|
706
|
+
unreadMessageIdToScrollTo = channel.state.messages[channel.state.messages.length - unreadCount].id;
|
|
707
|
+
return _context2.abrupt("return");
|
|
708
|
+
case 7:
|
|
672
709
|
lastReadDate = channel.lastRead();
|
|
673
710
|
if (!lastReadDate) {
|
|
674
|
-
_context2.next =
|
|
711
|
+
_context2.next = 17;
|
|
675
712
|
break;
|
|
676
713
|
}
|
|
677
|
-
|
|
714
|
+
setLoading(true);
|
|
715
|
+
_context2.next = 12;
|
|
678
716
|
return channel.query({
|
|
679
717
|
messages: {
|
|
680
718
|
created_at_around: lastReadDate,
|
|
681
719
|
limit: 30
|
|
682
|
-
}
|
|
720
|
+
},
|
|
721
|
+
watch: true
|
|
683
722
|
}, 'new');
|
|
684
|
-
case
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
723
|
+
case 12:
|
|
724
|
+
res = _context2.sent;
|
|
725
|
+
unreadMessageIdToScrollTo = (_res$messages$find = res.messages.find(function (m) {
|
|
726
|
+
return lastReadDate < (m.created_at ? new Date(m.created_at) : new Date());
|
|
727
|
+
})) == null ? void 0 : _res$messages$find.id;
|
|
728
|
+
if (unreadMessageIdToScrollTo) {
|
|
729
|
+
channel.state.loadMessageIntoState(unreadMessageIdToScrollTo);
|
|
730
|
+
}
|
|
731
|
+
_context2.next = 19;
|
|
689
732
|
break;
|
|
690
|
-
case
|
|
691
|
-
_context2.next =
|
|
692
|
-
return
|
|
693
|
-
case
|
|
733
|
+
case 17:
|
|
734
|
+
_context2.next = 19;
|
|
735
|
+
return loadLatestMessagesRef.current();
|
|
736
|
+
case 19:
|
|
694
737
|
case "end":
|
|
695
738
|
return _context2.stop();
|
|
696
739
|
}
|
|
697
740
|
}, _callee2);
|
|
698
|
-
})), function () {
|
|
699
|
-
|
|
700
|
-
setTargetedMessage(unreadMessageIdToScrollTo);
|
|
701
|
-
}
|
|
741
|
+
})), undefined, function () {
|
|
742
|
+
return unreadMessageIdToScrollTo;
|
|
702
743
|
});
|
|
703
744
|
};
|
|
704
745
|
var loadChannelAroundMessage = function loadChannelAroundMessage(_ref4) {
|
|
705
746
|
var messageIdToLoadAround = _ref4.messageId;
|
|
706
747
|
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee3() {
|
|
748
|
+
var currentMessageSet, recentCurrentSetMsgId;
|
|
707
749
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
708
750
|
while (1) switch (_context3.prev = _context3.next) {
|
|
709
751
|
case 0:
|
|
710
752
|
setLoading(true);
|
|
711
753
|
if (!messageIdToLoadAround) {
|
|
712
|
-
_context3.next =
|
|
754
|
+
_context3.next = 12;
|
|
713
755
|
break;
|
|
714
756
|
}
|
|
715
|
-
|
|
757
|
+
setMessages([]);
|
|
758
|
+
_context3.next = 5;
|
|
716
759
|
return channel.state.loadMessageIntoState(messageIdToLoadAround);
|
|
717
|
-
case
|
|
718
|
-
|
|
760
|
+
case 5:
|
|
761
|
+
currentMessageSet = channel.state.messageSets.find(function (set) {
|
|
762
|
+
return set.isCurrent;
|
|
763
|
+
});
|
|
764
|
+
if (!(currentMessageSet && !(currentMessageSet != null && currentMessageSet.isLatest))) {
|
|
765
|
+
_context3.next = 10;
|
|
766
|
+
break;
|
|
767
|
+
}
|
|
768
|
+
recentCurrentSetMsgId = currentMessageSet.messages[currentMessageSet.messages.length - 1].id;
|
|
769
|
+
_context3.next = 10;
|
|
770
|
+
return channel.query({
|
|
771
|
+
messages: {
|
|
772
|
+
id_gte: recentCurrentSetMsgId,
|
|
773
|
+
limit: 25
|
|
774
|
+
},
|
|
775
|
+
watch: true
|
|
776
|
+
});
|
|
777
|
+
case 10:
|
|
778
|
+
_context3.next = 14;
|
|
719
779
|
break;
|
|
720
|
-
case
|
|
721
|
-
_context3.next =
|
|
722
|
-
return
|
|
723
|
-
case
|
|
780
|
+
case 12:
|
|
781
|
+
_context3.next = 14;
|
|
782
|
+
return loadLatestMessagesRef.current();
|
|
783
|
+
case 14:
|
|
724
784
|
case "end":
|
|
725
785
|
return _context3.stop();
|
|
726
786
|
}
|
|
@@ -758,123 +818,211 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
758
818
|
}, _callee4);
|
|
759
819
|
})));
|
|
760
820
|
};
|
|
821
|
+
var splitLatestCurrentMessageSetRef = (0, _react.useRef)(function () {
|
|
822
|
+
var currentLatestSet = channel.state.messageSets.find(function (set) {
|
|
823
|
+
return set.isCurrent && set.isLatest;
|
|
824
|
+
});
|
|
825
|
+
if (!currentLatestSet) return;
|
|
826
|
+
currentLatestSet.isLatest = false;
|
|
827
|
+
channel.state.messageSets.push({
|
|
828
|
+
isCurrent: false,
|
|
829
|
+
isLatest: true,
|
|
830
|
+
messages: []
|
|
831
|
+
});
|
|
832
|
+
});
|
|
833
|
+
var mergeOverlappingMessageSetsRef = (0, _react.useRef)(function () {
|
|
834
|
+
var limitToMaxRenderPerBatch = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
835
|
+
if (hasOverlappingRecentMessagesRef.current) {
|
|
836
|
+
var limit = 30;
|
|
837
|
+
var latestMessageSet = channel.state.messageSets.find(function (set) {
|
|
838
|
+
return set.isLatest;
|
|
839
|
+
});
|
|
840
|
+
var currentMessageSet = channel.state.messageSets.find(function (set) {
|
|
841
|
+
return set.isCurrent;
|
|
842
|
+
});
|
|
843
|
+
if (latestMessageSet && currentMessageSet && latestMessageSet !== currentMessageSet) {
|
|
844
|
+
if (limitToMaxRenderPerBatch && latestMessageSet.messages.length > limit) {
|
|
845
|
+
currentMessageSet.messages = currentMessageSet.messages.concat(latestMessageSet.messages.slice(0, limit));
|
|
846
|
+
latestMessageSet.messages = latestMessageSet.messages.slice(limit);
|
|
847
|
+
} else {
|
|
848
|
+
channel.state.messageSets = channel.state.messageSets.filter(function (set) {
|
|
849
|
+
return !set.isLatest;
|
|
850
|
+
});
|
|
851
|
+
currentMessageSet.messages = currentMessageSet.messages.concat(latestMessageSet.messages);
|
|
852
|
+
currentMessageSet.isLatest = true;
|
|
853
|
+
hasOverlappingRecentMessagesRef.current = false;
|
|
854
|
+
clearInterval(mergeSetsIntervalRef.current);
|
|
855
|
+
}
|
|
856
|
+
return true;
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
return false;
|
|
860
|
+
});
|
|
861
|
+
var mergeSetsIntervalRef = (0, _react.useRef)();
|
|
862
|
+
(0, _react.useEffect)(function () {
|
|
863
|
+
return function () {
|
|
864
|
+
clearInterval(mergeSetsIntervalRef.current);
|
|
865
|
+
};
|
|
866
|
+
}, []);
|
|
867
|
+
var restartSetsMergeFuncRef = (0, _react.useRef)(function () {
|
|
868
|
+
clearInterval(mergeSetsIntervalRef.current);
|
|
869
|
+
if (!hasOverlappingRecentMessagesRef.current) return;
|
|
870
|
+
mergeSetsIntervalRef.current = setInterval(function () {
|
|
871
|
+
var currentLength = channel.state.messages.length || 0;
|
|
872
|
+
var didMerge = mergeOverlappingMessageSetsRef.current(true);
|
|
873
|
+
if (didMerge && channel.state.messages.length !== currentLength) {
|
|
874
|
+
setMessages((0, _toConsumableArray2["default"])(channel.state.messages));
|
|
875
|
+
}
|
|
876
|
+
}, 1000);
|
|
877
|
+
});
|
|
878
|
+
var loadLatestMessagesRef = (0, _react.useRef)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee5() {
|
|
879
|
+
var clearLatest,
|
|
880
|
+
latestSet,
|
|
881
|
+
_args5 = arguments;
|
|
882
|
+
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
883
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
884
|
+
case 0:
|
|
885
|
+
clearLatest = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : false;
|
|
886
|
+
mergeOverlappingMessageSetsRef.current();
|
|
887
|
+
if (clearLatest) {
|
|
888
|
+
latestSet = channel.state.messageSets.find(function (set) {
|
|
889
|
+
return set.isLatest;
|
|
890
|
+
});
|
|
891
|
+
if (latestSet) latestSet.messages = [];
|
|
892
|
+
}
|
|
893
|
+
if (!(channel.state.latestMessages.length === 0)) {
|
|
894
|
+
_context5.next = 6;
|
|
895
|
+
break;
|
|
896
|
+
}
|
|
897
|
+
_context5.next = 6;
|
|
898
|
+
return channel.query({}, 'latest');
|
|
899
|
+
case 6:
|
|
900
|
+
_context5.next = 8;
|
|
901
|
+
return channel.state.loadMessageIntoState('latest');
|
|
902
|
+
case 8:
|
|
903
|
+
case "end":
|
|
904
|
+
return _context5.stop();
|
|
905
|
+
}
|
|
906
|
+
}, _callee5);
|
|
907
|
+
})));
|
|
761
908
|
var loadChannel = function loadChannel() {
|
|
762
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function
|
|
763
|
-
return _regenerator["default"].wrap(function
|
|
764
|
-
while (1) switch (
|
|
909
|
+
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee6() {
|
|
910
|
+
return _regenerator["default"].wrap(function _callee6$(_context6) {
|
|
911
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
765
912
|
case 0:
|
|
766
913
|
if (!(!(channel != null && channel.initialized) || !channel.state.isUpToDate)) {
|
|
767
|
-
|
|
914
|
+
_context6.next = 5;
|
|
768
915
|
break;
|
|
769
916
|
}
|
|
770
|
-
|
|
917
|
+
_context6.next = 3;
|
|
771
918
|
return channel == null ? void 0 : channel.watch();
|
|
772
919
|
case 3:
|
|
773
|
-
|
|
774
|
-
channel == null ? void 0 : channel.state.setIsUpToDate(true);
|
|
775
|
-
_context5.next = 9;
|
|
920
|
+
_context6.next = 7;
|
|
776
921
|
break;
|
|
922
|
+
case 5:
|
|
923
|
+
_context6.next = 7;
|
|
924
|
+
return loadLatestMessagesRef.current(true);
|
|
777
925
|
case 7:
|
|
778
|
-
|
|
779
|
-
|
|
926
|
+
channel == null ? void 0 : channel.state.setIsUpToDate(true);
|
|
927
|
+
setHasNoMoreRecentMessagesToLoad(true);
|
|
780
928
|
case 9:
|
|
781
|
-
return _context5.abrupt("return");
|
|
782
|
-
case 10:
|
|
783
929
|
case "end":
|
|
784
|
-
return
|
|
930
|
+
return _context6.stop();
|
|
785
931
|
}
|
|
786
|
-
},
|
|
932
|
+
}, _callee6);
|
|
787
933
|
})));
|
|
788
934
|
};
|
|
789
935
|
var reloadThread = function () {
|
|
790
|
-
var
|
|
936
|
+
var _ref10 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee7() {
|
|
791
937
|
var parentID, limit, queryResponse, updatedHasMore, updatedThreadMessages, _yield$channel$getMes, _messages, _messages2, threadMessage, formattedMessage;
|
|
792
|
-
return _regenerator["default"].wrap(function
|
|
793
|
-
while (1) switch (
|
|
938
|
+
return _regenerator["default"].wrap(function _callee7$(_context7) {
|
|
939
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
794
940
|
case 0:
|
|
795
941
|
if (!(!channel || !(thread != null && thread.id))) {
|
|
796
|
-
|
|
942
|
+
_context7.next = 2;
|
|
797
943
|
break;
|
|
798
944
|
}
|
|
799
|
-
return
|
|
945
|
+
return _context7.abrupt("return");
|
|
800
946
|
case 2:
|
|
801
947
|
setThreadLoadingMore(true);
|
|
802
|
-
|
|
948
|
+
_context7.prev = 3;
|
|
803
949
|
parentID = thread.id;
|
|
804
950
|
limit = 50;
|
|
805
951
|
channel.state.threads[parentID] = [];
|
|
806
|
-
|
|
952
|
+
_context7.next = 9;
|
|
807
953
|
return channel.getReplies(parentID, {
|
|
808
954
|
limit: limit
|
|
809
955
|
});
|
|
810
956
|
case 9:
|
|
811
|
-
queryResponse =
|
|
957
|
+
queryResponse = _context7.sent;
|
|
812
958
|
updatedHasMore = queryResponse.messages.length === limit;
|
|
813
959
|
updatedThreadMessages = channel.state.threads[parentID] || [];
|
|
814
960
|
loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
|
|
815
|
-
|
|
961
|
+
_context7.next = 15;
|
|
816
962
|
return channel.getMessagesById([parentID]);
|
|
817
963
|
case 15:
|
|
818
|
-
_yield$channel$getMes =
|
|
964
|
+
_yield$channel$getMes = _context7.sent;
|
|
819
965
|
_messages = _yield$channel$getMes.messages;
|
|
820
966
|
_messages2 = (0, _slicedToArray2["default"])(_messages, 1), threadMessage = _messages2[0];
|
|
821
967
|
if (threadMessage) {
|
|
822
968
|
formattedMessage = channel.state.formatMessage(threadMessage);
|
|
823
969
|
setThread(formattedMessage);
|
|
824
970
|
}
|
|
825
|
-
|
|
971
|
+
_context7.next = 27;
|
|
826
972
|
break;
|
|
827
973
|
case 21:
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
console.warn('Thread loading request failed with error',
|
|
831
|
-
if (
|
|
832
|
-
setError(
|
|
974
|
+
_context7.prev = 21;
|
|
975
|
+
_context7.t0 = _context7["catch"](3);
|
|
976
|
+
console.warn('Thread loading request failed with error', _context7.t0);
|
|
977
|
+
if (_context7.t0 instanceof Error) {
|
|
978
|
+
setError(_context7.t0);
|
|
833
979
|
} else {
|
|
834
980
|
setError(true);
|
|
835
981
|
}
|
|
836
982
|
setThreadLoadingMore(false);
|
|
837
|
-
throw
|
|
983
|
+
throw _context7.t0;
|
|
838
984
|
case 27:
|
|
839
985
|
case "end":
|
|
840
|
-
return
|
|
986
|
+
return _context7.stop();
|
|
841
987
|
}
|
|
842
|
-
},
|
|
988
|
+
}, _callee7, null, [[3, 21]]);
|
|
843
989
|
}));
|
|
844
990
|
return function reloadThread() {
|
|
845
|
-
return
|
|
991
|
+
return _ref10.apply(this, arguments);
|
|
846
992
|
};
|
|
847
993
|
}();
|
|
848
994
|
var resyncChannel = function () {
|
|
849
|
-
var
|
|
995
|
+
var _ref11 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee8() {
|
|
850
996
|
var _messages$, state, oldListTopMessage, oldListTopMessageId, oldListBottomMessage, newListTopMessage, newListBottomMessage, parseMessage, failedMessages, failedThreadMessages, oldListTopMessageCreatedAt, oldListBottomMessageCreatedAt, newListTopMessageCreatedAt, newListBottomMessageCreatedAt, finalMessages, index;
|
|
851
|
-
return _regenerator["default"].wrap(function
|
|
852
|
-
while (1) switch (
|
|
997
|
+
return _regenerator["default"].wrap(function _callee8$(_context8) {
|
|
998
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
853
999
|
case 0:
|
|
854
1000
|
if (!(!channel || syncingChannel)) {
|
|
855
|
-
|
|
1001
|
+
_context8.next = 2;
|
|
856
1002
|
break;
|
|
857
1003
|
}
|
|
858
|
-
return
|
|
1004
|
+
return _context8.abrupt("return");
|
|
859
1005
|
case 2:
|
|
1006
|
+
hasOverlappingRecentMessagesRef.current = false;
|
|
1007
|
+
clearInterval(mergeSetsIntervalRef.current);
|
|
860
1008
|
setSyncingChannel(true);
|
|
861
1009
|
setError(false);
|
|
862
|
-
|
|
863
|
-
|
|
1010
|
+
_context8.prev = 6;
|
|
1011
|
+
_context8.next = 9;
|
|
864
1012
|
return channel.watch({
|
|
865
1013
|
messages: {
|
|
866
1014
|
limit: messages.length + 30
|
|
867
1015
|
}
|
|
868
1016
|
});
|
|
869
|
-
case
|
|
870
|
-
state =
|
|
1017
|
+
case 9:
|
|
1018
|
+
state = _context8.sent;
|
|
871
1019
|
oldListTopMessage = messages[0];
|
|
872
1020
|
oldListTopMessageId = (_messages$ = messages[0]) == null ? void 0 : _messages$.id;
|
|
873
1021
|
oldListBottomMessage = messages[messages.length - 1];
|
|
874
1022
|
newListTopMessage = state.messages[0];
|
|
875
1023
|
newListBottomMessage = state.messages[state.messages.length - 1];
|
|
876
1024
|
if (!(!oldListTopMessage || !oldListBottomMessage || !newListTopMessage || !newListBottomMessage)) {
|
|
877
|
-
|
|
1025
|
+
_context8.next = 22;
|
|
878
1026
|
break;
|
|
879
1027
|
}
|
|
880
1028
|
channel.state.clearMessages();
|
|
@@ -882,8 +1030,8 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
882
1030
|
channel.state.addMessagesSorted(state.messages);
|
|
883
1031
|
channel.state.addPinnedMessages(state.pinned_messages);
|
|
884
1032
|
copyChannelState();
|
|
885
|
-
return
|
|
886
|
-
case
|
|
1033
|
+
return _context8.abrupt("return");
|
|
1034
|
+
case 22:
|
|
887
1035
|
parseMessage = function parseMessage(message) {
|
|
888
1036
|
var _message$pinned_at, _message$updated_at;
|
|
889
1037
|
return (0, _extends2["default"])({}, message, {
|
|
@@ -911,45 +1059,45 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
911
1059
|
} else {
|
|
912
1060
|
finalMessages = state.messages;
|
|
913
1061
|
}
|
|
914
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
915
1062
|
channel.state.setIsUpToDate(true);
|
|
916
1063
|
channel.state.clearMessages();
|
|
917
1064
|
channel.state.addMessagesSorted(finalMessages);
|
|
918
1065
|
channel.state.addPinnedMessages(state.pinned_messages);
|
|
1066
|
+
setHasNoMoreRecentMessagesToLoad(true);
|
|
919
1067
|
setHasMore(true);
|
|
920
1068
|
copyChannelState();
|
|
921
1069
|
if (failedMessages.length) {
|
|
922
1070
|
channel.state.addMessagesSorted(failedMessages);
|
|
923
1071
|
copyChannelState();
|
|
924
1072
|
}
|
|
925
|
-
|
|
1073
|
+
_context8.next = 41;
|
|
926
1074
|
return reloadThread();
|
|
927
|
-
case
|
|
1075
|
+
case 41:
|
|
928
1076
|
if (thread && failedThreadMessages.length) {
|
|
929
1077
|
channel.state.addMessagesSorted(failedThreadMessages);
|
|
930
1078
|
setThreadMessages((0, _toConsumableArray2["default"])(channel.state.threads[thread.id]));
|
|
931
1079
|
}
|
|
932
|
-
|
|
1080
|
+
_context8.next = 48;
|
|
933
1081
|
break;
|
|
934
|
-
case
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
if (
|
|
938
|
-
setError(
|
|
1082
|
+
case 44:
|
|
1083
|
+
_context8.prev = 44;
|
|
1084
|
+
_context8.t0 = _context8["catch"](6);
|
|
1085
|
+
if (_context8.t0 instanceof Error) {
|
|
1086
|
+
setError(_context8.t0);
|
|
939
1087
|
} else {
|
|
940
1088
|
setError(true);
|
|
941
1089
|
}
|
|
942
1090
|
setLoading(false);
|
|
943
|
-
case
|
|
1091
|
+
case 48:
|
|
944
1092
|
setSyncingChannel(false);
|
|
945
|
-
case
|
|
1093
|
+
case 49:
|
|
946
1094
|
case "end":
|
|
947
|
-
return
|
|
1095
|
+
return _context8.stop();
|
|
948
1096
|
}
|
|
949
|
-
},
|
|
1097
|
+
}, _callee8, null, [[6, 44]]);
|
|
950
1098
|
}));
|
|
951
1099
|
return function resyncChannel() {
|
|
952
|
-
return
|
|
1100
|
+
return _ref11.apply(this, arguments);
|
|
953
1101
|
};
|
|
954
1102
|
}();
|
|
955
1103
|
var resyncChannelRef = (0, _react.useRef)(resyncChannel);
|
|
@@ -975,85 +1123,87 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
975
1123
|
};
|
|
976
1124
|
}, [enableOfflineSupport, shouldSyncChannel]);
|
|
977
1125
|
var reloadChannel = function reloadChannel() {
|
|
978
|
-
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function
|
|
979
|
-
return _regenerator["default"].wrap(function
|
|
980
|
-
while (1) switch (
|
|
1126
|
+
return channelQueryCallRef.current((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee9() {
|
|
1127
|
+
return _regenerator["default"].wrap(function _callee9$(_context9) {
|
|
1128
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
981
1129
|
case 0:
|
|
982
1130
|
setLoading(true);
|
|
983
|
-
|
|
984
|
-
return
|
|
1131
|
+
_context9.next = 3;
|
|
1132
|
+
return loadLatestMessagesRef.current(true);
|
|
985
1133
|
case 3:
|
|
986
1134
|
setLoading(false);
|
|
987
|
-
setHasNoMoreRecentMessagesToLoad(true);
|
|
988
1135
|
channel == null ? void 0 : channel.state.setIsUpToDate(true);
|
|
1136
|
+
setHasNoMoreRecentMessagesToLoad(true);
|
|
989
1137
|
case 6:
|
|
990
1138
|
case "end":
|
|
991
|
-
return
|
|
1139
|
+
return _context9.stop();
|
|
992
1140
|
}
|
|
993
|
-
},
|
|
1141
|
+
}, _callee9);
|
|
994
1142
|
})));
|
|
995
1143
|
};
|
|
996
1144
|
var queryAtMessage = function () {
|
|
997
|
-
var
|
|
998
|
-
var
|
|
999
|
-
return _regenerator["default"].wrap(function
|
|
1000
|
-
while (1) switch (
|
|
1145
|
+
var _ref14 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee10(_ref13) {
|
|
1146
|
+
var _ref13$after, after, _ref13$before, before, messageId;
|
|
1147
|
+
return _regenerator["default"].wrap(function _callee10$(_context10) {
|
|
1148
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
1001
1149
|
case 0:
|
|
1002
|
-
|
|
1150
|
+
_ref13$after = _ref13.after, after = _ref13$after === void 0 ? 10 : _ref13$after, _ref13$before = _ref13.before, before = _ref13$before === void 0 ? 10 : _ref13$before, messageId = _ref13.messageId;
|
|
1003
1151
|
if (channel) {
|
|
1004
|
-
|
|
1152
|
+
_context10.next = 3;
|
|
1005
1153
|
break;
|
|
1006
1154
|
}
|
|
1007
|
-
return
|
|
1155
|
+
return _context10.abrupt("return");
|
|
1008
1156
|
case 3:
|
|
1009
1157
|
channel.state.setIsUpToDate(false);
|
|
1158
|
+
hasOverlappingRecentMessagesRef.current = false;
|
|
1159
|
+
clearInterval(mergeSetsIntervalRef.current);
|
|
1010
1160
|
channel.state.clearMessages();
|
|
1011
|
-
setMessages(
|
|
1161
|
+
setMessages([]);
|
|
1012
1162
|
if (messageId) {
|
|
1013
|
-
|
|
1163
|
+
_context10.next = 13;
|
|
1014
1164
|
break;
|
|
1015
1165
|
}
|
|
1016
|
-
|
|
1166
|
+
_context10.next = 11;
|
|
1017
1167
|
return channel.query({
|
|
1018
1168
|
messages: {
|
|
1019
1169
|
limit: before
|
|
1020
1170
|
},
|
|
1021
1171
|
watch: true
|
|
1022
1172
|
});
|
|
1023
|
-
case 9:
|
|
1024
|
-
channel.state.setIsUpToDate(true);
|
|
1025
|
-
return _context9.abrupt("return");
|
|
1026
1173
|
case 11:
|
|
1027
|
-
|
|
1028
|
-
return
|
|
1174
|
+
channel.state.setIsUpToDate(true);
|
|
1175
|
+
return _context10.abrupt("return");
|
|
1029
1176
|
case 13:
|
|
1030
|
-
|
|
1031
|
-
return
|
|
1177
|
+
_context10.next = 15;
|
|
1178
|
+
return queryBeforeMessage(messageId, before);
|
|
1032
1179
|
case 15:
|
|
1180
|
+
_context10.next = 17;
|
|
1181
|
+
return queryAfterMessage(messageId, after);
|
|
1182
|
+
case 17:
|
|
1033
1183
|
case "end":
|
|
1034
|
-
return
|
|
1184
|
+
return _context10.stop();
|
|
1035
1185
|
}
|
|
1036
|
-
},
|
|
1186
|
+
}, _callee10);
|
|
1037
1187
|
}));
|
|
1038
1188
|
return function queryAtMessage(_x2) {
|
|
1039
|
-
return
|
|
1189
|
+
return _ref14.apply(this, arguments);
|
|
1040
1190
|
};
|
|
1041
1191
|
}();
|
|
1042
1192
|
var queryBeforeMessage = function () {
|
|
1043
|
-
var
|
|
1193
|
+
var _ref15 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee11(messageId) {
|
|
1044
1194
|
var limit,
|
|
1045
|
-
|
|
1046
|
-
return _regenerator["default"].wrap(function
|
|
1047
|
-
while (1) switch (
|
|
1195
|
+
_args11 = arguments;
|
|
1196
|
+
return _regenerator["default"].wrap(function _callee11$(_context11) {
|
|
1197
|
+
while (1) switch (_context11.prev = _context11.next) {
|
|
1048
1198
|
case 0:
|
|
1049
|
-
limit =
|
|
1199
|
+
limit = _args11.length > 1 && _args11[1] !== undefined ? _args11[1] : 5;
|
|
1050
1200
|
if (channel) {
|
|
1051
|
-
|
|
1201
|
+
_context11.next = 3;
|
|
1052
1202
|
break;
|
|
1053
1203
|
}
|
|
1054
|
-
return
|
|
1204
|
+
return _context11.abrupt("return");
|
|
1055
1205
|
case 3:
|
|
1056
|
-
|
|
1206
|
+
_context11.next = 5;
|
|
1057
1207
|
return channel.query({
|
|
1058
1208
|
messages: {
|
|
1059
1209
|
id_lt: messageId,
|
|
@@ -1065,30 +1215,31 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1065
1215
|
channel.state.setIsUpToDate(false);
|
|
1066
1216
|
case 6:
|
|
1067
1217
|
case "end":
|
|
1068
|
-
return
|
|
1218
|
+
return _context11.stop();
|
|
1069
1219
|
}
|
|
1070
|
-
},
|
|
1220
|
+
}, _callee11);
|
|
1071
1221
|
}));
|
|
1072
1222
|
return function queryBeforeMessage(_x3) {
|
|
1073
|
-
return
|
|
1223
|
+
return _ref15.apply(this, arguments);
|
|
1074
1224
|
};
|
|
1075
1225
|
}();
|
|
1076
1226
|
var queryAfterMessage = function () {
|
|
1077
|
-
var
|
|
1227
|
+
var _ref16 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee12(messageId) {
|
|
1078
1228
|
var limit,
|
|
1079
1229
|
state,
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1230
|
+
currentSet,
|
|
1231
|
+
_args12 = arguments;
|
|
1232
|
+
return _regenerator["default"].wrap(function _callee12$(_context12) {
|
|
1233
|
+
while (1) switch (_context12.prev = _context12.next) {
|
|
1083
1234
|
case 0:
|
|
1084
|
-
limit =
|
|
1235
|
+
limit = _args12.length > 1 && _args12[1] !== undefined ? _args12[1] : 5;
|
|
1085
1236
|
if (channel) {
|
|
1086
|
-
|
|
1237
|
+
_context12.next = 3;
|
|
1087
1238
|
break;
|
|
1088
1239
|
}
|
|
1089
|
-
return
|
|
1240
|
+
return _context12.abrupt("return");
|
|
1090
1241
|
case 3:
|
|
1091
|
-
|
|
1242
|
+
_context12.next = 5;
|
|
1092
1243
|
return channel.query({
|
|
1093
1244
|
messages: {
|
|
1094
1245
|
id_gte: messageId,
|
|
@@ -1097,20 +1248,32 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1097
1248
|
watch: true
|
|
1098
1249
|
});
|
|
1099
1250
|
case 5:
|
|
1100
|
-
state =
|
|
1251
|
+
state = _context12.sent;
|
|
1101
1252
|
if (state.messages.length < limit) {
|
|
1253
|
+
currentSet = channel.state.messageSets.find(function (set) {
|
|
1254
|
+
return set.isCurrent;
|
|
1255
|
+
});
|
|
1256
|
+
if (currentSet && !currentSet.isLatest) {
|
|
1257
|
+
channel.state.messageSets = channel.state.messageSets.filter(function (set) {
|
|
1258
|
+
return !set.isLatest;
|
|
1259
|
+
});
|
|
1260
|
+
currentSet.isLatest = true;
|
|
1261
|
+
}
|
|
1102
1262
|
channel.state.setIsUpToDate(true);
|
|
1263
|
+
setHasNoMoreRecentMessagesToLoad(true);
|
|
1103
1264
|
} else {
|
|
1265
|
+
splitLatestCurrentMessageSetRef.current();
|
|
1104
1266
|
channel.state.setIsUpToDate(false);
|
|
1267
|
+
setHasNoMoreRecentMessagesToLoad(false);
|
|
1105
1268
|
}
|
|
1106
1269
|
case 7:
|
|
1107
1270
|
case "end":
|
|
1108
|
-
return
|
|
1271
|
+
return _context12.stop();
|
|
1109
1272
|
}
|
|
1110
|
-
},
|
|
1273
|
+
}, _callee12);
|
|
1111
1274
|
}));
|
|
1112
1275
|
return function queryAfterMessage(_x4) {
|
|
1113
|
-
return
|
|
1276
|
+
return _ref16.apply(this, arguments);
|
|
1114
1277
|
};
|
|
1115
1278
|
}();
|
|
1116
1279
|
var getChannelConfigSafely = function getChannelConfigSafely() {
|
|
@@ -1143,12 +1306,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1143
1306
|
setMessages(channel.state.messages);
|
|
1144
1307
|
}
|
|
1145
1308
|
};
|
|
1146
|
-
var createMessagePreview = function createMessagePreview(
|
|
1147
|
-
var attachments =
|
|
1148
|
-
mentioned_users =
|
|
1149
|
-
parent_id =
|
|
1150
|
-
text =
|
|
1151
|
-
extraFields = (0, _objectWithoutProperties2["default"])(
|
|
1309
|
+
var createMessagePreview = function createMessagePreview(_ref17) {
|
|
1310
|
+
var attachments = _ref17.attachments,
|
|
1311
|
+
mentioned_users = _ref17.mentioned_users,
|
|
1312
|
+
parent_id = _ref17.parent_id,
|
|
1313
|
+
text = _ref17.text,
|
|
1314
|
+
extraFields = (0, _objectWithoutProperties2["default"])(_ref17, _excluded);
|
|
1152
1315
|
var _client$user2 = client.user,
|
|
1153
1316
|
channel_mutes = _client$user2.channel_mutes,
|
|
1154
1317
|
devices = _client$user2.devices,
|
|
@@ -1183,28 +1346,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1183
1346
|
return preview;
|
|
1184
1347
|
};
|
|
1185
1348
|
var uploadPendingAttachments = function () {
|
|
1186
|
-
var
|
|
1349
|
+
var _ref18 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee13(message) {
|
|
1187
1350
|
var _updatedMessage$attac;
|
|
1188
1351
|
var updatedMessage, i, _updatedMessage$attac2, attachment, image, file, _image$name, filename, controller, compressedUri, contentType, uploadResponse, _controller, response;
|
|
1189
|
-
return _regenerator["default"].wrap(function
|
|
1190
|
-
while (1) switch (
|
|
1352
|
+
return _regenerator["default"].wrap(function _callee13$(_context13) {
|
|
1353
|
+
while (1) switch (_context13.prev = _context13.next) {
|
|
1191
1354
|
case 0:
|
|
1192
1355
|
updatedMessage = (0, _extends2["default"])({}, message);
|
|
1193
1356
|
if (!((_updatedMessage$attac = updatedMessage.attachments) != null && _updatedMessage$attac.length)) {
|
|
1194
|
-
|
|
1357
|
+
_context13.next = 48;
|
|
1195
1358
|
break;
|
|
1196
1359
|
}
|
|
1197
1360
|
i = 0;
|
|
1198
1361
|
case 3:
|
|
1199
1362
|
if (!(i < ((_updatedMessage$attac2 = updatedMessage.attachments) == null ? void 0 : _updatedMessage$attac2.length))) {
|
|
1200
|
-
|
|
1363
|
+
_context13.next = 48;
|
|
1201
1364
|
break;
|
|
1202
1365
|
}
|
|
1203
1366
|
attachment = updatedMessage.attachments[i];
|
|
1204
1367
|
image = attachment.originalImage;
|
|
1205
1368
|
file = attachment.originalFile;
|
|
1206
1369
|
if (!(attachment.type === 'image' && image != null && image.uri && attachment.image_url && (0, _utils.isLocalUrl)(attachment.image_url))) {
|
|
1207
|
-
|
|
1370
|
+
_context13.next = 28;
|
|
1208
1371
|
break;
|
|
1209
1372
|
}
|
|
1210
1373
|
filename = (_image$name = image.name) != null ? _image$name : image.uri.replace(/^(file:\/\/|content:\/\/)/, '');
|
|
@@ -1213,28 +1376,28 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1213
1376
|
controller.abort();
|
|
1214
1377
|
uploadAbortControllerRef.current["delete"](filename);
|
|
1215
1378
|
}
|
|
1216
|
-
|
|
1379
|
+
_context13.next = 13;
|
|
1217
1380
|
return (0, _compressImage.compressedImageURI)(image, compressImageQuality);
|
|
1218
1381
|
case 13:
|
|
1219
|
-
compressedUri =
|
|
1382
|
+
compressedUri = _context13.sent;
|
|
1220
1383
|
contentType = (0, _mimeTypes.lookup)(filename) || 'multipart/form-data';
|
|
1221
1384
|
if (!doImageUploadRequest) {
|
|
1222
|
-
|
|
1385
|
+
_context13.next = 21;
|
|
1223
1386
|
break;
|
|
1224
1387
|
}
|
|
1225
|
-
|
|
1388
|
+
_context13.next = 18;
|
|
1226
1389
|
return doImageUploadRequest(image, channel);
|
|
1227
1390
|
case 18:
|
|
1228
|
-
|
|
1229
|
-
|
|
1391
|
+
_context13.t0 = _context13.sent;
|
|
1392
|
+
_context13.next = 24;
|
|
1230
1393
|
break;
|
|
1231
1394
|
case 21:
|
|
1232
|
-
|
|
1395
|
+
_context13.next = 23;
|
|
1233
1396
|
return channel.sendImage(compressedUri, filename, contentType);
|
|
1234
1397
|
case 23:
|
|
1235
|
-
|
|
1398
|
+
_context13.t0 = _context13.sent;
|
|
1236
1399
|
case 24:
|
|
1237
|
-
uploadResponse =
|
|
1400
|
+
uploadResponse = _context13.t0;
|
|
1238
1401
|
attachment.image_url = uploadResponse.file;
|
|
1239
1402
|
delete attachment.originalFile;
|
|
1240
1403
|
dbApi.updateMessage({
|
|
@@ -1244,7 +1407,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1244
1407
|
});
|
|
1245
1408
|
case 28:
|
|
1246
1409
|
if (!((attachment.type === 'file' || attachment.type === 'audio' || attachment.type === 'video') && attachment.asset_url && (0, _utils.isLocalUrl)(attachment.asset_url) && file != null && file.uri)) {
|
|
1247
|
-
|
|
1410
|
+
_context13.next = 45;
|
|
1248
1411
|
break;
|
|
1249
1412
|
}
|
|
1250
1413
|
_controller = uploadAbortControllerRef.current.get(file.name);
|
|
@@ -1253,22 +1416,22 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1253
1416
|
uploadAbortControllerRef.current["delete"](file.name);
|
|
1254
1417
|
}
|
|
1255
1418
|
if (!doDocUploadRequest) {
|
|
1256
|
-
|
|
1419
|
+
_context13.next = 37;
|
|
1257
1420
|
break;
|
|
1258
1421
|
}
|
|
1259
|
-
|
|
1422
|
+
_context13.next = 34;
|
|
1260
1423
|
return doDocUploadRequest(file, channel);
|
|
1261
1424
|
case 34:
|
|
1262
|
-
|
|
1263
|
-
|
|
1425
|
+
_context13.t1 = _context13.sent;
|
|
1426
|
+
_context13.next = 40;
|
|
1264
1427
|
break;
|
|
1265
1428
|
case 37:
|
|
1266
|
-
|
|
1429
|
+
_context13.next = 39;
|
|
1267
1430
|
return channel.sendFile(file.uri, file.name, file.mimeType);
|
|
1268
1431
|
case 39:
|
|
1269
|
-
|
|
1432
|
+
_context13.t1 = _context13.sent;
|
|
1270
1433
|
case 40:
|
|
1271
|
-
response =
|
|
1434
|
+
response = _context13.t1;
|
|
1272
1435
|
attachment.asset_url = response.file;
|
|
1273
1436
|
if (response.thumb_url) {
|
|
1274
1437
|
attachment.thumb_url = response.thumb_url;
|
|
@@ -1281,37 +1444,37 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1281
1444
|
});
|
|
1282
1445
|
case 45:
|
|
1283
1446
|
i++;
|
|
1284
|
-
|
|
1447
|
+
_context13.next = 3;
|
|
1285
1448
|
break;
|
|
1286
1449
|
case 48:
|
|
1287
|
-
return
|
|
1450
|
+
return _context13.abrupt("return", updatedMessage);
|
|
1288
1451
|
case 49:
|
|
1289
1452
|
case "end":
|
|
1290
|
-
return
|
|
1453
|
+
return _context13.stop();
|
|
1291
1454
|
}
|
|
1292
|
-
},
|
|
1455
|
+
}, _callee13);
|
|
1293
1456
|
}));
|
|
1294
1457
|
return function uploadPendingAttachments(_x5) {
|
|
1295
|
-
return
|
|
1458
|
+
return _ref18.apply(this, arguments);
|
|
1296
1459
|
};
|
|
1297
1460
|
}();
|
|
1298
1461
|
var sendMessageRequest = function () {
|
|
1299
|
-
var
|
|
1462
|
+
var _ref19 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee14(message, retrying) {
|
|
1300
1463
|
var _updatedMessage, __html, attachments, created_at, deleted_at, html, id, latest_reactions, mentioned_users, own_reactions, parent_id, quoted_message, reaction_counts, reactions, status, text, type, updated_at, user, extraFields, mentionedUserIds, _messageData, messageResponse;
|
|
1301
|
-
return _regenerator["default"].wrap(function
|
|
1302
|
-
while (1) switch (
|
|
1464
|
+
return _regenerator["default"].wrap(function _callee14$(_context14) {
|
|
1465
|
+
while (1) switch (_context14.prev = _context14.next) {
|
|
1303
1466
|
case 0:
|
|
1304
|
-
|
|
1305
|
-
|
|
1467
|
+
_context14.prev = 0;
|
|
1468
|
+
_context14.next = 3;
|
|
1306
1469
|
return uploadPendingAttachments(message);
|
|
1307
1470
|
case 3:
|
|
1308
|
-
_updatedMessage =
|
|
1471
|
+
_updatedMessage = _context14.sent;
|
|
1309
1472
|
__html = _updatedMessage.__html, attachments = _updatedMessage.attachments, created_at = _updatedMessage.created_at, deleted_at = _updatedMessage.deleted_at, html = _updatedMessage.html, id = _updatedMessage.id, latest_reactions = _updatedMessage.latest_reactions, mentioned_users = _updatedMessage.mentioned_users, own_reactions = _updatedMessage.own_reactions, parent_id = _updatedMessage.parent_id, quoted_message = _updatedMessage.quoted_message, reaction_counts = _updatedMessage.reaction_counts, reactions = _updatedMessage.reactions, status = _updatedMessage.status, text = _updatedMessage.text, type = _updatedMessage.type, updated_at = _updatedMessage.updated_at, user = _updatedMessage.user, extraFields = (0, _objectWithoutProperties2["default"])(_updatedMessage, _excluded3);
|
|
1310
1473
|
if (channel.id) {
|
|
1311
|
-
|
|
1474
|
+
_context14.next = 7;
|
|
1312
1475
|
break;
|
|
1313
1476
|
}
|
|
1314
|
-
return
|
|
1477
|
+
return _context14.abrupt("return");
|
|
1315
1478
|
case 7:
|
|
1316
1479
|
mentionedUserIds = (mentioned_users == null ? void 0 : mentioned_users.map(function (user) {
|
|
1317
1480
|
return user.id;
|
|
@@ -1325,24 +1488,24 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1325
1488
|
}, extraFields);
|
|
1326
1489
|
messageResponse = {};
|
|
1327
1490
|
if (!doSendMessageRequest) {
|
|
1328
|
-
|
|
1491
|
+
_context14.next = 16;
|
|
1329
1492
|
break;
|
|
1330
1493
|
}
|
|
1331
|
-
|
|
1494
|
+
_context14.next = 13;
|
|
1332
1495
|
return doSendMessageRequest((channel == null ? void 0 : channel.cid) || '', _messageData);
|
|
1333
1496
|
case 13:
|
|
1334
|
-
messageResponse =
|
|
1335
|
-
|
|
1497
|
+
messageResponse = _context14.sent;
|
|
1498
|
+
_context14.next = 20;
|
|
1336
1499
|
break;
|
|
1337
1500
|
case 16:
|
|
1338
1501
|
if (!channel) {
|
|
1339
|
-
|
|
1502
|
+
_context14.next = 20;
|
|
1340
1503
|
break;
|
|
1341
1504
|
}
|
|
1342
|
-
|
|
1505
|
+
_context14.next = 19;
|
|
1343
1506
|
return channel.sendMessage(_messageData);
|
|
1344
1507
|
case 19:
|
|
1345
|
-
messageResponse =
|
|
1508
|
+
messageResponse = _context14.sent;
|
|
1346
1509
|
case 20:
|
|
1347
1510
|
if (messageResponse.message) {
|
|
1348
1511
|
messageResponse.message.status = _utils.MessageStatusTypes.RECEIVED;
|
|
@@ -1359,12 +1522,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1359
1522
|
updateMessage(messageResponse.message);
|
|
1360
1523
|
}
|
|
1361
1524
|
}
|
|
1362
|
-
|
|
1525
|
+
_context14.next = 29;
|
|
1363
1526
|
break;
|
|
1364
1527
|
case 23:
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
console.log(
|
|
1528
|
+
_context14.prev = 23;
|
|
1529
|
+
_context14.t0 = _context14["catch"](0);
|
|
1530
|
+
console.log(_context14.t0);
|
|
1368
1531
|
message.status = _utils.MessageStatusTypes.FAILED;
|
|
1369
1532
|
updateMessage((0, _extends2["default"])({}, message, {
|
|
1370
1533
|
cid: channel.cid
|
|
@@ -1378,20 +1541,20 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1378
1541
|
}
|
|
1379
1542
|
case 29:
|
|
1380
1543
|
case "end":
|
|
1381
|
-
return
|
|
1544
|
+
return _context14.stop();
|
|
1382
1545
|
}
|
|
1383
|
-
},
|
|
1546
|
+
}, _callee14, null, [[0, 23]]);
|
|
1384
1547
|
}));
|
|
1385
1548
|
return function sendMessageRequest(_x6, _x7) {
|
|
1386
|
-
return
|
|
1549
|
+
return _ref19.apply(this, arguments);
|
|
1387
1550
|
};
|
|
1388
1551
|
}();
|
|
1389
1552
|
var sendMessage = function () {
|
|
1390
|
-
var
|
|
1553
|
+
var _ref20 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee15(message) {
|
|
1391
1554
|
var _channel$state;
|
|
1392
1555
|
var messagePreview;
|
|
1393
|
-
return _regenerator["default"].wrap(function
|
|
1394
|
-
while (1) switch (
|
|
1556
|
+
return _regenerator["default"].wrap(function _callee15$(_context15) {
|
|
1557
|
+
while (1) switch (_context15.prev = _context15.next) {
|
|
1395
1558
|
case 0:
|
|
1396
1559
|
if (channel != null && (_channel$state = channel.state) != null && _channel$state.filterErrorMessages) {
|
|
1397
1560
|
channel.state.filterErrorMessages();
|
|
@@ -1399,13 +1562,14 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1399
1562
|
messagePreview = createMessagePreview((0, _extends2["default"])({}, message, {
|
|
1400
1563
|
attachments: message.attachments || []
|
|
1401
1564
|
}));
|
|
1565
|
+
mergeOverlappingMessageSetsRef.current();
|
|
1402
1566
|
if (channel != null && channel.state.isUpToDate) {
|
|
1403
|
-
|
|
1567
|
+
_context15.next = 6;
|
|
1404
1568
|
break;
|
|
1405
1569
|
}
|
|
1406
|
-
|
|
1570
|
+
_context15.next = 6;
|
|
1407
1571
|
return reloadChannel();
|
|
1408
|
-
case
|
|
1572
|
+
case 6:
|
|
1409
1573
|
updateMessage(messagePreview, {
|
|
1410
1574
|
commands: [],
|
|
1411
1575
|
messageInput: ''
|
|
@@ -1418,86 +1582,87 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1418
1582
|
})]
|
|
1419
1583
|
});
|
|
1420
1584
|
}
|
|
1421
|
-
|
|
1585
|
+
_context15.next = 10;
|
|
1422
1586
|
return sendMessageRequest(messagePreview);
|
|
1423
|
-
case
|
|
1587
|
+
case 10:
|
|
1424
1588
|
case "end":
|
|
1425
|
-
return
|
|
1589
|
+
return _context15.stop();
|
|
1426
1590
|
}
|
|
1427
|
-
},
|
|
1591
|
+
}, _callee15);
|
|
1428
1592
|
}));
|
|
1429
1593
|
return function sendMessage(_x8) {
|
|
1430
|
-
return
|
|
1594
|
+
return _ref20.apply(this, arguments);
|
|
1431
1595
|
};
|
|
1432
1596
|
}();
|
|
1433
1597
|
var retrySendMessage = function () {
|
|
1434
|
-
var
|
|
1598
|
+
var _ref21 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee16(message) {
|
|
1435
1599
|
var statusPendingMessage;
|
|
1436
|
-
return _regenerator["default"].wrap(function
|
|
1437
|
-
while (1) switch (
|
|
1600
|
+
return _regenerator["default"].wrap(function _callee16$(_context16) {
|
|
1601
|
+
while (1) switch (_context16.prev = _context16.next) {
|
|
1438
1602
|
case 0:
|
|
1439
1603
|
statusPendingMessage = (0, _extends2["default"])({}, message, {
|
|
1440
1604
|
status: _utils.MessageStatusTypes.SENDING
|
|
1441
1605
|
});
|
|
1442
1606
|
updateMessage(statusPendingMessage);
|
|
1443
|
-
|
|
1607
|
+
_context16.next = 4;
|
|
1444
1608
|
return sendMessageRequest(statusPendingMessage, true);
|
|
1445
1609
|
case 4:
|
|
1446
1610
|
case "end":
|
|
1447
|
-
return
|
|
1611
|
+
return _context16.stop();
|
|
1448
1612
|
}
|
|
1449
|
-
},
|
|
1613
|
+
}, _callee16);
|
|
1450
1614
|
}));
|
|
1451
1615
|
return function retrySendMessage(_x9) {
|
|
1452
|
-
return
|
|
1616
|
+
return _ref21.apply(this, arguments);
|
|
1453
1617
|
};
|
|
1454
1618
|
}();
|
|
1455
1619
|
var loadMoreFinished = (0, _react.useRef)((0, _debounce["default"])(function (updatedHasMore, newMessages) {
|
|
1620
|
+
setLoading(false);
|
|
1456
1621
|
setLoadingMore(false);
|
|
1457
1622
|
setError(false);
|
|
1458
1623
|
setHasMore(updatedHasMore);
|
|
1459
1624
|
setMessages(newMessages);
|
|
1460
1625
|
}, defaultDebounceInterval, debounceOptions)).current;
|
|
1461
|
-
var loadMore = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function
|
|
1626
|
+
var loadMore = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee17() {
|
|
1462
1627
|
var limit,
|
|
1463
1628
|
currentMessages,
|
|
1464
1629
|
oldestMessage,
|
|
1465
1630
|
oldestID,
|
|
1466
1631
|
queryResponse,
|
|
1467
1632
|
updatedHasMore,
|
|
1468
|
-
|
|
1469
|
-
return _regenerator["default"].wrap(function
|
|
1470
|
-
while (1) switch (
|
|
1633
|
+
_args17 = arguments;
|
|
1634
|
+
return _regenerator["default"].wrap(function _callee17$(_context17) {
|
|
1635
|
+
while (1) switch (_context17.prev = _context17.next) {
|
|
1471
1636
|
case 0:
|
|
1472
|
-
limit =
|
|
1637
|
+
limit = _args17.length > 0 && _args17[0] !== undefined ? _args17[0] : 20;
|
|
1473
1638
|
if (!(loadingMore || hasMore === false)) {
|
|
1474
|
-
|
|
1639
|
+
_context17.next = 3;
|
|
1475
1640
|
break;
|
|
1476
1641
|
}
|
|
1477
|
-
return
|
|
1642
|
+
return _context17.abrupt("return");
|
|
1478
1643
|
case 3:
|
|
1479
|
-
|
|
1480
|
-
currentMessages = messagesRef.current;
|
|
1644
|
+
currentMessages = channel.state.messages;
|
|
1481
1645
|
if (currentMessages.length) {
|
|
1482
|
-
|
|
1646
|
+
_context17.next = 6;
|
|
1483
1647
|
break;
|
|
1484
1648
|
}
|
|
1485
|
-
return
|
|
1486
|
-
case
|
|
1649
|
+
return _context17.abrupt("return", setLoadingMore(false));
|
|
1650
|
+
case 6:
|
|
1487
1651
|
oldestMessage = currentMessages && currentMessages[0];
|
|
1488
1652
|
if (!(oldestMessage && oldestMessage.status !== _utils.MessageStatusTypes.RECEIVED)) {
|
|
1489
|
-
|
|
1653
|
+
_context17.next = 9;
|
|
1490
1654
|
break;
|
|
1491
1655
|
}
|
|
1492
|
-
return
|
|
1493
|
-
case
|
|
1656
|
+
return _context17.abrupt("return", setLoadingMore(false));
|
|
1657
|
+
case 9:
|
|
1658
|
+
setLoadingMore(true);
|
|
1494
1659
|
oldestID = oldestMessage && oldestMessage.id;
|
|
1495
|
-
|
|
1660
|
+
_context17.prev = 11;
|
|
1496
1661
|
if (!channel) {
|
|
1497
|
-
|
|
1662
|
+
_context17.next = 18;
|
|
1498
1663
|
break;
|
|
1499
1664
|
}
|
|
1500
|
-
|
|
1665
|
+
_context17.next = 15;
|
|
1501
1666
|
return channel.query({
|
|
1502
1667
|
messages: {
|
|
1503
1668
|
id_lt: oldestID,
|
|
@@ -1505,60 +1670,86 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1505
1670
|
}
|
|
1506
1671
|
});
|
|
1507
1672
|
case 15:
|
|
1508
|
-
queryResponse =
|
|
1673
|
+
queryResponse = _context17.sent;
|
|
1509
1674
|
updatedHasMore = queryResponse.messages.length === limit;
|
|
1510
1675
|
loadMoreFinished(updatedHasMore, channel.state.messages);
|
|
1511
1676
|
case 18:
|
|
1512
|
-
|
|
1677
|
+
_context17.next = 25;
|
|
1513
1678
|
break;
|
|
1514
1679
|
case 20:
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
if (
|
|
1518
|
-
setError(
|
|
1680
|
+
_context17.prev = 20;
|
|
1681
|
+
_context17.t0 = _context17["catch"](11);
|
|
1682
|
+
if (_context17.t0 instanceof Error) {
|
|
1683
|
+
setError(_context17.t0);
|
|
1519
1684
|
} else {
|
|
1520
1685
|
setError(true);
|
|
1521
1686
|
}
|
|
1522
1687
|
setLoadingMore(false);
|
|
1523
|
-
throw
|
|
1688
|
+
throw _context17.t0;
|
|
1524
1689
|
case 25:
|
|
1525
1690
|
case "end":
|
|
1526
|
-
return
|
|
1691
|
+
return _context17.stop();
|
|
1527
1692
|
}
|
|
1528
|
-
},
|
|
1693
|
+
}, _callee17, null, [[11, 20]]);
|
|
1529
1694
|
})), [channelId, hasMore, loadingMore]);
|
|
1530
|
-
var loadMoreRecent = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function
|
|
1695
|
+
var loadMoreRecent = (0, _react.useCallback)((0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee18() {
|
|
1531
1696
|
var limit,
|
|
1697
|
+
latestMessageSet,
|
|
1698
|
+
latestLengthBeforeMerge,
|
|
1699
|
+
didMerge,
|
|
1532
1700
|
currentMessages,
|
|
1533
1701
|
recentMessage,
|
|
1534
1702
|
queryResponse,
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1703
|
+
gotAllRecentMessages,
|
|
1704
|
+
currentSet,
|
|
1705
|
+
_args18 = arguments;
|
|
1706
|
+
return _regenerator["default"].wrap(function _callee18$(_context18) {
|
|
1707
|
+
while (1) switch (_context18.prev = _context18.next) {
|
|
1538
1708
|
case 0:
|
|
1539
|
-
limit =
|
|
1540
|
-
|
|
1541
|
-
|
|
1709
|
+
limit = _args18.length > 0 && _args18[0] !== undefined ? _args18[0] : 5;
|
|
1710
|
+
latestMessageSet = channel.state.messageSets.find(function (set) {
|
|
1711
|
+
return set.isLatest;
|
|
1712
|
+
});
|
|
1713
|
+
latestLengthBeforeMerge = (latestMessageSet == null ? void 0 : latestMessageSet.messages.length) || 0;
|
|
1714
|
+
didMerge = mergeOverlappingMessageSetsRef.current(true);
|
|
1715
|
+
if (!didMerge) {
|
|
1716
|
+
_context18.next = 12;
|
|
1717
|
+
break;
|
|
1718
|
+
}
|
|
1719
|
+
if (!(latestMessageSet && latestLengthBeforeMerge >= limit)) {
|
|
1720
|
+
_context18.next = 12;
|
|
1542
1721
|
break;
|
|
1543
1722
|
}
|
|
1544
|
-
return _context17.abrupt("return");
|
|
1545
|
-
case 3:
|
|
1546
1723
|
setLoadingMoreRecent(true);
|
|
1547
|
-
|
|
1724
|
+
channel.state.setIsUpToDate(true);
|
|
1725
|
+
setHasNoMoreRecentMessagesToLoad(true);
|
|
1726
|
+
loadMoreRecentFinished(channel.state.messages);
|
|
1727
|
+
restartSetsMergeFuncRef.current();
|
|
1728
|
+
return _context18.abrupt("return");
|
|
1729
|
+
case 12:
|
|
1730
|
+
if (!channel.state.isUpToDate) {
|
|
1731
|
+
_context18.next = 15;
|
|
1732
|
+
break;
|
|
1733
|
+
}
|
|
1734
|
+
setLoadingMoreRecent(false);
|
|
1735
|
+
return _context18.abrupt("return");
|
|
1736
|
+
case 15:
|
|
1737
|
+
currentMessages = channel.state.messages;
|
|
1548
1738
|
recentMessage = currentMessages[currentMessages.length - 1];
|
|
1549
1739
|
if (!((recentMessage == null ? void 0 : recentMessage.status) !== _utils.MessageStatusTypes.RECEIVED)) {
|
|
1550
|
-
|
|
1740
|
+
_context18.next = 20;
|
|
1551
1741
|
break;
|
|
1552
1742
|
}
|
|
1553
1743
|
setLoadingMoreRecent(false);
|
|
1554
|
-
return
|
|
1555
|
-
case
|
|
1556
|
-
|
|
1744
|
+
return _context18.abrupt("return");
|
|
1745
|
+
case 20:
|
|
1746
|
+
setLoadingMoreRecent(true);
|
|
1747
|
+
_context18.prev = 21;
|
|
1557
1748
|
if (!channel) {
|
|
1558
|
-
|
|
1749
|
+
_context18.next = 32;
|
|
1559
1750
|
break;
|
|
1560
1751
|
}
|
|
1561
|
-
|
|
1752
|
+
_context18.next = 25;
|
|
1562
1753
|
return channel.query({
|
|
1563
1754
|
messages: {
|
|
1564
1755
|
id_gte: recentMessage.id,
|
|
@@ -1566,29 +1757,40 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1566
1757
|
},
|
|
1567
1758
|
watch: true
|
|
1568
1759
|
});
|
|
1569
|
-
case
|
|
1570
|
-
queryResponse =
|
|
1571
|
-
|
|
1760
|
+
case 25:
|
|
1761
|
+
queryResponse = _context18.sent;
|
|
1762
|
+
gotAllRecentMessages = queryResponse.messages.length < limit;
|
|
1763
|
+
currentSet = channel.state.messageSets.find(function (set) {
|
|
1764
|
+
return set.isCurrent;
|
|
1765
|
+
});
|
|
1766
|
+
if (gotAllRecentMessages && currentSet && !currentSet.isLatest) {
|
|
1767
|
+
channel.state.messageSets = channel.state.messageSets.filter(function (set) {
|
|
1768
|
+
return !set.isLatest;
|
|
1769
|
+
});
|
|
1770
|
+
currentSet.isLatest = true;
|
|
1771
|
+
}
|
|
1772
|
+
channel.state.setIsUpToDate(gotAllRecentMessages);
|
|
1773
|
+
setHasNoMoreRecentMessagesToLoad(gotAllRecentMessages);
|
|
1572
1774
|
loadMoreRecentFinished(channel.state.messages);
|
|
1573
|
-
case
|
|
1574
|
-
|
|
1775
|
+
case 32:
|
|
1776
|
+
_context18.next = 40;
|
|
1575
1777
|
break;
|
|
1576
|
-
case
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
console.warn('Message pagination request failed with error',
|
|
1580
|
-
if (
|
|
1581
|
-
setError(
|
|
1778
|
+
case 34:
|
|
1779
|
+
_context18.prev = 34;
|
|
1780
|
+
_context18.t0 = _context18["catch"](21);
|
|
1781
|
+
console.warn('Message pagination request failed with error', _context18.t0);
|
|
1782
|
+
if (_context18.t0 instanceof Error) {
|
|
1783
|
+
setError(_context18.t0);
|
|
1582
1784
|
} else {
|
|
1583
1785
|
setError(true);
|
|
1584
1786
|
}
|
|
1585
1787
|
setLoadingMoreRecent(false);
|
|
1586
|
-
throw
|
|
1587
|
-
case
|
|
1788
|
+
throw _context18.t0;
|
|
1789
|
+
case 40:
|
|
1588
1790
|
case "end":
|
|
1589
|
-
return
|
|
1791
|
+
return _context18.stop();
|
|
1590
1792
|
}
|
|
1591
|
-
},
|
|
1793
|
+
}, _callee18, null, [[21, 34]]);
|
|
1592
1794
|
})), [channelId, hasNoMoreRecentMessagesToLoad]);
|
|
1593
1795
|
var loadMoreRecentFinished = (0, _react.useRef)((0, _debounce["default"])(function (newMessages) {
|
|
1594
1796
|
setLoadingMoreRecent(false);
|
|
@@ -1626,13 +1828,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1626
1828
|
}
|
|
1627
1829
|
};
|
|
1628
1830
|
var sendReaction = function () {
|
|
1629
|
-
var
|
|
1831
|
+
var _ref24 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee19(type, messageId) {
|
|
1630
1832
|
var payload;
|
|
1631
|
-
return _regenerator["default"].wrap(function
|
|
1632
|
-
while (1) switch (
|
|
1833
|
+
return _regenerator["default"].wrap(function _callee19$(_context19) {
|
|
1834
|
+
while (1) switch (_context19.prev = _context19.next) {
|
|
1633
1835
|
case 0:
|
|
1634
1836
|
if (!(!(channel != null && channel.id) || !client.user)) {
|
|
1635
|
-
|
|
1837
|
+
_context19.next = 2;
|
|
1636
1838
|
break;
|
|
1637
1839
|
}
|
|
1638
1840
|
throw new Error('Channel has not been initialized');
|
|
@@ -1643,13 +1845,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1643
1845
|
enforce_unique: enforceUniqueReaction
|
|
1644
1846
|
}];
|
|
1645
1847
|
if (enableOfflineSupport) {
|
|
1646
|
-
|
|
1848
|
+
_context19.next = 7;
|
|
1647
1849
|
break;
|
|
1648
1850
|
}
|
|
1649
|
-
|
|
1851
|
+
_context19.next = 6;
|
|
1650
1852
|
return channel.sendReaction.apply(channel, payload);
|
|
1651
1853
|
case 6:
|
|
1652
|
-
return
|
|
1854
|
+
return _context19.abrupt("return");
|
|
1653
1855
|
case 7:
|
|
1654
1856
|
(0, _addReactionToLocalState.addReactionToLocalState)({
|
|
1655
1857
|
channel: channel,
|
|
@@ -1659,7 +1861,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1659
1861
|
user: client.user
|
|
1660
1862
|
});
|
|
1661
1863
|
setMessages(channel.state.messages);
|
|
1662
|
-
|
|
1864
|
+
_context19.next = 11;
|
|
1663
1865
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
1664
1866
|
client: client,
|
|
1665
1867
|
task: {
|
|
@@ -1672,51 +1874,51 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1672
1874
|
});
|
|
1673
1875
|
case 11:
|
|
1674
1876
|
case "end":
|
|
1675
|
-
return
|
|
1877
|
+
return _context19.stop();
|
|
1676
1878
|
}
|
|
1677
|
-
},
|
|
1879
|
+
}, _callee19);
|
|
1678
1880
|
}));
|
|
1679
1881
|
return function sendReaction(_x10, _x11) {
|
|
1680
|
-
return
|
|
1882
|
+
return _ref24.apply(this, arguments);
|
|
1681
1883
|
};
|
|
1682
1884
|
}();
|
|
1683
1885
|
var deleteMessage = function () {
|
|
1684
|
-
var
|
|
1886
|
+
var _ref25 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee20(message) {
|
|
1685
1887
|
var _data;
|
|
1686
|
-
return _regenerator["default"].wrap(function
|
|
1687
|
-
while (1) switch (
|
|
1888
|
+
return _regenerator["default"].wrap(function _callee20$(_context20) {
|
|
1889
|
+
while (1) switch (_context20.prev = _context20.next) {
|
|
1688
1890
|
case 0:
|
|
1689
1891
|
if (channel.id) {
|
|
1690
|
-
|
|
1892
|
+
_context20.next = 2;
|
|
1691
1893
|
break;
|
|
1692
1894
|
}
|
|
1693
1895
|
throw new Error('Channel has not been initialized yet');
|
|
1694
1896
|
case 2:
|
|
1695
1897
|
if (enableOfflineSupport) {
|
|
1696
|
-
|
|
1898
|
+
_context20.next = 9;
|
|
1697
1899
|
break;
|
|
1698
1900
|
}
|
|
1699
1901
|
if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
|
|
1700
|
-
|
|
1902
|
+
_context20.next = 6;
|
|
1701
1903
|
break;
|
|
1702
1904
|
}
|
|
1703
1905
|
removeMessage(message);
|
|
1704
|
-
return
|
|
1906
|
+
return _context20.abrupt("return");
|
|
1705
1907
|
case 6:
|
|
1706
|
-
|
|
1908
|
+
_context20.next = 8;
|
|
1707
1909
|
return client.deleteMessage(message.id);
|
|
1708
1910
|
case 8:
|
|
1709
|
-
return
|
|
1911
|
+
return _context20.abrupt("return");
|
|
1710
1912
|
case 9:
|
|
1711
1913
|
if (!(message.status === _utils.MessageStatusTypes.FAILED)) {
|
|
1712
|
-
|
|
1914
|
+
_context20.next = 14;
|
|
1713
1915
|
break;
|
|
1714
1916
|
}
|
|
1715
1917
|
_DBSyncManager.DBSyncManager.dropPendingTasks({
|
|
1716
1918
|
messageId: message.id
|
|
1717
1919
|
});
|
|
1718
1920
|
removeMessage(message);
|
|
1719
|
-
|
|
1921
|
+
_context20.next = 19;
|
|
1720
1922
|
break;
|
|
1721
1923
|
case 14:
|
|
1722
1924
|
updateMessage((0, _extends2["default"])({}, message, {
|
|
@@ -1724,7 +1926,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1724
1926
|
deleted_at: new Date().toISOString(),
|
|
1725
1927
|
type: 'deleted'
|
|
1726
1928
|
}));
|
|
1727
|
-
|
|
1929
|
+
_context20.next = 17;
|
|
1728
1930
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
1729
1931
|
client: client,
|
|
1730
1932
|
task: {
|
|
@@ -1736,41 +1938,41 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1736
1938
|
}
|
|
1737
1939
|
});
|
|
1738
1940
|
case 17:
|
|
1739
|
-
_data =
|
|
1941
|
+
_data = _context20.sent;
|
|
1740
1942
|
if (_data != null && _data.message) {
|
|
1741
1943
|
updateMessage((0, _extends2["default"])({}, _data.message));
|
|
1742
1944
|
}
|
|
1743
1945
|
case 19:
|
|
1744
1946
|
case "end":
|
|
1745
|
-
return
|
|
1947
|
+
return _context20.stop();
|
|
1746
1948
|
}
|
|
1747
|
-
},
|
|
1949
|
+
}, _callee20);
|
|
1748
1950
|
}));
|
|
1749
1951
|
return function deleteMessage(_x12) {
|
|
1750
|
-
return
|
|
1952
|
+
return _ref25.apply(this, arguments);
|
|
1751
1953
|
};
|
|
1752
1954
|
}();
|
|
1753
1955
|
var deleteReaction = function () {
|
|
1754
|
-
var
|
|
1956
|
+
var _ref26 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee21(type, messageId) {
|
|
1755
1957
|
var payload;
|
|
1756
|
-
return _regenerator["default"].wrap(function
|
|
1757
|
-
while (1) switch (
|
|
1958
|
+
return _regenerator["default"].wrap(function _callee21$(_context21) {
|
|
1959
|
+
while (1) switch (_context21.prev = _context21.next) {
|
|
1758
1960
|
case 0:
|
|
1759
1961
|
if (!(!(channel != null && channel.id) || !client.user)) {
|
|
1760
|
-
|
|
1962
|
+
_context21.next = 2;
|
|
1761
1963
|
break;
|
|
1762
1964
|
}
|
|
1763
1965
|
throw new Error('Channel has not been initialized');
|
|
1764
1966
|
case 2:
|
|
1765
1967
|
payload = [messageId, type];
|
|
1766
1968
|
if (enableOfflineSupport) {
|
|
1767
|
-
|
|
1969
|
+
_context21.next = 7;
|
|
1768
1970
|
break;
|
|
1769
1971
|
}
|
|
1770
|
-
|
|
1972
|
+
_context21.next = 6;
|
|
1771
1973
|
return channel.deleteReaction.apply(channel, payload);
|
|
1772
1974
|
case 6:
|
|
1773
|
-
return
|
|
1975
|
+
return _context21.abrupt("return");
|
|
1774
1976
|
case 7:
|
|
1775
1977
|
(0, _removeReactionFromLocalState.removeReactionFromLocalState)({
|
|
1776
1978
|
channel: channel,
|
|
@@ -1779,7 +1981,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1779
1981
|
user: client.user
|
|
1780
1982
|
});
|
|
1781
1983
|
setMessages(channel.state.messages);
|
|
1782
|
-
|
|
1984
|
+
_context21.next = 11;
|
|
1783
1985
|
return _DBSyncManager.DBSyncManager.queueTask({
|
|
1784
1986
|
client: client,
|
|
1785
1987
|
task: {
|
|
@@ -1792,12 +1994,12 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1792
1994
|
});
|
|
1793
1995
|
case 11:
|
|
1794
1996
|
case "end":
|
|
1795
|
-
return
|
|
1997
|
+
return _context21.stop();
|
|
1796
1998
|
}
|
|
1797
|
-
},
|
|
1999
|
+
}, _callee21);
|
|
1798
2000
|
}));
|
|
1799
2001
|
return function deleteReaction(_x13, _x14) {
|
|
1800
|
-
return
|
|
2002
|
+
return _ref26.apply(this, arguments);
|
|
1801
2003
|
};
|
|
1802
2004
|
}();
|
|
1803
2005
|
var openThread = function openThread(message) {
|
|
@@ -1816,59 +2018,59 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1816
2018
|
setThreadMessages(updatedThreadMessages);
|
|
1817
2019
|
}, defaultDebounceInterval, debounceOptions)).current;
|
|
1818
2020
|
var loadMoreThread = function () {
|
|
1819
|
-
var
|
|
2021
|
+
var _ref27 = (0, _asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee22() {
|
|
1820
2022
|
var _threadMessages$, parentID, oldestMessageID, limit, queryResponse, updatedHasMore, updatedThreadMessages;
|
|
1821
|
-
return _regenerator["default"].wrap(function
|
|
1822
|
-
while (1) switch (
|
|
2023
|
+
return _regenerator["default"].wrap(function _callee22$(_context22) {
|
|
2024
|
+
while (1) switch (_context22.prev = _context22.next) {
|
|
1823
2025
|
case 0:
|
|
1824
2026
|
if (!(threadLoadingMore || !(thread != null && thread.id))) {
|
|
1825
|
-
|
|
2027
|
+
_context22.next = 2;
|
|
1826
2028
|
break;
|
|
1827
2029
|
}
|
|
1828
|
-
return
|
|
2030
|
+
return _context22.abrupt("return");
|
|
1829
2031
|
case 2:
|
|
1830
2032
|
setThreadLoadingMore(true);
|
|
1831
|
-
|
|
2033
|
+
_context22.prev = 3;
|
|
1832
2034
|
if (!channel) {
|
|
1833
|
-
|
|
2035
|
+
_context22.next = 15;
|
|
1834
2036
|
break;
|
|
1835
2037
|
}
|
|
1836
2038
|
parentID = thread.id;
|
|
1837
2039
|
channel.state.threads[parentID] = threadMessages;
|
|
1838
2040
|
oldestMessageID = threadMessages == null ? void 0 : (_threadMessages$ = threadMessages[0]) == null ? void 0 : _threadMessages$.id;
|
|
1839
2041
|
limit = 50;
|
|
1840
|
-
|
|
2042
|
+
_context22.next = 11;
|
|
1841
2043
|
return channel.getReplies(parentID, {
|
|
1842
2044
|
id_lt: oldestMessageID,
|
|
1843
2045
|
limit: limit
|
|
1844
2046
|
});
|
|
1845
2047
|
case 11:
|
|
1846
|
-
queryResponse =
|
|
2048
|
+
queryResponse = _context22.sent;
|
|
1847
2049
|
updatedHasMore = queryResponse.messages.length === limit;
|
|
1848
2050
|
updatedThreadMessages = channel.state.threads[parentID] || [];
|
|
1849
2051
|
loadMoreThreadFinished(updatedHasMore, updatedThreadMessages);
|
|
1850
2052
|
case 15:
|
|
1851
|
-
|
|
2053
|
+
_context22.next = 23;
|
|
1852
2054
|
break;
|
|
1853
2055
|
case 17:
|
|
1854
|
-
|
|
1855
|
-
|
|
1856
|
-
console.warn('Message pagination request failed with error',
|
|
1857
|
-
if (
|
|
1858
|
-
setError(
|
|
2056
|
+
_context22.prev = 17;
|
|
2057
|
+
_context22.t0 = _context22["catch"](3);
|
|
2058
|
+
console.warn('Message pagination request failed with error', _context22.t0);
|
|
2059
|
+
if (_context22.t0 instanceof Error) {
|
|
2060
|
+
setError(_context22.t0);
|
|
1859
2061
|
} else {
|
|
1860
2062
|
setError(true);
|
|
1861
2063
|
}
|
|
1862
2064
|
setThreadLoadingMore(false);
|
|
1863
|
-
throw
|
|
2065
|
+
throw _context22.t0;
|
|
1864
2066
|
case 23:
|
|
1865
2067
|
case "end":
|
|
1866
|
-
return
|
|
2068
|
+
return _context22.stop();
|
|
1867
2069
|
}
|
|
1868
|
-
},
|
|
2070
|
+
}, _callee22, null, [[3, 17]]);
|
|
1869
2071
|
}));
|
|
1870
2072
|
return function loadMoreThread() {
|
|
1871
|
-
return
|
|
2073
|
+
return _ref27.apply(this, arguments);
|
|
1872
2074
|
};
|
|
1873
2075
|
}();
|
|
1874
2076
|
var ownCapabilitiesContext = (0, _useCreateOwnCapabilitiesContext.useCreateOwnCapabilitiesContext)({
|
|
@@ -1882,7 +2084,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1882
2084
|
enableMessageGroupingByUser: enableMessageGroupingByUser,
|
|
1883
2085
|
enforceUniqueReaction: enforceUniqueReaction,
|
|
1884
2086
|
error: error,
|
|
1885
|
-
giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((
|
|
2087
|
+
giphyEnabled: giphyEnabled != null ? giphyEnabled : !!((_ref28 = (clientChannelConfig == null ? void 0 : clientChannelConfig.commands) || []) != null && _ref28.some(function (command) {
|
|
1886
2088
|
return command.name === 'giphy';
|
|
1887
2089
|
})),
|
|
1888
2090
|
hideDateSeparators: hideDateSeparators,
|
|
@@ -1938,7 +2140,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
1938
2140
|
InputEditingStateHeader: InputEditingStateHeader,
|
|
1939
2141
|
InputGiphySearch: InputGiphySearch,
|
|
1940
2142
|
InputReplyStateHeader: InputReplyStateHeader,
|
|
1941
|
-
maxMessageLength: (
|
|
2143
|
+
maxMessageLength: (_ref29 = maxMessageLengthProp != null ? maxMessageLengthProp : clientChannelConfig == null ? void 0 : clientChannelConfig.max_message_length) != null ? _ref29 : undefined,
|
|
1942
2144
|
maxNumberOfFiles: maxNumberOfFiles,
|
|
1943
2145
|
mentionAllAppUsersEnabled: mentionAllAppUsersEnabled,
|
|
1944
2146
|
mentionAllAppUsersQuery: mentionAllAppUsersQuery,
|
|
@@ -2081,7 +2283,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2081
2283
|
__self: _this,
|
|
2082
2284
|
__source: {
|
|
2083
2285
|
fileName: _jsxFileName,
|
|
2084
|
-
lineNumber:
|
|
2286
|
+
lineNumber: 2284,
|
|
2085
2287
|
columnNumber: 12
|
|
2086
2288
|
}
|
|
2087
2289
|
});
|
|
@@ -2095,7 +2297,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2095
2297
|
__self: _this,
|
|
2096
2298
|
__source: {
|
|
2097
2299
|
fileName: _jsxFileName,
|
|
2098
|
-
lineNumber:
|
|
2300
|
+
lineNumber: 2289,
|
|
2099
2301
|
columnNumber: 7
|
|
2100
2302
|
}
|
|
2101
2303
|
}, t('Please select a channel first'));
|
|
@@ -2108,7 +2310,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2108
2310
|
__self: _this,
|
|
2109
2311
|
__source: {
|
|
2110
2312
|
fileName: _jsxFileName,
|
|
2111
|
-
lineNumber:
|
|
2313
|
+
lineNumber: 2296,
|
|
2112
2314
|
columnNumber: 5
|
|
2113
2315
|
}
|
|
2114
2316
|
}), _react["default"].createElement(_ChannelContext.ChannelProvider, {
|
|
@@ -2116,7 +2318,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2116
2318
|
__self: _this,
|
|
2117
2319
|
__source: {
|
|
2118
2320
|
fileName: _jsxFileName,
|
|
2119
|
-
lineNumber:
|
|
2321
|
+
lineNumber: 2302,
|
|
2120
2322
|
columnNumber: 7
|
|
2121
2323
|
}
|
|
2122
2324
|
}, _react["default"].createElement(_OwnCapabilitiesContext.OwnCapabilitiesProvider, {
|
|
@@ -2124,7 +2326,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2124
2326
|
__self: _this,
|
|
2125
2327
|
__source: {
|
|
2126
2328
|
fileName: _jsxFileName,
|
|
2127
|
-
lineNumber:
|
|
2329
|
+
lineNumber: 2303,
|
|
2128
2330
|
columnNumber: 9
|
|
2129
2331
|
}
|
|
2130
2332
|
}, _react["default"].createElement(_TypingContext.TypingProvider, {
|
|
@@ -2132,7 +2334,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2132
2334
|
__self: _this,
|
|
2133
2335
|
__source: {
|
|
2134
2336
|
fileName: _jsxFileName,
|
|
2135
|
-
lineNumber:
|
|
2337
|
+
lineNumber: 2304,
|
|
2136
2338
|
columnNumber: 11
|
|
2137
2339
|
}
|
|
2138
2340
|
}, _react["default"].createElement(_PaginatedMessageListContext.PaginatedMessageListProvider, {
|
|
@@ -2140,7 +2342,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2140
2342
|
__self: _this,
|
|
2141
2343
|
__source: {
|
|
2142
2344
|
fileName: _jsxFileName,
|
|
2143
|
-
lineNumber:
|
|
2345
|
+
lineNumber: 2305,
|
|
2144
2346
|
columnNumber: 13
|
|
2145
2347
|
}
|
|
2146
2348
|
}, _react["default"].createElement(_MessagesContext.MessagesProvider, {
|
|
@@ -2148,7 +2350,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2148
2350
|
__self: _this,
|
|
2149
2351
|
__source: {
|
|
2150
2352
|
fileName: _jsxFileName,
|
|
2151
|
-
lineNumber:
|
|
2353
|
+
lineNumber: 2306,
|
|
2152
2354
|
columnNumber: 15
|
|
2153
2355
|
}
|
|
2154
2356
|
}, _react["default"].createElement(_ThreadContext.ThreadProvider, {
|
|
@@ -2156,7 +2358,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2156
2358
|
__self: _this,
|
|
2157
2359
|
__source: {
|
|
2158
2360
|
fileName: _jsxFileName,
|
|
2159
|
-
lineNumber:
|
|
2361
|
+
lineNumber: 2307,
|
|
2160
2362
|
columnNumber: 17
|
|
2161
2363
|
}
|
|
2162
2364
|
}, _react["default"].createElement(_SuggestionsContext.SuggestionsProvider, {
|
|
@@ -2164,7 +2366,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2164
2366
|
__self: _this,
|
|
2165
2367
|
__source: {
|
|
2166
2368
|
fileName: _jsxFileName,
|
|
2167
|
-
lineNumber:
|
|
2369
|
+
lineNumber: 2308,
|
|
2168
2370
|
columnNumber: 19
|
|
2169
2371
|
}
|
|
2170
2372
|
}, _react["default"].createElement(_MessageInputContext.MessageInputProvider, {
|
|
@@ -2172,7 +2374,7 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2172
2374
|
__self: _this,
|
|
2173
2375
|
__source: {
|
|
2174
2376
|
fileName: _jsxFileName,
|
|
2175
|
-
lineNumber:
|
|
2377
|
+
lineNumber: 2309,
|
|
2176
2378
|
columnNumber: 21
|
|
2177
2379
|
}
|
|
2178
2380
|
}, _react["default"].createElement(_reactNative.View, {
|
|
@@ -2182,13 +2384,13 @@ var ChannelWithContext = function ChannelWithContext(props) {
|
|
|
2182
2384
|
__self: _this,
|
|
2183
2385
|
__source: {
|
|
2184
2386
|
fileName: _jsxFileName,
|
|
2185
|
-
lineNumber:
|
|
2387
|
+
lineNumber: 2310,
|
|
2186
2388
|
columnNumber: 23
|
|
2187
2389
|
}
|
|
2188
2390
|
}, children))))))))));
|
|
2189
2391
|
};
|
|
2190
2392
|
var Channel = function Channel(props) {
|
|
2191
|
-
var _props$thread, _props$thread2;
|
|
2393
|
+
var _props$thread, _props$thread2, _props$channel;
|
|
2192
2394
|
var _useChatContext = (0, _ChatContext.useChatContext)(),
|
|
2193
2395
|
client = _useChatContext.client,
|
|
2194
2396
|
enableOfflineSupport = _useChatContext.enableOfflineSupport;
|
|
@@ -2211,6 +2413,7 @@ var Channel = function Channel(props) {
|
|
|
2211
2413
|
watcherCount = _useChannelState.watcherCount,
|
|
2212
2414
|
watchers = _useChannelState.watchers;
|
|
2213
2415
|
return _react["default"].createElement(ChannelWithContext, (0, _extends2["default"])({
|
|
2416
|
+
key: (_props$channel = props.channel) == null ? void 0 : _props$channel.cid,
|
|
2214
2417
|
client: client,
|
|
2215
2418
|
enableOfflineSupport: enableOfflineSupport,
|
|
2216
2419
|
t: t
|
|
@@ -2233,7 +2436,7 @@ var Channel = function Channel(props) {
|
|
|
2233
2436
|
__self: _this,
|
|
2234
2437
|
__source: {
|
|
2235
2438
|
fileName: _jsxFileName,
|
|
2236
|
-
lineNumber:
|
|
2439
|
+
lineNumber: 2367,
|
|
2237
2440
|
columnNumber: 5
|
|
2238
2441
|
}
|
|
2239
2442
|
}));
|