sceyt-chat-react-uikit 1.7.6-beta.6 → 1.7.6-beta.7
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/index.js +196 -110
- package/index.modern.js +196 -110
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -9102,15 +9102,6 @@ var query = {
|
|
|
9102
9102
|
ReactionsQuery: null,
|
|
9103
9103
|
PollVotesQueries: {}
|
|
9104
9104
|
};
|
|
9105
|
-
var unreadScrollTo = {
|
|
9106
|
-
isScrolled: true
|
|
9107
|
-
};
|
|
9108
|
-
function getUnreadScrollTo() {
|
|
9109
|
-
return unreadScrollTo.isScrolled;
|
|
9110
|
-
}
|
|
9111
|
-
function setUnreadScrollTo(state) {
|
|
9112
|
-
unreadScrollTo.isScrolled = state;
|
|
9113
|
-
}
|
|
9114
9105
|
function getUploadImageIcon() {
|
|
9115
9106
|
return UploadImageIcon;
|
|
9116
9107
|
}
|
|
@@ -10315,6 +10306,11 @@ function showScrollToNewMessageButtonAC(state) {
|
|
|
10315
10306
|
state: state
|
|
10316
10307
|
});
|
|
10317
10308
|
}
|
|
10309
|
+
function setUnreadScrollToAC(state) {
|
|
10310
|
+
return setUnreadScrollTo({
|
|
10311
|
+
state: state
|
|
10312
|
+
});
|
|
10313
|
+
}
|
|
10318
10314
|
function loadMoreMessagesAC(channelId, limit, direction, messageId, hasNext) {
|
|
10319
10315
|
return {
|
|
10320
10316
|
type: LOAD_MORE_MESSAGES,
|
|
@@ -10647,6 +10643,51 @@ var MESSAGE_LOAD_DIRECTION = {
|
|
|
10647
10643
|
PREV: 'prev',
|
|
10648
10644
|
NEXT: 'next'
|
|
10649
10645
|
};
|
|
10646
|
+
var shouldSkipDeliveryStatusUpdate = function shouldSkipDeliveryStatusUpdate(markerName, currentDeliveryStatus) {
|
|
10647
|
+
if (markerName === MESSAGE_DELIVERY_STATUS.SENT && (currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.SENT || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.DELIVERED || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.READ || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED)) {
|
|
10648
|
+
return true;
|
|
10649
|
+
}
|
|
10650
|
+
if (markerName === MESSAGE_DELIVERY_STATUS.DELIVERED && (currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.DELIVERED || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.READ || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED)) {
|
|
10651
|
+
return true;
|
|
10652
|
+
}
|
|
10653
|
+
if (markerName === MESSAGE_DELIVERY_STATUS.READ && (currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.READ || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED)) {
|
|
10654
|
+
return true;
|
|
10655
|
+
}
|
|
10656
|
+
if (markerName === MESSAGE_DELIVERY_STATUS.PLAYED && currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED) {
|
|
10657
|
+
return true;
|
|
10658
|
+
}
|
|
10659
|
+
return false;
|
|
10660
|
+
};
|
|
10661
|
+
var updateMessageDeliveryStatusAndMarkers = function updateMessageDeliveryStatusAndMarkers(message, markerName) {
|
|
10662
|
+
var _message$markerTotals;
|
|
10663
|
+
if (shouldSkipDeliveryStatusUpdate(markerName, message.deliveryStatus)) {
|
|
10664
|
+
return {
|
|
10665
|
+
markerTotals: message.markerTotals,
|
|
10666
|
+
deliveryStatus: message.deliveryStatus
|
|
10667
|
+
};
|
|
10668
|
+
}
|
|
10669
|
+
var markerInMarkersTotal = message === null || message === void 0 ? void 0 : (_message$markerTotals = message.markerTotals) === null || _message$markerTotals === void 0 ? void 0 : _message$markerTotals.find(function (marker) {
|
|
10670
|
+
return marker.name === markerName;
|
|
10671
|
+
});
|
|
10672
|
+
if (!markerInMarkersTotal) {
|
|
10673
|
+
return {
|
|
10674
|
+
markerTotals: [].concat(message.markerTotals || [], [{
|
|
10675
|
+
name: markerName,
|
|
10676
|
+
count: 1
|
|
10677
|
+
}]),
|
|
10678
|
+
deliveryStatus: markerName
|
|
10679
|
+
};
|
|
10680
|
+
} else {
|
|
10681
|
+
return {
|
|
10682
|
+
markerTotals: message.markerTotals.map(function (marker) {
|
|
10683
|
+
return marker.name === markerName ? _extends({}, marker, {
|
|
10684
|
+
count: marker.count + 1
|
|
10685
|
+
}) : marker;
|
|
10686
|
+
}),
|
|
10687
|
+
deliveryStatus: markerName
|
|
10688
|
+
};
|
|
10689
|
+
}
|
|
10690
|
+
};
|
|
10650
10691
|
var sendMessageHandler;
|
|
10651
10692
|
var setSendMessageHandler = function setSendMessageHandler(handler) {
|
|
10652
10693
|
sendMessageHandler = handler;
|
|
@@ -10678,7 +10719,8 @@ var updateMessageOnAllMessages = function updateMessageOnAllMessages(messageId,
|
|
|
10678
10719
|
if (updatedParams.state === MESSAGE_STATUS.DELETE) {
|
|
10679
10720
|
return _extends({}, updatedParams);
|
|
10680
10721
|
}
|
|
10681
|
-
var
|
|
10722
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, updatedParams.deliveryStatus);
|
|
10723
|
+
var updatedMessage = _extends({}, message, updatedParams, statusUpdatedMessage);
|
|
10682
10724
|
if (voteDetails) {
|
|
10683
10725
|
updatedMessage = _extends({}, updatedMessage, {
|
|
10684
10726
|
pollDetails: handleVoteDetails(voteDetails, updatedMessage)
|
|
@@ -10689,6 +10731,15 @@ var updateMessageOnAllMessages = function updateMessageOnAllMessages(messageId,
|
|
|
10689
10731
|
return message;
|
|
10690
10732
|
});
|
|
10691
10733
|
};
|
|
10734
|
+
var updateMessageStatusOnAllMessages = function updateMessageStatusOnAllMessages(name, markersMap) {
|
|
10735
|
+
activeChannelAllMessages = activeChannelAllMessages.map(function (message) {
|
|
10736
|
+
if (markersMap[message.id]) {
|
|
10737
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, name);
|
|
10738
|
+
return _extends({}, message, statusUpdatedMessage);
|
|
10739
|
+
}
|
|
10740
|
+
return message;
|
|
10741
|
+
});
|
|
10742
|
+
};
|
|
10692
10743
|
var removeMessageFromAllMessages = function removeMessageFromAllMessages(messageId) {
|
|
10693
10744
|
activeChannelAllMessages = [].concat(activeChannelAllMessages).filter(function (msg) {
|
|
10694
10745
|
return !(msg.id === messageId || msg.tid === messageId);
|
|
@@ -10696,12 +10747,11 @@ var removeMessageFromAllMessages = function removeMessageFromAllMessages(message
|
|
|
10696
10747
|
};
|
|
10697
10748
|
var updateMarkersOnAllMessages = function updateMarkersOnAllMessages(markersMap, name) {
|
|
10698
10749
|
activeChannelAllMessages = activeChannelAllMessages.map(function (message) {
|
|
10699
|
-
if (markersMap[message.id]
|
|
10700
|
-
return
|
|
10701
|
-
deliveryStatus: name
|
|
10702
|
-
});
|
|
10750
|
+
if (!markersMap[message.id]) {
|
|
10751
|
+
return message;
|
|
10703
10752
|
}
|
|
10704
|
-
|
|
10753
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, name);
|
|
10754
|
+
return _extends({}, message, statusUpdatedMessage);
|
|
10705
10755
|
});
|
|
10706
10756
|
};
|
|
10707
10757
|
var getAllMessages = function getAllMessages() {
|
|
@@ -10779,7 +10829,8 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
|
|
|
10779
10829
|
var _pendingMessagesMap$c;
|
|
10780
10830
|
var updatedPendingMessages = (_pendingMessagesMap$c = pendingMessagesMap[channelId]) === null || _pendingMessagesMap$c === void 0 ? void 0 : _pendingMessagesMap$c.map(function (msg) {
|
|
10781
10831
|
if (msg.tid === updatedMessage.messageId) {
|
|
10782
|
-
|
|
10832
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(msg, updatedMessage.params.deliveryStatus);
|
|
10833
|
+
return _extends({}, msg, updatedMessage.params, statusUpdatedMessage);
|
|
10783
10834
|
}
|
|
10784
10835
|
return msg;
|
|
10785
10836
|
});
|
|
@@ -10801,7 +10852,8 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
|
|
|
10801
10852
|
messagesList.push(_extends({}, mes, updatedMessageData));
|
|
10802
10853
|
continue;
|
|
10803
10854
|
} else {
|
|
10804
|
-
|
|
10855
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(mes, updatedMessage.params.deliveryStatus);
|
|
10856
|
+
updatedMessageData = _extends({}, mes, updatedMessage.params, statusUpdatedMessage);
|
|
10805
10857
|
var voteDetailsData = void 0;
|
|
10806
10858
|
if (voteDetails) {
|
|
10807
10859
|
voteDetailsData = handleVoteDetails(voteDetails, updatedMessageData);
|
|
@@ -10900,12 +10952,11 @@ function updateMessageStatusOnMap(channelId, newMarkers) {
|
|
|
10900
10952
|
messagesMap[channelId] = messagesMap[channelId].map(function (mes) {
|
|
10901
10953
|
var name = newMarkers.name;
|
|
10902
10954
|
var markersMap = newMarkers.markersMap;
|
|
10903
|
-
if (markersMap[mes.id]
|
|
10904
|
-
return
|
|
10905
|
-
deliveryStatus: name
|
|
10906
|
-
});
|
|
10955
|
+
if (!markersMap[mes.id]) {
|
|
10956
|
+
return mes;
|
|
10907
10957
|
}
|
|
10908
|
-
|
|
10958
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(mes, name);
|
|
10959
|
+
return _extends({}, mes, statusUpdatedMessage);
|
|
10909
10960
|
});
|
|
10910
10961
|
}
|
|
10911
10962
|
}
|
|
@@ -11126,7 +11177,8 @@ var initialState$1 = {
|
|
|
11126
11177
|
pollVotesLoadingState: {},
|
|
11127
11178
|
pollVotesInitialCount: null,
|
|
11128
11179
|
pendingPollActions: {},
|
|
11129
|
-
pendingMessagesMap: {}
|
|
11180
|
+
pendingMessagesMap: {},
|
|
11181
|
+
unreadScrollTo: true
|
|
11130
11182
|
};
|
|
11131
11183
|
var messageSlice = createSlice({
|
|
11132
11184
|
name: 'messages',
|
|
@@ -11160,6 +11212,9 @@ var messageSlice = createSlice({
|
|
|
11160
11212
|
setShowScrollToNewMessageButton: function setShowScrollToNewMessageButton(state, action) {
|
|
11161
11213
|
state.showScrollToNewMessageButton = action.payload.state;
|
|
11162
11214
|
},
|
|
11215
|
+
setUnreadScrollTo: function setUnreadScrollTo(state, action) {
|
|
11216
|
+
state.unreadScrollTo = action.payload.state;
|
|
11217
|
+
},
|
|
11163
11218
|
setMessages: function setMessages(state, action) {
|
|
11164
11219
|
state.activeChannelMessages = action.payload.messages;
|
|
11165
11220
|
},
|
|
@@ -11220,17 +11275,18 @@ var messageSlice = createSlice({
|
|
|
11220
11275
|
markersMap = _action$payload2.markersMap;
|
|
11221
11276
|
var markerName = name;
|
|
11222
11277
|
for (var index = 0; index < state.activeChannelMessages.length; index++) {
|
|
11223
|
-
if (
|
|
11224
|
-
continue;
|
|
11225
|
-
}
|
|
11226
|
-
if (markerName === MESSAGE_DELIVERY_STATUS.READ && (state.activeChannelMessages[index].deliveryStatus === MESSAGE_DELIVERY_STATUS.READ || state.activeChannelMessages[index].deliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED)) {
|
|
11278
|
+
if (!markersMap[state.activeChannelMessages[index].id]) {
|
|
11227
11279
|
continue;
|
|
11228
11280
|
}
|
|
11229
|
-
if (
|
|
11230
|
-
|
|
11231
|
-
|
|
11232
|
-
|
|
11233
|
-
|
|
11281
|
+
if (state.activeChannelMessages[index].state !== 'Deleted') {
|
|
11282
|
+
var message = state.activeChannelMessages[index];
|
|
11283
|
+
var _updateMessageDeliver = updateMessageDeliveryStatusAndMarkers(message, markerName),
|
|
11284
|
+
markerTotals = _updateMessageDeliver.markerTotals,
|
|
11285
|
+
deliveryStatus = _updateMessageDeliver.deliveryStatus;
|
|
11286
|
+
state.activeChannelMessages[index] = _extends({}, message, {
|
|
11287
|
+
markerTotals: markerTotals,
|
|
11288
|
+
deliveryStatus: deliveryStatus
|
|
11289
|
+
});
|
|
11234
11290
|
}
|
|
11235
11291
|
}
|
|
11236
11292
|
},
|
|
@@ -11247,10 +11303,15 @@ var messageSlice = createSlice({
|
|
|
11247
11303
|
if (params.state === MESSAGE_STATUS.DELETE) {
|
|
11248
11304
|
return _extends({}, params);
|
|
11249
11305
|
} else {
|
|
11250
|
-
var
|
|
11306
|
+
var statusUpdatedMessage = null;
|
|
11307
|
+
if (params !== null && params !== void 0 && params.deliveryStatus) {
|
|
11308
|
+
statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, params.deliveryStatus);
|
|
11309
|
+
}
|
|
11310
|
+
var messageOldData = _extends({}, message, params, statusUpdatedMessage);
|
|
11311
|
+
var messageData = _extends({}, messageOldData);
|
|
11251
11312
|
if (voteDetails) {
|
|
11252
|
-
messageData = _extends({},
|
|
11253
|
-
pollDetails: handleVoteDetails(voteDetails,
|
|
11313
|
+
messageData = _extends({}, messageOldData, {
|
|
11314
|
+
pollDetails: handleVoteDetails(voteDetails, messageOldData)
|
|
11254
11315
|
});
|
|
11255
11316
|
}
|
|
11256
11317
|
if (messageData.deliveryStatus !== MESSAGE_DELIVERY_STATUS.PENDING) {
|
|
@@ -11694,6 +11755,7 @@ var _messageSlice$actions = messageSlice.actions,
|
|
|
11694
11755
|
setScrollToMentionedMessage = _messageSlice$actions.setScrollToMentionedMessage,
|
|
11695
11756
|
setScrollToNewMessage = _messageSlice$actions.setScrollToNewMessage,
|
|
11696
11757
|
setShowScrollToNewMessageButton = _messageSlice$actions.setShowScrollToNewMessageButton,
|
|
11758
|
+
setUnreadScrollTo = _messageSlice$actions.setUnreadScrollTo,
|
|
11697
11759
|
setMessages = _messageSlice$actions.setMessages,
|
|
11698
11760
|
addMessages = _messageSlice$actions.addMessages,
|
|
11699
11761
|
updateMessagesStatus = _messageSlice$actions.updateMessagesStatus,
|
|
@@ -14787,9 +14849,7 @@ function watchForEvents() {
|
|
|
14787
14849
|
_context2.n = 58;
|
|
14788
14850
|
return effects.put(scrollToNewMessageAC(true, false, true));
|
|
14789
14851
|
case 58:
|
|
14790
|
-
|
|
14791
|
-
addMessageToMap(_channel5.id, message);
|
|
14792
|
-
}
|
|
14852
|
+
addMessageToMap(_channel5.id, message);
|
|
14793
14853
|
_context2.n = 59;
|
|
14794
14854
|
return effects.put(updateChannelDataAC(_channel5.id, {
|
|
14795
14855
|
messageCount: channelForAdd.messageCount,
|
|
@@ -14989,6 +15049,7 @@ function watchForEvents() {
|
|
|
14989
15049
|
name: markerList.name,
|
|
14990
15050
|
markersMap: markersMap
|
|
14991
15051
|
});
|
|
15052
|
+
updateMessageStatusOnAllMessages(markerList.name, markersMap);
|
|
14992
15053
|
_context2.n = 77;
|
|
14993
15054
|
return effects.put(updateMessagesMarkersAC(channelId, markerList.name, markerList));
|
|
14994
15055
|
case 77:
|
|
@@ -16857,7 +16918,7 @@ function switchChannel(action) {
|
|
|
16857
16918
|
}
|
|
16858
16919
|
currentActiveChannel = getChannelFromMap(getActiveChannelId());
|
|
16859
16920
|
_context10.n = 11;
|
|
16860
|
-
return effects.
|
|
16921
|
+
return effects.put(setUnreadScrollToAC(true));
|
|
16861
16922
|
case 11:
|
|
16862
16923
|
_context10.n = 12;
|
|
16863
16924
|
return effects.call(setActiveChannelId, channel && channel.id);
|
|
@@ -18501,6 +18562,9 @@ var pendingPollActionsSelector = function pendingPollActionsSelector(store) {
|
|
|
18501
18562
|
var pendingMessagesMapSelector = function pendingMessagesMapSelector(store) {
|
|
18502
18563
|
return store.MessageReducer.pendingMessagesMap;
|
|
18503
18564
|
};
|
|
18565
|
+
var unreadScrollToSelector = function unreadScrollToSelector(store) {
|
|
18566
|
+
return store.MessageReducer.unreadScrollTo;
|
|
18567
|
+
};
|
|
18504
18568
|
|
|
18505
18569
|
var getFrame = function getFrame(videoSrc, time) {
|
|
18506
18570
|
try {
|
|
@@ -19222,15 +19286,12 @@ function sendTextMessage(action) {
|
|
|
19222
19286
|
throw new Error('Connection required to send message');
|
|
19223
19287
|
case 17:
|
|
19224
19288
|
_context4.n = 18;
|
|
19225
|
-
return effects.put(getMessagesAC(channel, true, channel.lastMessage.id, undefined, undefined, false));
|
|
19226
|
-
case 18:
|
|
19227
|
-
_context4.n = 19;
|
|
19228
19289
|
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
19229
|
-
case
|
|
19230
|
-
_context4.n =
|
|
19290
|
+
case 18:
|
|
19291
|
+
_context4.n = 21;
|
|
19231
19292
|
break;
|
|
19232
|
-
case
|
|
19233
|
-
_context4.p =
|
|
19293
|
+
case 19:
|
|
19294
|
+
_context4.p = 19;
|
|
19234
19295
|
_t3 = _context4.v;
|
|
19235
19296
|
log.error('error on send text message ... ', _t3);
|
|
19236
19297
|
updateMessageOnMap(channel.id, {
|
|
@@ -19240,23 +19301,23 @@ function sendTextMessage(action) {
|
|
|
19240
19301
|
}
|
|
19241
19302
|
});
|
|
19242
19303
|
if (!(activeChannelId === channel.id)) {
|
|
19243
|
-
_context4.n =
|
|
19304
|
+
_context4.n = 20;
|
|
19244
19305
|
break;
|
|
19245
19306
|
}
|
|
19246
19307
|
updateMessageOnAllMessages(sendMessageTid, {
|
|
19247
19308
|
state: MESSAGE_STATUS.FAILED
|
|
19248
19309
|
});
|
|
19249
|
-
_context4.n =
|
|
19310
|
+
_context4.n = 20;
|
|
19250
19311
|
return effects.put(updateMessageAC(sendMessageTid, {
|
|
19251
19312
|
state: MESSAGE_STATUS.FAILED
|
|
19252
19313
|
}));
|
|
19253
|
-
case
|
|
19254
|
-
_context4.n =
|
|
19314
|
+
case 20:
|
|
19315
|
+
_context4.n = 21;
|
|
19255
19316
|
return effects.put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
19256
|
-
case
|
|
19317
|
+
case 21:
|
|
19257
19318
|
return _context4.a(2);
|
|
19258
19319
|
}
|
|
19259
|
-
}, _marked2$2, null, [[3,
|
|
19320
|
+
}, _marked2$2, null, [[3, 19]]);
|
|
19260
19321
|
}
|
|
19261
19322
|
function forwardMessage(action) {
|
|
19262
19323
|
var payload, message, channelId, connectionState, isForward, channel, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, pendingMessage, activeChannelId, isCachedChannel, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, _t4;
|
|
@@ -19928,7 +19989,7 @@ function editMessage(action) {
|
|
|
19928
19989
|
}, _marked6$1, null, [[0, 5]]);
|
|
19929
19990
|
}
|
|
19930
19991
|
function getMessagesQuery(action) {
|
|
19931
|
-
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, _t9;
|
|
19992
|
+
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, lastMessageId, _allMessages2, allMessagesAfterLastMessage, pendingMessages, _messagesMap, filteredPendingMessages, _t9;
|
|
19932
19993
|
return _regenerator().w(function (_context9) {
|
|
19933
19994
|
while (1) switch (_context9.p = _context9.n) {
|
|
19934
19995
|
case 0:
|
|
@@ -20209,13 +20270,19 @@ function getMessagesQuery(action) {
|
|
|
20209
20270
|
updateMessageOnAllMessages(msg.id, updatedMessage || msg);
|
|
20210
20271
|
updatedMessages.push(updatedMessage || msg);
|
|
20211
20272
|
});
|
|
20273
|
+
lastMessageId = updatedMessages[updatedMessages.length - 1].id;
|
|
20274
|
+
_allMessages2 = getAllMessages();
|
|
20275
|
+
allMessagesAfterLastMessage = _allMessages2.filter(function (msg) {
|
|
20276
|
+
return msg.id > lastMessageId;
|
|
20277
|
+
});
|
|
20278
|
+
updatedMessages = [].concat(updatedMessages, allMessagesAfterLastMessage);
|
|
20212
20279
|
setMessagesToMap(channel.id, updatedMessages);
|
|
20213
|
-
setAllMessages(
|
|
20280
|
+
setAllMessages(updatedMessages);
|
|
20214
20281
|
_context9.n = 44;
|
|
20215
20282
|
return effects.put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
20216
20283
|
case 44:
|
|
20217
20284
|
_context9.n = 45;
|
|
20218
|
-
return effects.put(setMessagesHasPrevAC(
|
|
20285
|
+
return effects.put(setMessagesHasPrevAC(true));
|
|
20219
20286
|
case 45:
|
|
20220
20287
|
_context9.n = 46;
|
|
20221
20288
|
return effects.put(setMessagesHasNextAC(false));
|
|
@@ -36454,6 +36521,7 @@ var Message$1 = function Message(_ref) {
|
|
|
36454
36521
|
reactionsPopupHorizontalPosition = _useState10[0],
|
|
36455
36522
|
setReactionsPopupHorizontalPosition = _useState10[1];
|
|
36456
36523
|
var scrollToNewMessage = useSelector(scrollToNewMessageSelector, reactRedux.shallowEqual);
|
|
36524
|
+
var unreadScrollTo = useSelector(unreadScrollToSelector, reactRedux.shallowEqual);
|
|
36457
36525
|
var messageItemRef = React.useRef();
|
|
36458
36526
|
var isVisible = useOnScreen(messageItemRef);
|
|
36459
36527
|
var reactionsCount = message.reactionTotals && message.reactionTotals.reduce(function (prevValue, currentValue) {
|
|
@@ -36618,7 +36686,7 @@ var Message$1 = function Message(_ref) {
|
|
|
36618
36686
|
}
|
|
36619
36687
|
if (isVisible && message.incoming && !(message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
|
|
36620
36688
|
return marker.name === MESSAGE_DELIVERY_STATUS.READ;
|
|
36621
|
-
})) && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
36689
|
+
})) && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED && !unreadScrollTo) {
|
|
36622
36690
|
dispatch(markMessagesAsReadAC(channel.id, [message.id]));
|
|
36623
36691
|
}
|
|
36624
36692
|
};
|
|
@@ -36658,7 +36726,7 @@ var Message$1 = function Message(_ref) {
|
|
|
36658
36726
|
}
|
|
36659
36727
|
};
|
|
36660
36728
|
React.useEffect(function () {
|
|
36661
|
-
if (isVisible) {
|
|
36729
|
+
if (isVisible && !unreadScrollTo) {
|
|
36662
36730
|
var _channel$lastMessage;
|
|
36663
36731
|
if (setLastVisibleMessageId) {
|
|
36664
36732
|
setLastVisibleMessageId(message.id);
|
|
@@ -37356,6 +37424,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
37356
37424
|
var dispatch = useDispatch();
|
|
37357
37425
|
var theme = useSelector(themeSelector);
|
|
37358
37426
|
var channel = useSelector(activeChannelSelector);
|
|
37427
|
+
var _useState = React.useState(false),
|
|
37428
|
+
scrollIntoView = _useState[0],
|
|
37429
|
+
setScrollIntoView = _useState[1];
|
|
37359
37430
|
var contactsMap = useSelector(contactsMapSelector, reactRedux.shallowEqual);
|
|
37360
37431
|
var connectionStatus = useSelector(connectionStatusSelector, reactRedux.shallowEqual);
|
|
37361
37432
|
var openedMessageMenuId = useSelector(openedMessageMenuSelector, reactRedux.shallowEqual);
|
|
@@ -37374,43 +37445,44 @@ var MessageList = function MessageList(_ref2) {
|
|
|
37374
37445
|
var pollPendingPollActions = useSelector(pendingPollActionsSelector, reactRedux.shallowEqual);
|
|
37375
37446
|
var pendingMessagesMap = useSelector(pendingMessagesMapSelector, reactRedux.shallowEqual);
|
|
37376
37447
|
var showScrollToNewMessageButton = useSelector(showScrollToNewMessageButtonSelector, reactRedux.shallowEqual);
|
|
37448
|
+
var unreadScrollTo = useSelector(unreadScrollToSelector, reactRedux.shallowEqual);
|
|
37377
37449
|
var messages = useSelector(activeChannelMessagesSelector, reactRedux.shallowEqual) || [];
|
|
37378
|
-
var
|
|
37379
|
-
unreadMessageId =
|
|
37380
|
-
setUnreadMessageId =
|
|
37381
|
-
var _useState2 = React.useState(null),
|
|
37382
|
-
mediaFile = _useState2[0],
|
|
37383
|
-
setMediaFile = _useState2[1];
|
|
37450
|
+
var _useState2 = React.useState(''),
|
|
37451
|
+
unreadMessageId = _useState2[0],
|
|
37452
|
+
setUnreadMessageId = _useState2[1];
|
|
37384
37453
|
var _useState3 = React.useState(null),
|
|
37385
|
-
|
|
37386
|
-
|
|
37454
|
+
mediaFile = _useState3[0],
|
|
37455
|
+
setMediaFile = _useState3[1];
|
|
37387
37456
|
var _useState4 = React.useState(null),
|
|
37388
|
-
|
|
37389
|
-
|
|
37390
|
-
var _useState5 = React.useState(
|
|
37391
|
-
|
|
37392
|
-
|
|
37457
|
+
isDragging = _useState4[0],
|
|
37458
|
+
setIsDragging = _useState4[1];
|
|
37459
|
+
var _useState5 = React.useState(null),
|
|
37460
|
+
showTopDate = _useState5[0],
|
|
37461
|
+
setShowTopDate = _useState5[1];
|
|
37393
37462
|
var _useState6 = React.useState(false),
|
|
37394
|
-
|
|
37395
|
-
|
|
37463
|
+
stopScrolling = _useState6[0],
|
|
37464
|
+
setStopScrolling = _useState6[1];
|
|
37465
|
+
var _useState7 = React.useState(false),
|
|
37466
|
+
isScrolling = _useState7[0],
|
|
37467
|
+
setIsScrolling = _useState7[1];
|
|
37396
37468
|
var hideTopDateTimeout = React.useRef(null);
|
|
37397
|
-
var
|
|
37398
|
-
lastVisibleMessageId =
|
|
37399
|
-
_setLastVisibleMessageId =
|
|
37400
|
-
var
|
|
37401
|
-
scrollToReply =
|
|
37402
|
-
setScrollToReply =
|
|
37403
|
-
var
|
|
37404
|
-
previousScrollTop =
|
|
37405
|
-
setPreviousScrollTop =
|
|
37406
|
-
var
|
|
37407
|
-
shouldPreserveScroll =
|
|
37408
|
-
setShouldPreserveScroll =
|
|
37469
|
+
var _useState8 = React.useState(''),
|
|
37470
|
+
lastVisibleMessageId = _useState8[0],
|
|
37471
|
+
_setLastVisibleMessageId = _useState8[1];
|
|
37472
|
+
var _useState9 = React.useState(null),
|
|
37473
|
+
scrollToReply = _useState9[0],
|
|
37474
|
+
setScrollToReply = _useState9[1];
|
|
37475
|
+
var _useState0 = React.useState(0),
|
|
37476
|
+
previousScrollTop = _useState0[0],
|
|
37477
|
+
setPreviousScrollTop = _useState0[1];
|
|
37478
|
+
var _useState1 = React.useState(false),
|
|
37479
|
+
shouldPreserveScroll = _useState1[0],
|
|
37480
|
+
setShouldPreserveScroll = _useState1[1];
|
|
37409
37481
|
var messageForReply = {};
|
|
37410
37482
|
var attachmentsSelected = false;
|
|
37411
|
-
var
|
|
37412
|
-
topDateLabel =
|
|
37413
|
-
setTopDateLabel =
|
|
37483
|
+
var _useState10 = React.useState(''),
|
|
37484
|
+
topDateLabel = _useState10[0],
|
|
37485
|
+
setTopDateLabel = _useState10[1];
|
|
37414
37486
|
var scrollRef = React.useRef(null);
|
|
37415
37487
|
var loadFromServerRef = React.useRef(false);
|
|
37416
37488
|
var loadDirectionRef = React.useRef('');
|
|
@@ -37899,6 +37971,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
37899
37971
|
};
|
|
37900
37972
|
}, [messagesLoading, messages, lastVisibleMessageId]);
|
|
37901
37973
|
React.useEffect(function () {
|
|
37974
|
+
var interval = null;
|
|
37975
|
+
log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
|
|
37902
37976
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
37903
37977
|
Object.keys(pendingMessagesMap).forEach(function (key) {
|
|
37904
37978
|
pendingMessagesMap[key].forEach(function (msg) {
|
|
@@ -37908,37 +37982,49 @@ var MessageList = function MessageList(_ref2) {
|
|
|
37908
37982
|
if (Object.keys(pollPendingPollActions).length > 0) {
|
|
37909
37983
|
dispatch(resendPendingPollActionsAC(connectionStatus));
|
|
37910
37984
|
}
|
|
37985
|
+
var count = 0;
|
|
37986
|
+
interval = setInterval(function () {
|
|
37987
|
+
if (count > 20) {
|
|
37988
|
+
clearInterval(interval);
|
|
37989
|
+
}
|
|
37990
|
+
count++;
|
|
37991
|
+
if (channel.id && Object.keys(pollPendingPollActions).length === 0 && Object.keys(pendingMessagesMap).length === 0) {
|
|
37992
|
+
clearInterval(interval);
|
|
37993
|
+
loadingRef.current = false;
|
|
37994
|
+
prevDisableRef.current = false;
|
|
37995
|
+
nextDisableRef.current = false;
|
|
37996
|
+
clearMessagesMap();
|
|
37997
|
+
removeAllMessages();
|
|
37998
|
+
dispatch(getMessagesAC(channel));
|
|
37999
|
+
}
|
|
38000
|
+
}, 100);
|
|
37911
38001
|
}
|
|
37912
|
-
|
|
37913
|
-
|
|
37914
|
-
|
|
37915
|
-
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
37916
|
-
if (channel.id && Object.keys(pollPendingPollActions).length === 0 && Object.keys(pendingMessagesMap).length === 0) {
|
|
37917
|
-
loadingRef.current = false;
|
|
37918
|
-
prevDisableRef.current = false;
|
|
37919
|
-
nextDisableRef.current = false;
|
|
37920
|
-
clearMessagesMap();
|
|
37921
|
-
removeAllMessages();
|
|
37922
|
-
dispatch(getMessagesAC(channel));
|
|
38002
|
+
return function () {
|
|
38003
|
+
if (interval) {
|
|
38004
|
+
clearInterval(interval);
|
|
37923
38005
|
}
|
|
37924
|
-
}
|
|
37925
|
-
}, [connectionStatus
|
|
38006
|
+
};
|
|
38007
|
+
}, [connectionStatus]);
|
|
37926
38008
|
React.useEffect(function () {
|
|
37927
|
-
var unreadScrollTo = getUnreadScrollTo();
|
|
37928
38009
|
if (channel.newMessageCount && channel.newMessageCount > 0 && unreadScrollTo) {
|
|
37929
|
-
|
|
37930
|
-
|
|
38010
|
+
var scrollElement = document.getElementById('scrollableDiv');
|
|
38011
|
+
if (scrollElement) {
|
|
38012
|
+
scrollElement.style.scrollBehavior = 'inherit';
|
|
37931
38013
|
}
|
|
37932
38014
|
var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId);
|
|
37933
|
-
if (lastReadMessageNode) {
|
|
37934
|
-
|
|
37935
|
-
|
|
37936
|
-
|
|
37937
|
-
}
|
|
37938
|
-
|
|
38015
|
+
if (lastReadMessageNode && scrollElement) {
|
|
38016
|
+
scrollElement.scrollTo({
|
|
38017
|
+
top: lastReadMessageNode.offsetTop - 200,
|
|
38018
|
+
behavior: 'smooth'
|
|
38019
|
+
});
|
|
38020
|
+
setScrollIntoView(true);
|
|
38021
|
+
setTimeout(function () {
|
|
38022
|
+
dispatch(setUnreadScrollToAC(false));
|
|
38023
|
+
setScrollIntoView(false);
|
|
38024
|
+
}, 100);
|
|
37939
38025
|
}
|
|
37940
38026
|
}
|
|
37941
|
-
}, [channel.id, channel.newMessageCount, channel.lastDisplayedMessageId]);
|
|
38027
|
+
}, [channel.id, channel.newMessageCount, scrollRef.current, unreadScrollTo, channel.lastDisplayedMessageId, scrollIntoView, messages.length]);
|
|
37942
38028
|
React.useEffect(function () {
|
|
37943
38029
|
return function () {
|
|
37944
38030
|
if (hideTopDateTimeout.current) {
|
package/index.modern.js
CHANGED
|
@@ -9101,15 +9101,6 @@ var query = {
|
|
|
9101
9101
|
ReactionsQuery: null,
|
|
9102
9102
|
PollVotesQueries: {}
|
|
9103
9103
|
};
|
|
9104
|
-
var unreadScrollTo = {
|
|
9105
|
-
isScrolled: true
|
|
9106
|
-
};
|
|
9107
|
-
function getUnreadScrollTo() {
|
|
9108
|
-
return unreadScrollTo.isScrolled;
|
|
9109
|
-
}
|
|
9110
|
-
function setUnreadScrollTo(state) {
|
|
9111
|
-
unreadScrollTo.isScrolled = state;
|
|
9112
|
-
}
|
|
9113
9104
|
function getUploadImageIcon() {
|
|
9114
9105
|
return UploadImageIcon;
|
|
9115
9106
|
}
|
|
@@ -10314,6 +10305,11 @@ function showScrollToNewMessageButtonAC(state) {
|
|
|
10314
10305
|
state: state
|
|
10315
10306
|
});
|
|
10316
10307
|
}
|
|
10308
|
+
function setUnreadScrollToAC(state) {
|
|
10309
|
+
return setUnreadScrollTo({
|
|
10310
|
+
state: state
|
|
10311
|
+
});
|
|
10312
|
+
}
|
|
10317
10313
|
function loadMoreMessagesAC(channelId, limit, direction, messageId, hasNext) {
|
|
10318
10314
|
return {
|
|
10319
10315
|
type: LOAD_MORE_MESSAGES,
|
|
@@ -10646,6 +10642,51 @@ var MESSAGE_LOAD_DIRECTION = {
|
|
|
10646
10642
|
PREV: 'prev',
|
|
10647
10643
|
NEXT: 'next'
|
|
10648
10644
|
};
|
|
10645
|
+
var shouldSkipDeliveryStatusUpdate = function shouldSkipDeliveryStatusUpdate(markerName, currentDeliveryStatus) {
|
|
10646
|
+
if (markerName === MESSAGE_DELIVERY_STATUS.SENT && (currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.SENT || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.DELIVERED || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.READ || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED)) {
|
|
10647
|
+
return true;
|
|
10648
|
+
}
|
|
10649
|
+
if (markerName === MESSAGE_DELIVERY_STATUS.DELIVERED && (currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.DELIVERED || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.READ || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED)) {
|
|
10650
|
+
return true;
|
|
10651
|
+
}
|
|
10652
|
+
if (markerName === MESSAGE_DELIVERY_STATUS.READ && (currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.READ || currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED)) {
|
|
10653
|
+
return true;
|
|
10654
|
+
}
|
|
10655
|
+
if (markerName === MESSAGE_DELIVERY_STATUS.PLAYED && currentDeliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED) {
|
|
10656
|
+
return true;
|
|
10657
|
+
}
|
|
10658
|
+
return false;
|
|
10659
|
+
};
|
|
10660
|
+
var updateMessageDeliveryStatusAndMarkers = function updateMessageDeliveryStatusAndMarkers(message, markerName) {
|
|
10661
|
+
var _message$markerTotals;
|
|
10662
|
+
if (shouldSkipDeliveryStatusUpdate(markerName, message.deliveryStatus)) {
|
|
10663
|
+
return {
|
|
10664
|
+
markerTotals: message.markerTotals,
|
|
10665
|
+
deliveryStatus: message.deliveryStatus
|
|
10666
|
+
};
|
|
10667
|
+
}
|
|
10668
|
+
var markerInMarkersTotal = message === null || message === void 0 ? void 0 : (_message$markerTotals = message.markerTotals) === null || _message$markerTotals === void 0 ? void 0 : _message$markerTotals.find(function (marker) {
|
|
10669
|
+
return marker.name === markerName;
|
|
10670
|
+
});
|
|
10671
|
+
if (!markerInMarkersTotal) {
|
|
10672
|
+
return {
|
|
10673
|
+
markerTotals: [].concat(message.markerTotals || [], [{
|
|
10674
|
+
name: markerName,
|
|
10675
|
+
count: 1
|
|
10676
|
+
}]),
|
|
10677
|
+
deliveryStatus: markerName
|
|
10678
|
+
};
|
|
10679
|
+
} else {
|
|
10680
|
+
return {
|
|
10681
|
+
markerTotals: message.markerTotals.map(function (marker) {
|
|
10682
|
+
return marker.name === markerName ? _extends({}, marker, {
|
|
10683
|
+
count: marker.count + 1
|
|
10684
|
+
}) : marker;
|
|
10685
|
+
}),
|
|
10686
|
+
deliveryStatus: markerName
|
|
10687
|
+
};
|
|
10688
|
+
}
|
|
10689
|
+
};
|
|
10649
10690
|
var sendMessageHandler;
|
|
10650
10691
|
var setSendMessageHandler = function setSendMessageHandler(handler) {
|
|
10651
10692
|
sendMessageHandler = handler;
|
|
@@ -10677,7 +10718,8 @@ var updateMessageOnAllMessages = function updateMessageOnAllMessages(messageId,
|
|
|
10677
10718
|
if (updatedParams.state === MESSAGE_STATUS.DELETE) {
|
|
10678
10719
|
return _extends({}, updatedParams);
|
|
10679
10720
|
}
|
|
10680
|
-
var
|
|
10721
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, updatedParams.deliveryStatus);
|
|
10722
|
+
var updatedMessage = _extends({}, message, updatedParams, statusUpdatedMessage);
|
|
10681
10723
|
if (voteDetails) {
|
|
10682
10724
|
updatedMessage = _extends({}, updatedMessage, {
|
|
10683
10725
|
pollDetails: handleVoteDetails(voteDetails, updatedMessage)
|
|
@@ -10688,6 +10730,15 @@ var updateMessageOnAllMessages = function updateMessageOnAllMessages(messageId,
|
|
|
10688
10730
|
return message;
|
|
10689
10731
|
});
|
|
10690
10732
|
};
|
|
10733
|
+
var updateMessageStatusOnAllMessages = function updateMessageStatusOnAllMessages(name, markersMap) {
|
|
10734
|
+
activeChannelAllMessages = activeChannelAllMessages.map(function (message) {
|
|
10735
|
+
if (markersMap[message.id]) {
|
|
10736
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, name);
|
|
10737
|
+
return _extends({}, message, statusUpdatedMessage);
|
|
10738
|
+
}
|
|
10739
|
+
return message;
|
|
10740
|
+
});
|
|
10741
|
+
};
|
|
10691
10742
|
var removeMessageFromAllMessages = function removeMessageFromAllMessages(messageId) {
|
|
10692
10743
|
activeChannelAllMessages = [].concat(activeChannelAllMessages).filter(function (msg) {
|
|
10693
10744
|
return !(msg.id === messageId || msg.tid === messageId);
|
|
@@ -10695,12 +10746,11 @@ var removeMessageFromAllMessages = function removeMessageFromAllMessages(message
|
|
|
10695
10746
|
};
|
|
10696
10747
|
var updateMarkersOnAllMessages = function updateMarkersOnAllMessages(markersMap, name) {
|
|
10697
10748
|
activeChannelAllMessages = activeChannelAllMessages.map(function (message) {
|
|
10698
|
-
if (markersMap[message.id]
|
|
10699
|
-
return
|
|
10700
|
-
deliveryStatus: name
|
|
10701
|
-
});
|
|
10749
|
+
if (!markersMap[message.id]) {
|
|
10750
|
+
return message;
|
|
10702
10751
|
}
|
|
10703
|
-
|
|
10752
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, name);
|
|
10753
|
+
return _extends({}, message, statusUpdatedMessage);
|
|
10704
10754
|
});
|
|
10705
10755
|
};
|
|
10706
10756
|
var getAllMessages = function getAllMessages() {
|
|
@@ -10778,7 +10828,8 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
|
|
|
10778
10828
|
var _pendingMessagesMap$c;
|
|
10779
10829
|
var updatedPendingMessages = (_pendingMessagesMap$c = pendingMessagesMap[channelId]) === null || _pendingMessagesMap$c === void 0 ? void 0 : _pendingMessagesMap$c.map(function (msg) {
|
|
10780
10830
|
if (msg.tid === updatedMessage.messageId) {
|
|
10781
|
-
|
|
10831
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(msg, updatedMessage.params.deliveryStatus);
|
|
10832
|
+
return _extends({}, msg, updatedMessage.params, statusUpdatedMessage);
|
|
10782
10833
|
}
|
|
10783
10834
|
return msg;
|
|
10784
10835
|
});
|
|
@@ -10800,7 +10851,8 @@ function updateMessageOnMap(channelId, updatedMessage, voteDetails) {
|
|
|
10800
10851
|
messagesList.push(_extends({}, mes, updatedMessageData));
|
|
10801
10852
|
continue;
|
|
10802
10853
|
} else {
|
|
10803
|
-
|
|
10854
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(mes, updatedMessage.params.deliveryStatus);
|
|
10855
|
+
updatedMessageData = _extends({}, mes, updatedMessage.params, statusUpdatedMessage);
|
|
10804
10856
|
var voteDetailsData = void 0;
|
|
10805
10857
|
if (voteDetails) {
|
|
10806
10858
|
voteDetailsData = handleVoteDetails(voteDetails, updatedMessageData);
|
|
@@ -10899,12 +10951,11 @@ function updateMessageStatusOnMap(channelId, newMarkers) {
|
|
|
10899
10951
|
messagesMap[channelId] = messagesMap[channelId].map(function (mes) {
|
|
10900
10952
|
var name = newMarkers.name;
|
|
10901
10953
|
var markersMap = newMarkers.markersMap;
|
|
10902
|
-
if (markersMap[mes.id]
|
|
10903
|
-
return
|
|
10904
|
-
deliveryStatus: name
|
|
10905
|
-
});
|
|
10954
|
+
if (!markersMap[mes.id]) {
|
|
10955
|
+
return mes;
|
|
10906
10956
|
}
|
|
10907
|
-
|
|
10957
|
+
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(mes, name);
|
|
10958
|
+
return _extends({}, mes, statusUpdatedMessage);
|
|
10908
10959
|
});
|
|
10909
10960
|
}
|
|
10910
10961
|
}
|
|
@@ -11125,7 +11176,8 @@ var initialState$1 = {
|
|
|
11125
11176
|
pollVotesLoadingState: {},
|
|
11126
11177
|
pollVotesInitialCount: null,
|
|
11127
11178
|
pendingPollActions: {},
|
|
11128
|
-
pendingMessagesMap: {}
|
|
11179
|
+
pendingMessagesMap: {},
|
|
11180
|
+
unreadScrollTo: true
|
|
11129
11181
|
};
|
|
11130
11182
|
var messageSlice = createSlice({
|
|
11131
11183
|
name: 'messages',
|
|
@@ -11159,6 +11211,9 @@ var messageSlice = createSlice({
|
|
|
11159
11211
|
setShowScrollToNewMessageButton: function setShowScrollToNewMessageButton(state, action) {
|
|
11160
11212
|
state.showScrollToNewMessageButton = action.payload.state;
|
|
11161
11213
|
},
|
|
11214
|
+
setUnreadScrollTo: function setUnreadScrollTo(state, action) {
|
|
11215
|
+
state.unreadScrollTo = action.payload.state;
|
|
11216
|
+
},
|
|
11162
11217
|
setMessages: function setMessages(state, action) {
|
|
11163
11218
|
state.activeChannelMessages = action.payload.messages;
|
|
11164
11219
|
},
|
|
@@ -11219,17 +11274,18 @@ var messageSlice = createSlice({
|
|
|
11219
11274
|
markersMap = _action$payload2.markersMap;
|
|
11220
11275
|
var markerName = name;
|
|
11221
11276
|
for (var index = 0; index < state.activeChannelMessages.length; index++) {
|
|
11222
|
-
if (
|
|
11223
|
-
continue;
|
|
11224
|
-
}
|
|
11225
|
-
if (markerName === MESSAGE_DELIVERY_STATUS.READ && (state.activeChannelMessages[index].deliveryStatus === MESSAGE_DELIVERY_STATUS.READ || state.activeChannelMessages[index].deliveryStatus === MESSAGE_DELIVERY_STATUS.PLAYED)) {
|
|
11277
|
+
if (!markersMap[state.activeChannelMessages[index].id]) {
|
|
11226
11278
|
continue;
|
|
11227
11279
|
}
|
|
11228
|
-
if (
|
|
11229
|
-
|
|
11230
|
-
|
|
11231
|
-
|
|
11232
|
-
|
|
11280
|
+
if (state.activeChannelMessages[index].state !== 'Deleted') {
|
|
11281
|
+
var message = state.activeChannelMessages[index];
|
|
11282
|
+
var _updateMessageDeliver = updateMessageDeliveryStatusAndMarkers(message, markerName),
|
|
11283
|
+
markerTotals = _updateMessageDeliver.markerTotals,
|
|
11284
|
+
deliveryStatus = _updateMessageDeliver.deliveryStatus;
|
|
11285
|
+
state.activeChannelMessages[index] = _extends({}, message, {
|
|
11286
|
+
markerTotals: markerTotals,
|
|
11287
|
+
deliveryStatus: deliveryStatus
|
|
11288
|
+
});
|
|
11233
11289
|
}
|
|
11234
11290
|
}
|
|
11235
11291
|
},
|
|
@@ -11246,10 +11302,15 @@ var messageSlice = createSlice({
|
|
|
11246
11302
|
if (params.state === MESSAGE_STATUS.DELETE) {
|
|
11247
11303
|
return _extends({}, params);
|
|
11248
11304
|
} else {
|
|
11249
|
-
var
|
|
11305
|
+
var statusUpdatedMessage = null;
|
|
11306
|
+
if (params !== null && params !== void 0 && params.deliveryStatus) {
|
|
11307
|
+
statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, params.deliveryStatus);
|
|
11308
|
+
}
|
|
11309
|
+
var messageOldData = _extends({}, message, params, statusUpdatedMessage);
|
|
11310
|
+
var messageData = _extends({}, messageOldData);
|
|
11250
11311
|
if (voteDetails) {
|
|
11251
|
-
messageData = _extends({},
|
|
11252
|
-
pollDetails: handleVoteDetails(voteDetails,
|
|
11312
|
+
messageData = _extends({}, messageOldData, {
|
|
11313
|
+
pollDetails: handleVoteDetails(voteDetails, messageOldData)
|
|
11253
11314
|
});
|
|
11254
11315
|
}
|
|
11255
11316
|
if (messageData.deliveryStatus !== MESSAGE_DELIVERY_STATUS.PENDING) {
|
|
@@ -11693,6 +11754,7 @@ var _messageSlice$actions = messageSlice.actions,
|
|
|
11693
11754
|
setScrollToMentionedMessage = _messageSlice$actions.setScrollToMentionedMessage,
|
|
11694
11755
|
setScrollToNewMessage = _messageSlice$actions.setScrollToNewMessage,
|
|
11695
11756
|
setShowScrollToNewMessageButton = _messageSlice$actions.setShowScrollToNewMessageButton,
|
|
11757
|
+
setUnreadScrollTo = _messageSlice$actions.setUnreadScrollTo,
|
|
11696
11758
|
setMessages = _messageSlice$actions.setMessages,
|
|
11697
11759
|
addMessages = _messageSlice$actions.addMessages,
|
|
11698
11760
|
updateMessagesStatus = _messageSlice$actions.updateMessagesStatus,
|
|
@@ -14786,9 +14848,7 @@ function watchForEvents() {
|
|
|
14786
14848
|
_context2.n = 58;
|
|
14787
14849
|
return put(scrollToNewMessageAC(true, false, true));
|
|
14788
14850
|
case 58:
|
|
14789
|
-
|
|
14790
|
-
addMessageToMap(_channel5.id, message);
|
|
14791
|
-
}
|
|
14851
|
+
addMessageToMap(_channel5.id, message);
|
|
14792
14852
|
_context2.n = 59;
|
|
14793
14853
|
return put(updateChannelDataAC(_channel5.id, {
|
|
14794
14854
|
messageCount: channelForAdd.messageCount,
|
|
@@ -14988,6 +15048,7 @@ function watchForEvents() {
|
|
|
14988
15048
|
name: markerList.name,
|
|
14989
15049
|
markersMap: markersMap
|
|
14990
15050
|
});
|
|
15051
|
+
updateMessageStatusOnAllMessages(markerList.name, markersMap);
|
|
14991
15052
|
_context2.n = 77;
|
|
14992
15053
|
return put(updateMessagesMarkersAC(channelId, markerList.name, markerList));
|
|
14993
15054
|
case 77:
|
|
@@ -16856,7 +16917,7 @@ function switchChannel(action) {
|
|
|
16856
16917
|
}
|
|
16857
16918
|
currentActiveChannel = getChannelFromMap(getActiveChannelId());
|
|
16858
16919
|
_context10.n = 11;
|
|
16859
|
-
return
|
|
16920
|
+
return put(setUnreadScrollToAC(true));
|
|
16860
16921
|
case 11:
|
|
16861
16922
|
_context10.n = 12;
|
|
16862
16923
|
return call(setActiveChannelId, channel && channel.id);
|
|
@@ -18500,6 +18561,9 @@ var pendingPollActionsSelector = function pendingPollActionsSelector(store) {
|
|
|
18500
18561
|
var pendingMessagesMapSelector = function pendingMessagesMapSelector(store) {
|
|
18501
18562
|
return store.MessageReducer.pendingMessagesMap;
|
|
18502
18563
|
};
|
|
18564
|
+
var unreadScrollToSelector = function unreadScrollToSelector(store) {
|
|
18565
|
+
return store.MessageReducer.unreadScrollTo;
|
|
18566
|
+
};
|
|
18503
18567
|
|
|
18504
18568
|
var getFrame = function getFrame(videoSrc, time) {
|
|
18505
18569
|
try {
|
|
@@ -19221,15 +19285,12 @@ function sendTextMessage(action) {
|
|
|
19221
19285
|
throw new Error('Connection required to send message');
|
|
19222
19286
|
case 17:
|
|
19223
19287
|
_context4.n = 18;
|
|
19224
|
-
return put(getMessagesAC(channel, true, channel.lastMessage.id, undefined, undefined, false));
|
|
19225
|
-
case 18:
|
|
19226
|
-
_context4.n = 19;
|
|
19227
19288
|
return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
19228
|
-
case
|
|
19229
|
-
_context4.n =
|
|
19289
|
+
case 18:
|
|
19290
|
+
_context4.n = 21;
|
|
19230
19291
|
break;
|
|
19231
|
-
case
|
|
19232
|
-
_context4.p =
|
|
19292
|
+
case 19:
|
|
19293
|
+
_context4.p = 19;
|
|
19233
19294
|
_t3 = _context4.v;
|
|
19234
19295
|
log.error('error on send text message ... ', _t3);
|
|
19235
19296
|
updateMessageOnMap(channel.id, {
|
|
@@ -19239,23 +19300,23 @@ function sendTextMessage(action) {
|
|
|
19239
19300
|
}
|
|
19240
19301
|
});
|
|
19241
19302
|
if (!(activeChannelId === channel.id)) {
|
|
19242
|
-
_context4.n =
|
|
19303
|
+
_context4.n = 20;
|
|
19243
19304
|
break;
|
|
19244
19305
|
}
|
|
19245
19306
|
updateMessageOnAllMessages(sendMessageTid, {
|
|
19246
19307
|
state: MESSAGE_STATUS.FAILED
|
|
19247
19308
|
});
|
|
19248
|
-
_context4.n =
|
|
19309
|
+
_context4.n = 20;
|
|
19249
19310
|
return put(updateMessageAC(sendMessageTid, {
|
|
19250
19311
|
state: MESSAGE_STATUS.FAILED
|
|
19251
19312
|
}));
|
|
19252
|
-
case
|
|
19253
|
-
_context4.n =
|
|
19313
|
+
case 20:
|
|
19314
|
+
_context4.n = 21;
|
|
19254
19315
|
return put(setMessagesLoadingStateAC(LOADING_STATE.LOADED));
|
|
19255
|
-
case
|
|
19316
|
+
case 21:
|
|
19256
19317
|
return _context4.a(2);
|
|
19257
19318
|
}
|
|
19258
|
-
}, _marked2$2, null, [[3,
|
|
19319
|
+
}, _marked2$2, null, [[3, 19]]);
|
|
19259
19320
|
}
|
|
19260
19321
|
function forwardMessage(action) {
|
|
19261
19322
|
var payload, message, channelId, connectionState, isForward, channel, SceytChatClient, mentionedUserIds, attachments, attachmentBuilder, att, messageBuilder, pollDetails, messageToSend, pendingMessage, activeChannelId, isCachedChannel, hasNextMessages, messageResponse, messageUpdateData, messageToUpdate, channelUpdateParam, _t4;
|
|
@@ -19927,7 +19988,7 @@ function editMessage(action) {
|
|
|
19927
19988
|
}, _marked6$1, null, [[0, 5]]);
|
|
19928
19989
|
}
|
|
19929
19990
|
function getMessagesQuery(action) {
|
|
19930
|
-
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, pendingMessages, _messagesMap, filteredPendingMessages, _t9;
|
|
19991
|
+
var _action$payload, channel, loadWithLastMessage, messageId, limit, withDeliveredMessages, highlight, behavior, SceytChatClient, messageQueryBuilder, messageQuery, cachedMessages, result, allMessages, havLastMessage, secondResult, sentMessages, messagesMap, filteredSentMessages, _allMessages, messageIndex, maxLengthPart, _secondResult, thirdResult, _secondResult2, _thirdResult, _secondResult3, _secondResult4, updatedMessages, lastMessageId, _allMessages2, allMessagesAfterLastMessage, pendingMessages, _messagesMap, filteredPendingMessages, _t9;
|
|
19931
19992
|
return _regenerator().w(function (_context9) {
|
|
19932
19993
|
while (1) switch (_context9.p = _context9.n) {
|
|
19933
19994
|
case 0:
|
|
@@ -20208,13 +20269,19 @@ function getMessagesQuery(action) {
|
|
|
20208
20269
|
updateMessageOnAllMessages(msg.id, updatedMessage || msg);
|
|
20209
20270
|
updatedMessages.push(updatedMessage || msg);
|
|
20210
20271
|
});
|
|
20272
|
+
lastMessageId = updatedMessages[updatedMessages.length - 1].id;
|
|
20273
|
+
_allMessages2 = getAllMessages();
|
|
20274
|
+
allMessagesAfterLastMessage = _allMessages2.filter(function (msg) {
|
|
20275
|
+
return msg.id > lastMessageId;
|
|
20276
|
+
});
|
|
20277
|
+
updatedMessages = [].concat(updatedMessages, allMessagesAfterLastMessage);
|
|
20211
20278
|
setMessagesToMap(channel.id, updatedMessages);
|
|
20212
|
-
setAllMessages(
|
|
20279
|
+
setAllMessages(updatedMessages);
|
|
20213
20280
|
_context9.n = 44;
|
|
20214
20281
|
return put(setMessagesAC(JSON.parse(JSON.stringify(updatedMessages))));
|
|
20215
20282
|
case 44:
|
|
20216
20283
|
_context9.n = 45;
|
|
20217
|
-
return put(setMessagesHasPrevAC(
|
|
20284
|
+
return put(setMessagesHasPrevAC(true));
|
|
20218
20285
|
case 45:
|
|
20219
20286
|
_context9.n = 46;
|
|
20220
20287
|
return put(setMessagesHasNextAC(false));
|
|
@@ -36453,6 +36520,7 @@ var Message$1 = function Message(_ref) {
|
|
|
36453
36520
|
reactionsPopupHorizontalPosition = _useState10[0],
|
|
36454
36521
|
setReactionsPopupHorizontalPosition = _useState10[1];
|
|
36455
36522
|
var scrollToNewMessage = useSelector(scrollToNewMessageSelector, shallowEqual);
|
|
36523
|
+
var unreadScrollTo = useSelector(unreadScrollToSelector, shallowEqual);
|
|
36456
36524
|
var messageItemRef = useRef();
|
|
36457
36525
|
var isVisible = useOnScreen(messageItemRef);
|
|
36458
36526
|
var reactionsCount = message.reactionTotals && message.reactionTotals.reduce(function (prevValue, currentValue) {
|
|
@@ -36617,7 +36685,7 @@ var Message$1 = function Message(_ref) {
|
|
|
36617
36685
|
}
|
|
36618
36686
|
if (isVisible && message.incoming && !(message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
|
|
36619
36687
|
return marker.name === MESSAGE_DELIVERY_STATUS.READ;
|
|
36620
|
-
})) && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
36688
|
+
})) && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED && !unreadScrollTo) {
|
|
36621
36689
|
dispatch(markMessagesAsReadAC(channel.id, [message.id]));
|
|
36622
36690
|
}
|
|
36623
36691
|
};
|
|
@@ -36657,7 +36725,7 @@ var Message$1 = function Message(_ref) {
|
|
|
36657
36725
|
}
|
|
36658
36726
|
};
|
|
36659
36727
|
useEffect(function () {
|
|
36660
|
-
if (isVisible) {
|
|
36728
|
+
if (isVisible && !unreadScrollTo) {
|
|
36661
36729
|
var _channel$lastMessage;
|
|
36662
36730
|
if (setLastVisibleMessageId) {
|
|
36663
36731
|
setLastVisibleMessageId(message.id);
|
|
@@ -37355,6 +37423,9 @@ var MessageList = function MessageList(_ref2) {
|
|
|
37355
37423
|
var dispatch = useDispatch();
|
|
37356
37424
|
var theme = useSelector(themeSelector);
|
|
37357
37425
|
var channel = useSelector(activeChannelSelector);
|
|
37426
|
+
var _useState = useState(false),
|
|
37427
|
+
scrollIntoView = _useState[0],
|
|
37428
|
+
setScrollIntoView = _useState[1];
|
|
37358
37429
|
var contactsMap = useSelector(contactsMapSelector, shallowEqual);
|
|
37359
37430
|
var connectionStatus = useSelector(connectionStatusSelector, shallowEqual);
|
|
37360
37431
|
var openedMessageMenuId = useSelector(openedMessageMenuSelector, shallowEqual);
|
|
@@ -37373,43 +37444,44 @@ var MessageList = function MessageList(_ref2) {
|
|
|
37373
37444
|
var pollPendingPollActions = useSelector(pendingPollActionsSelector, shallowEqual);
|
|
37374
37445
|
var pendingMessagesMap = useSelector(pendingMessagesMapSelector, shallowEqual);
|
|
37375
37446
|
var showScrollToNewMessageButton = useSelector(showScrollToNewMessageButtonSelector, shallowEqual);
|
|
37447
|
+
var unreadScrollTo = useSelector(unreadScrollToSelector, shallowEqual);
|
|
37376
37448
|
var messages = useSelector(activeChannelMessagesSelector, shallowEqual) || [];
|
|
37377
|
-
var
|
|
37378
|
-
unreadMessageId =
|
|
37379
|
-
setUnreadMessageId =
|
|
37380
|
-
var _useState2 = useState(null),
|
|
37381
|
-
mediaFile = _useState2[0],
|
|
37382
|
-
setMediaFile = _useState2[1];
|
|
37449
|
+
var _useState2 = useState(''),
|
|
37450
|
+
unreadMessageId = _useState2[0],
|
|
37451
|
+
setUnreadMessageId = _useState2[1];
|
|
37383
37452
|
var _useState3 = useState(null),
|
|
37384
|
-
|
|
37385
|
-
|
|
37453
|
+
mediaFile = _useState3[0],
|
|
37454
|
+
setMediaFile = _useState3[1];
|
|
37386
37455
|
var _useState4 = useState(null),
|
|
37387
|
-
|
|
37388
|
-
|
|
37389
|
-
var _useState5 = useState(
|
|
37390
|
-
|
|
37391
|
-
|
|
37456
|
+
isDragging = _useState4[0],
|
|
37457
|
+
setIsDragging = _useState4[1];
|
|
37458
|
+
var _useState5 = useState(null),
|
|
37459
|
+
showTopDate = _useState5[0],
|
|
37460
|
+
setShowTopDate = _useState5[1];
|
|
37392
37461
|
var _useState6 = useState(false),
|
|
37393
|
-
|
|
37394
|
-
|
|
37462
|
+
stopScrolling = _useState6[0],
|
|
37463
|
+
setStopScrolling = _useState6[1];
|
|
37464
|
+
var _useState7 = useState(false),
|
|
37465
|
+
isScrolling = _useState7[0],
|
|
37466
|
+
setIsScrolling = _useState7[1];
|
|
37395
37467
|
var hideTopDateTimeout = useRef(null);
|
|
37396
|
-
var
|
|
37397
|
-
lastVisibleMessageId =
|
|
37398
|
-
_setLastVisibleMessageId =
|
|
37399
|
-
var
|
|
37400
|
-
scrollToReply =
|
|
37401
|
-
setScrollToReply =
|
|
37402
|
-
var
|
|
37403
|
-
previousScrollTop =
|
|
37404
|
-
setPreviousScrollTop =
|
|
37405
|
-
var
|
|
37406
|
-
shouldPreserveScroll =
|
|
37407
|
-
setShouldPreserveScroll =
|
|
37468
|
+
var _useState8 = useState(''),
|
|
37469
|
+
lastVisibleMessageId = _useState8[0],
|
|
37470
|
+
_setLastVisibleMessageId = _useState8[1];
|
|
37471
|
+
var _useState9 = useState(null),
|
|
37472
|
+
scrollToReply = _useState9[0],
|
|
37473
|
+
setScrollToReply = _useState9[1];
|
|
37474
|
+
var _useState0 = useState(0),
|
|
37475
|
+
previousScrollTop = _useState0[0],
|
|
37476
|
+
setPreviousScrollTop = _useState0[1];
|
|
37477
|
+
var _useState1 = useState(false),
|
|
37478
|
+
shouldPreserveScroll = _useState1[0],
|
|
37479
|
+
setShouldPreserveScroll = _useState1[1];
|
|
37408
37480
|
var messageForReply = {};
|
|
37409
37481
|
var attachmentsSelected = false;
|
|
37410
|
-
var
|
|
37411
|
-
topDateLabel =
|
|
37412
|
-
setTopDateLabel =
|
|
37482
|
+
var _useState10 = useState(''),
|
|
37483
|
+
topDateLabel = _useState10[0],
|
|
37484
|
+
setTopDateLabel = _useState10[1];
|
|
37413
37485
|
var scrollRef = useRef(null);
|
|
37414
37486
|
var loadFromServerRef = useRef(false);
|
|
37415
37487
|
var loadDirectionRef = useRef('');
|
|
@@ -37898,6 +37970,8 @@ var MessageList = function MessageList(_ref2) {
|
|
|
37898
37970
|
};
|
|
37899
37971
|
}, [messagesLoading, messages, lastVisibleMessageId]);
|
|
37900
37972
|
useEffect(function () {
|
|
37973
|
+
var interval = null;
|
|
37974
|
+
log.info('connection status is changed.. .... ', connectionStatus, 'channel ... ', channel);
|
|
37901
37975
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
37902
37976
|
Object.keys(pendingMessagesMap).forEach(function (key) {
|
|
37903
37977
|
pendingMessagesMap[key].forEach(function (msg) {
|
|
@@ -37907,37 +37981,49 @@ var MessageList = function MessageList(_ref2) {
|
|
|
37907
37981
|
if (Object.keys(pollPendingPollActions).length > 0) {
|
|
37908
37982
|
dispatch(resendPendingPollActionsAC(connectionStatus));
|
|
37909
37983
|
}
|
|
37984
|
+
var count = 0;
|
|
37985
|
+
interval = setInterval(function () {
|
|
37986
|
+
if (count > 20) {
|
|
37987
|
+
clearInterval(interval);
|
|
37988
|
+
}
|
|
37989
|
+
count++;
|
|
37990
|
+
if (channel.id && Object.keys(pollPendingPollActions).length === 0 && Object.keys(pendingMessagesMap).length === 0) {
|
|
37991
|
+
clearInterval(interval);
|
|
37992
|
+
loadingRef.current = false;
|
|
37993
|
+
prevDisableRef.current = false;
|
|
37994
|
+
nextDisableRef.current = false;
|
|
37995
|
+
clearMessagesMap();
|
|
37996
|
+
removeAllMessages();
|
|
37997
|
+
dispatch(getMessagesAC(channel));
|
|
37998
|
+
}
|
|
37999
|
+
}, 100);
|
|
37910
38000
|
}
|
|
37911
|
-
|
|
37912
|
-
|
|
37913
|
-
|
|
37914
|
-
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
37915
|
-
if (channel.id && Object.keys(pollPendingPollActions).length === 0 && Object.keys(pendingMessagesMap).length === 0) {
|
|
37916
|
-
loadingRef.current = false;
|
|
37917
|
-
prevDisableRef.current = false;
|
|
37918
|
-
nextDisableRef.current = false;
|
|
37919
|
-
clearMessagesMap();
|
|
37920
|
-
removeAllMessages();
|
|
37921
|
-
dispatch(getMessagesAC(channel));
|
|
38001
|
+
return function () {
|
|
38002
|
+
if (interval) {
|
|
38003
|
+
clearInterval(interval);
|
|
37922
38004
|
}
|
|
37923
|
-
}
|
|
37924
|
-
}, [connectionStatus
|
|
38005
|
+
};
|
|
38006
|
+
}, [connectionStatus]);
|
|
37925
38007
|
useEffect(function () {
|
|
37926
|
-
var unreadScrollTo = getUnreadScrollTo();
|
|
37927
38008
|
if (channel.newMessageCount && channel.newMessageCount > 0 && unreadScrollTo) {
|
|
37928
|
-
|
|
37929
|
-
|
|
38009
|
+
var scrollElement = document.getElementById('scrollableDiv');
|
|
38010
|
+
if (scrollElement) {
|
|
38011
|
+
scrollElement.style.scrollBehavior = 'inherit';
|
|
37930
38012
|
}
|
|
37931
38013
|
var lastReadMessageNode = document.getElementById(channel.lastDisplayedMessageId);
|
|
37932
|
-
if (lastReadMessageNode) {
|
|
37933
|
-
|
|
37934
|
-
|
|
37935
|
-
|
|
37936
|
-
}
|
|
37937
|
-
|
|
38014
|
+
if (lastReadMessageNode && scrollElement) {
|
|
38015
|
+
scrollElement.scrollTo({
|
|
38016
|
+
top: lastReadMessageNode.offsetTop - 200,
|
|
38017
|
+
behavior: 'smooth'
|
|
38018
|
+
});
|
|
38019
|
+
setScrollIntoView(true);
|
|
38020
|
+
setTimeout(function () {
|
|
38021
|
+
dispatch(setUnreadScrollToAC(false));
|
|
38022
|
+
setScrollIntoView(false);
|
|
38023
|
+
}, 100);
|
|
37938
38024
|
}
|
|
37939
38025
|
}
|
|
37940
|
-
}, [channel.id, channel.newMessageCount, channel.lastDisplayedMessageId]);
|
|
38026
|
+
}, [channel.id, channel.newMessageCount, scrollRef.current, unreadScrollTo, channel.lastDisplayedMessageId, scrollIntoView, messages.length]);
|
|
37941
38027
|
useEffect(function () {
|
|
37942
38028
|
return function () {
|
|
37943
38029
|
if (hideTopDateTimeout.current) {
|