sceyt-chat-react-uikit 1.8.5-beta.13 → 1.8.5-beta.14
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/components/Messages/MessageList/useChatController.d.ts +2 -1
- package/index.js +49 -41
- package/index.modern.js +49 -41
- package/package.json +1 -1
|
@@ -44,8 +44,9 @@ export interface UseChatControllerParams {
|
|
|
44
44
|
selectedMessagesMap: Map<string, any>;
|
|
45
45
|
allowEditDeleteIncomingMessage: boolean;
|
|
46
46
|
dispatch: (...args: any[]) => void;
|
|
47
|
+
tabIsActive?: boolean;
|
|
47
48
|
}
|
|
48
|
-
export declare function useChatController({ messages, channel, hasPrevMessages, hasNextMessages, loadingPrevMessages, loadingNextMessages, connectionStatus, scrollToNewMessage, scrollToMentionedMessage, showScrollToNewMessageButton, unreadScrollTo, unreadMessageId, selectedMessagesMap, allowEditDeleteIncomingMessage, dispatch }: UseChatControllerParams): {
|
|
49
|
+
export declare function useChatController({ messages, channel, hasPrevMessages, hasNextMessages, loadingPrevMessages, loadingNextMessages, connectionStatus, scrollToNewMessage, scrollToMentionedMessage, showScrollToNewMessageButton, unreadScrollTo, unreadMessageId, selectedMessagesMap, allowEditDeleteIncomingMessage, tabIsActive, dispatch }: UseChatControllerParams): {
|
|
49
50
|
scrollRef: import("react").MutableRefObject<HTMLDivElement | null>;
|
|
50
51
|
setLastVisibleMessageId: (message: IMessage) => void;
|
|
51
52
|
handleScrollToRepliedMessage: (itemId: string, smooth?: boolean) => Promise<void>;
|
package/index.js
CHANGED
|
@@ -12084,6 +12084,8 @@ function updateMessageStatusOnMap(channelId, newMarkers, isOwnMarker) {
|
|
|
12084
12084
|
targetIds.forEach(function (messageId) {
|
|
12085
12085
|
var messageShouldBeUpdated = messagesMap[channelId][messageId];
|
|
12086
12086
|
if (messageShouldBeUpdated) {
|
|
12087
|
+
var isExplicit = explicitIds.includes(messageId);
|
|
12088
|
+
if (!isExplicit && shouldSkipDeliveryStatusUpdate(newMarkers.name, messageShouldBeUpdated.deliveryStatus)) return;
|
|
12087
12089
|
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(messageShouldBeUpdated, {
|
|
12088
12090
|
deliveryStatus: newMarkers.name,
|
|
12089
12091
|
marker: newMarkers.marker
|
|
@@ -12516,6 +12518,7 @@ var messageSlice = createSlice({
|
|
|
12516
12518
|
var beforeMax = isForwardMarker && maxMarkerId !== null && !!message.id ? BigInt(message.id) <= maxMarkerId : false;
|
|
12517
12519
|
if (!inMap && !beforeMax) continue;
|
|
12518
12520
|
if (message.state !== 'Deleted') {
|
|
12521
|
+
if (!inMap && shouldSkipDeliveryStatusUpdate(markerName, message.deliveryStatus)) continue;
|
|
12519
12522
|
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, {
|
|
12520
12523
|
deliveryStatus: markerName,
|
|
12521
12524
|
marker: marker
|
|
@@ -15634,7 +15637,7 @@ var getResolvedChannelLastMessage = function getResolvedChannelLastMessage(chann
|
|
|
15634
15637
|
};
|
|
15635
15638
|
function handleChannelMessageEvent(args, SceytChatClient) {
|
|
15636
15639
|
var _storedChannel$lastMe3, _storedChannel$lastMe4, _store$getState$Messa, _storedChannel$lastMe9, _message$parentMessag;
|
|
15637
|
-
var channel, message, messageToHandle, channelFilterTypes, activeChannelId, channelExists, channelForAdd, storedChannel, candidateLastMessage, resolvedLastMessage, shouldUpdateLastMessage, messages, lastMessageIsInActiveWindow, isSameLastMessage, resolvedLastMessageUpdate, _storedChannel$lastMe7, lastMessageIsVisible, messagesHasNext, existingMessage, channelDataUpdate, groupName, showNotifications,
|
|
15640
|
+
var channel, message, messageToHandle, channelFilterTypes, activeChannelId, channelExists, channelForAdd, storedChannel, candidateLastMessage, resolvedLastMessage, shouldUpdateLastMessage, messages, lastMessageIsInActiveWindow, isSameLastMessage, resolvedLastMessageUpdate, _storedChannel$lastMe7, lastMessageIsVisible, messagesHasNext, existingMessage, tabIsActive, channelDataUpdate, groupName, showNotifications, _tabIsActive, _state$ThemeReducer$n, _state$ThemeReducer$n2, _state$ThemeReducer$n3, _state$ThemeReducer$n4, _state$ThemeReducer$n5, _state$ThemeReducer$n6, contactsMap, getFromContacts, state, theme, accentColor, textSecondary, messageBody;
|
|
15638
15641
|
return _regenerator().w(function (_context) {
|
|
15639
15642
|
while (1) switch (_context.n) {
|
|
15640
15643
|
case 0:
|
|
@@ -15686,7 +15689,7 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15686
15689
|
return effects.put(updateChannelLastMessageAC(resolvedLastMessageUpdate, channelForAdd));
|
|
15687
15690
|
case 4:
|
|
15688
15691
|
if (!(channel.id === activeChannelId)) {
|
|
15689
|
-
_context.n =
|
|
15692
|
+
_context.n = 10;
|
|
15690
15693
|
break;
|
|
15691
15694
|
}
|
|
15692
15695
|
lastMessageIsVisible = storedChannel !== null && storedChannel !== void 0 && (_storedChannel$lastMe7 = storedChannel.lastMessage) !== null && _storedChannel$lastMe7 !== void 0 && _storedChannel$lastMe7.id ? Object.values(getVisibleMessagesMap()).some(function (visibleMessage) {
|
|
@@ -15695,7 +15698,7 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15695
15698
|
}) : false;
|
|
15696
15699
|
messagesHasNext = store.getState().MessageReducer.messagesHasNext;
|
|
15697
15700
|
if (!(!messagesHasNext && lastMessageIsInActiveWindow || !messages.length || !messages)) {
|
|
15698
|
-
_context.n =
|
|
15701
|
+
_context.n = 10;
|
|
15699
15702
|
break;
|
|
15700
15703
|
}
|
|
15701
15704
|
existingMessage = store.getState().MessageReducer.activeChannelMessages.find(function (m) {
|
|
@@ -15721,10 +15724,16 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15721
15724
|
_context.n = 8;
|
|
15722
15725
|
return effects.put(loadOGMetadataForLinkAC([message], true));
|
|
15723
15726
|
case 8:
|
|
15724
|
-
|
|
15725
|
-
|
|
15726
|
-
}
|
|
15727
|
+
_context.n = 9;
|
|
15728
|
+
return effects.select(browserTabIsActiveSelector);
|
|
15727
15729
|
case 9:
|
|
15730
|
+
tabIsActive = _context.v;
|
|
15731
|
+
if (lastMessageIsVisible && tabIsActive) {
|
|
15732
|
+
setTimeout(function () {
|
|
15733
|
+
navigateToLatest(true);
|
|
15734
|
+
}, 50);
|
|
15735
|
+
}
|
|
15736
|
+
case 10:
|
|
15728
15737
|
addMessageToMap(channel.id, message);
|
|
15729
15738
|
channelDataUpdate = _extends({
|
|
15730
15739
|
messageCount: channelForAdd.messageCount,
|
|
@@ -15745,33 +15754,33 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15745
15754
|
if (storedChannel !== null && storedChannel !== void 0 && (_storedChannel$lastMe9 = storedChannel.lastMessage) !== null && _storedChannel$lastMe9 !== void 0 && _storedChannel$lastMe9.id) {
|
|
15746
15755
|
appendMessageToLatestSegment(channel.id, message.id, storedChannel.lastMessage.id);
|
|
15747
15756
|
}
|
|
15748
|
-
_context.n =
|
|
15757
|
+
_context.n = 11;
|
|
15749
15758
|
return effects.put(updateChannelDataAC(channel.id, channelDataUpdate));
|
|
15750
|
-
case
|
|
15759
|
+
case 11:
|
|
15751
15760
|
groupName = getChannelGroupName(channel);
|
|
15752
|
-
_context.n =
|
|
15761
|
+
_context.n = 12;
|
|
15753
15762
|
return effects.put(updateSearchedChannelDataAC(channel.id, channelDataUpdate, groupName));
|
|
15754
|
-
case
|
|
15763
|
+
case 12:
|
|
15755
15764
|
showNotifications = getShowNotifications();
|
|
15756
15765
|
if (!(showNotifications && !message.silent && message.user.id !== SceytChatClient.user.id && !channel.muted)) {
|
|
15757
|
-
_context.n =
|
|
15766
|
+
_context.n = 15;
|
|
15758
15767
|
break;
|
|
15759
15768
|
}
|
|
15760
15769
|
if (!(Notification.permission === 'granted')) {
|
|
15761
|
-
_context.n =
|
|
15770
|
+
_context.n = 15;
|
|
15762
15771
|
break;
|
|
15763
15772
|
}
|
|
15764
|
-
_context.n =
|
|
15773
|
+
_context.n = 13;
|
|
15765
15774
|
return effects.select(browserTabIsActiveSelector);
|
|
15766
|
-
case
|
|
15767
|
-
|
|
15768
|
-
if (!(document.visibilityState !== 'visible' || !
|
|
15769
|
-
_context.n =
|
|
15775
|
+
case 13:
|
|
15776
|
+
_tabIsActive = _context.v;
|
|
15777
|
+
if (!(document.visibilityState !== 'visible' || !_tabIsActive || channel.id !== activeChannelId)) {
|
|
15778
|
+
_context.n = 15;
|
|
15770
15779
|
break;
|
|
15771
15780
|
}
|
|
15772
|
-
_context.n =
|
|
15781
|
+
_context.n = 14;
|
|
15773
15782
|
return effects.select(contactsMapSelector);
|
|
15774
|
-
case
|
|
15783
|
+
case 14:
|
|
15775
15784
|
contactsMap = _context.v;
|
|
15776
15785
|
getFromContacts = getShowOnlyContactUsers();
|
|
15777
15786
|
state = store.getState();
|
|
@@ -15791,25 +15800,25 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15791
15800
|
setNotification((message === null || message === void 0 ? void 0 : message.type) === exports.MESSAGE_TYPE.VIEW_ONCE ? "Self-destructing" : messageBody, message.user, channel, undefined, message.attachments && message.attachments.length ? message.attachments.find(function (att) {
|
|
15792
15801
|
return att.type !== attachmentTypes.link;
|
|
15793
15802
|
}) : undefined);
|
|
15794
|
-
case
|
|
15803
|
+
case 15:
|
|
15795
15804
|
if (!(message.repliedInThread && (_message$parentMessag = message.parentMessage) !== null && _message$parentMessag !== void 0 && _message$parentMessag.id)) {
|
|
15796
|
-
_context.n =
|
|
15805
|
+
_context.n = 17;
|
|
15797
15806
|
break;
|
|
15798
15807
|
}
|
|
15799
|
-
_context.n =
|
|
15808
|
+
_context.n = 16;
|
|
15800
15809
|
return effects.put(markMessagesAsDeliveredAC(message.parentMessage.id, [message.id]));
|
|
15801
|
-
case 15:
|
|
15802
|
-
_context.n = 17;
|
|
15803
|
-
break;
|
|
15804
15810
|
case 16:
|
|
15805
|
-
_context.n =
|
|
15806
|
-
|
|
15811
|
+
_context.n = 18;
|
|
15812
|
+
break;
|
|
15807
15813
|
case 17:
|
|
15814
|
+
_context.n = 18;
|
|
15815
|
+
return effects.put(markMessagesAsDeliveredAC(channel.id, [message.id]));
|
|
15816
|
+
case 18:
|
|
15808
15817
|
updateChannelOnAllChannels(channel.id, channelDataUpdate);
|
|
15809
15818
|
if (shouldUpdateLastMessage) {
|
|
15810
15819
|
updateChannelLastMessageOnAllChannels(channel.id, resolvedLastMessageUpdate);
|
|
15811
15820
|
}
|
|
15812
|
-
case
|
|
15821
|
+
case 19:
|
|
15813
15822
|
return _context.a(2);
|
|
15814
15823
|
}
|
|
15815
15824
|
}, _marked$1);
|
|
@@ -42741,7 +42750,8 @@ var Message$1 = function Message(_ref) {
|
|
|
42741
42750
|
selectedMessagesMap = _ref.selectedMessagesMap,
|
|
42742
42751
|
contactsMap = _ref.contactsMap,
|
|
42743
42752
|
openedMessageMenuId = _ref.openedMessageMenuId,
|
|
42744
|
-
tabIsActive = _ref.tabIsActive,
|
|
42753
|
+
_ref$tabIsActive = _ref.tabIsActive,
|
|
42754
|
+
tabIsActive = _ref$tabIsActive === void 0 ? true : _ref$tabIsActive,
|
|
42745
42755
|
connectionStatus = _ref.connectionStatus,
|
|
42746
42756
|
messageTextFontSize = _ref.messageTextFontSize,
|
|
42747
42757
|
messageTextLineHeight = _ref.messageTextLineHeight,
|
|
@@ -42996,14 +43006,14 @@ var Message$1 = function Message(_ref) {
|
|
|
42996
43006
|
}
|
|
42997
43007
|
if (isVisible && message.incoming && !(message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
|
|
42998
43008
|
return marker.name === MESSAGE_DELIVERY_STATUS.READ;
|
|
42999
|
-
})) && !disableAutoReadTracking && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
43009
|
+
})) && !disableAutoReadTracking && tabIsActive && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
43000
43010
|
if (queueReadMarker) {
|
|
43001
43011
|
queueReadMarker(channel.id, message.id);
|
|
43002
43012
|
} else {
|
|
43003
43013
|
dispatch(markMessagesAsReadAC(channel.id, [message.id]));
|
|
43004
43014
|
}
|
|
43005
43015
|
}
|
|
43006
|
-
}, [dispatch, message.incoming, message.userMarkers, message.id, isVisible, channel.id, channel.newMessageCount, connectionStatus, queueReadMarker, queueDeliveredMarker, disableAutoReadTracking]);
|
|
43016
|
+
}, [dispatch, message.incoming, message.userMarkers, message.id, isVisible, channel.id, channel.newMessageCount, connectionStatus, queueReadMarker, queueDeliveredMarker, disableAutoReadTracking, tabIsActive]);
|
|
43007
43017
|
var handleForwardMessage = React.useCallback(function (channelIds) {
|
|
43008
43018
|
if (channelIds && channelIds.length) {
|
|
43009
43019
|
channelIds.forEach(function (channelId) {
|
|
@@ -43057,22 +43067,17 @@ var Message$1 = function Message(_ref) {
|
|
|
43057
43067
|
removeMessageFromVisibleMessagesMap(message);
|
|
43058
43068
|
}
|
|
43059
43069
|
}
|
|
43060
|
-
}, [isVisible, setLastVisibleMessageId, message.id, handleSendReadMarker, channel.isLinkedChannel, channel.lastMessage, scrollToNewMessage.scrollToBottom, dispatch, message]);
|
|
43070
|
+
}, [isVisible, setLastVisibleMessageId, message.id, handleSendReadMarker, channel.isLinkedChannel, channel.lastMessage, scrollToNewMessage.scrollToBottom, dispatch, message, tabIsActive]);
|
|
43061
43071
|
React.useEffect(function () {
|
|
43062
43072
|
if (!isVisible && infoPopupOpen) {
|
|
43063
43073
|
setInfoPopupOpen(false);
|
|
43064
43074
|
}
|
|
43065
43075
|
}, [isVisible, infoPopupOpen]);
|
|
43066
|
-
useDidUpdate(function () {
|
|
43067
|
-
if (tabIsActive) {
|
|
43068
|
-
handleSendReadMarker();
|
|
43069
|
-
}
|
|
43070
|
-
}, [tabIsActive]);
|
|
43071
43076
|
useDidUpdate(function () {
|
|
43072
43077
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
43073
43078
|
handleSendReadMarker();
|
|
43074
43079
|
}
|
|
43075
|
-
}, [connectionStatus]);
|
|
43080
|
+
}, [connectionStatus, handleSendReadMarker]);
|
|
43076
43081
|
React.useEffect(function () {
|
|
43077
43082
|
if (emojisPopupOpen) {
|
|
43078
43083
|
var bottomPos = messageItemRef.current ? messageItemRef.current.getBoundingClientRect().bottom : 0;
|
|
@@ -43672,6 +43677,8 @@ function useChatController(_ref3) {
|
|
|
43672
43677
|
unreadMessageId = _ref3.unreadMessageId,
|
|
43673
43678
|
selectedMessagesMap = _ref3.selectedMessagesMap,
|
|
43674
43679
|
allowEditDeleteIncomingMessage = _ref3.allowEditDeleteIncomingMessage,
|
|
43680
|
+
_ref3$tabIsActive = _ref3.tabIsActive,
|
|
43681
|
+
tabIsActive = _ref3$tabIsActive === void 0 ? true : _ref3$tabIsActive,
|
|
43675
43682
|
dispatch = _ref3.dispatch;
|
|
43676
43683
|
var scrollRef = React.useRef(null);
|
|
43677
43684
|
var itemElementsRef = React.useRef(new Map());
|
|
@@ -43944,7 +43951,7 @@ function useChatController(_ref3) {
|
|
|
43944
43951
|
}, lockDuration);
|
|
43945
43952
|
}, [clearJumpScrollingLock]);
|
|
43946
43953
|
var queueVisibleUnreadCheck = React.useCallback(function () {
|
|
43947
|
-
if (pendingVisibleUnreadFrameRef.current !== null || unreadScrollTo) {
|
|
43954
|
+
if (pendingVisibleUnreadFrameRef.current !== null || unreadScrollTo || !tabIsActive) {
|
|
43948
43955
|
return;
|
|
43949
43956
|
}
|
|
43950
43957
|
pendingVisibleUnreadFrameRef.current = requestAnimationFrame(function () {
|
|
@@ -43988,7 +43995,7 @@ function useChatController(_ref3) {
|
|
|
43988
43995
|
registerLocallyReadUnreadMessages(ids.length);
|
|
43989
43996
|
dispatch(markMessagesAsReadAC(channel.id, ids));
|
|
43990
43997
|
});
|
|
43991
|
-
}, [channel.id, channel.lastDisplayedMessageId, channel.newMessageCount, dispatch, hasNext, messages, registerLocallyReadUnreadMessages, unreadScrollTo]);
|
|
43998
|
+
}, [channel.id, channel.lastDisplayedMessageId, channel.newMessageCount, dispatch, hasNext, messages, registerLocallyReadUnreadMessages, unreadScrollTo, tabIsActive]);
|
|
43992
43999
|
var timelineItems = React.useMemo(function () {
|
|
43993
44000
|
var unreadStartIndex = getUnreadDividerIndex(messages, unreadMessageId);
|
|
43994
44001
|
return messages.flatMap(function (message, index) {
|
|
@@ -45786,7 +45793,8 @@ var MessageList = function MessageList(_ref) {
|
|
|
45786
45793
|
unreadMessageId: unreadMessageId,
|
|
45787
45794
|
selectedMessagesMap: selectedMessagesMap,
|
|
45788
45795
|
allowEditDeleteIncomingMessage: allowEditDeleteIncomingMessage,
|
|
45789
|
-
dispatch: dispatch
|
|
45796
|
+
dispatch: dispatch,
|
|
45797
|
+
tabIsActive: browserTabIsActive
|
|
45790
45798
|
}),
|
|
45791
45799
|
scrollRef = _useChatController.scrollRef,
|
|
45792
45800
|
setLastVisibleMessageId = _useChatController.setLastVisibleMessageId,
|
package/index.modern.js
CHANGED
|
@@ -12083,6 +12083,8 @@ function updateMessageStatusOnMap(channelId, newMarkers, isOwnMarker) {
|
|
|
12083
12083
|
targetIds.forEach(function (messageId) {
|
|
12084
12084
|
var messageShouldBeUpdated = messagesMap[channelId][messageId];
|
|
12085
12085
|
if (messageShouldBeUpdated) {
|
|
12086
|
+
var isExplicit = explicitIds.includes(messageId);
|
|
12087
|
+
if (!isExplicit && shouldSkipDeliveryStatusUpdate(newMarkers.name, messageShouldBeUpdated.deliveryStatus)) return;
|
|
12086
12088
|
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(messageShouldBeUpdated, {
|
|
12087
12089
|
deliveryStatus: newMarkers.name,
|
|
12088
12090
|
marker: newMarkers.marker
|
|
@@ -12515,6 +12517,7 @@ var messageSlice = createSlice({
|
|
|
12515
12517
|
var beforeMax = isForwardMarker && maxMarkerId !== null && !!message.id ? BigInt(message.id) <= maxMarkerId : false;
|
|
12516
12518
|
if (!inMap && !beforeMax) continue;
|
|
12517
12519
|
if (message.state !== 'Deleted') {
|
|
12520
|
+
if (!inMap && shouldSkipDeliveryStatusUpdate(markerName, message.deliveryStatus)) continue;
|
|
12518
12521
|
var statusUpdatedMessage = updateMessageDeliveryStatusAndMarkers(message, {
|
|
12519
12522
|
deliveryStatus: markerName,
|
|
12520
12523
|
marker: marker
|
|
@@ -15633,7 +15636,7 @@ var getResolvedChannelLastMessage = function getResolvedChannelLastMessage(chann
|
|
|
15633
15636
|
};
|
|
15634
15637
|
function handleChannelMessageEvent(args, SceytChatClient) {
|
|
15635
15638
|
var _storedChannel$lastMe3, _storedChannel$lastMe4, _store$getState$Messa, _storedChannel$lastMe9, _message$parentMessag;
|
|
15636
|
-
var channel, message, messageToHandle, channelFilterTypes, activeChannelId, channelExists, channelForAdd, storedChannel, candidateLastMessage, resolvedLastMessage, shouldUpdateLastMessage, messages, lastMessageIsInActiveWindow, isSameLastMessage, resolvedLastMessageUpdate, _storedChannel$lastMe7, lastMessageIsVisible, messagesHasNext, existingMessage, channelDataUpdate, groupName, showNotifications,
|
|
15639
|
+
var channel, message, messageToHandle, channelFilterTypes, activeChannelId, channelExists, channelForAdd, storedChannel, candidateLastMessage, resolvedLastMessage, shouldUpdateLastMessage, messages, lastMessageIsInActiveWindow, isSameLastMessage, resolvedLastMessageUpdate, _storedChannel$lastMe7, lastMessageIsVisible, messagesHasNext, existingMessage, tabIsActive, channelDataUpdate, groupName, showNotifications, _tabIsActive, _state$ThemeReducer$n, _state$ThemeReducer$n2, _state$ThemeReducer$n3, _state$ThemeReducer$n4, _state$ThemeReducer$n5, _state$ThemeReducer$n6, contactsMap, getFromContacts, state, theme, accentColor, textSecondary, messageBody;
|
|
15637
15640
|
return _regenerator().w(function (_context) {
|
|
15638
15641
|
while (1) switch (_context.n) {
|
|
15639
15642
|
case 0:
|
|
@@ -15685,7 +15688,7 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15685
15688
|
return put(updateChannelLastMessageAC(resolvedLastMessageUpdate, channelForAdd));
|
|
15686
15689
|
case 4:
|
|
15687
15690
|
if (!(channel.id === activeChannelId)) {
|
|
15688
|
-
_context.n =
|
|
15691
|
+
_context.n = 10;
|
|
15689
15692
|
break;
|
|
15690
15693
|
}
|
|
15691
15694
|
lastMessageIsVisible = storedChannel !== null && storedChannel !== void 0 && (_storedChannel$lastMe7 = storedChannel.lastMessage) !== null && _storedChannel$lastMe7 !== void 0 && _storedChannel$lastMe7.id ? Object.values(getVisibleMessagesMap()).some(function (visibleMessage) {
|
|
@@ -15694,7 +15697,7 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15694
15697
|
}) : false;
|
|
15695
15698
|
messagesHasNext = store.getState().MessageReducer.messagesHasNext;
|
|
15696
15699
|
if (!(!messagesHasNext && lastMessageIsInActiveWindow || !messages.length || !messages)) {
|
|
15697
|
-
_context.n =
|
|
15700
|
+
_context.n = 10;
|
|
15698
15701
|
break;
|
|
15699
15702
|
}
|
|
15700
15703
|
existingMessage = store.getState().MessageReducer.activeChannelMessages.find(function (m) {
|
|
@@ -15720,10 +15723,16 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15720
15723
|
_context.n = 8;
|
|
15721
15724
|
return put(loadOGMetadataForLinkAC([message], true));
|
|
15722
15725
|
case 8:
|
|
15723
|
-
|
|
15724
|
-
|
|
15725
|
-
}
|
|
15726
|
+
_context.n = 9;
|
|
15727
|
+
return select(browserTabIsActiveSelector);
|
|
15726
15728
|
case 9:
|
|
15729
|
+
tabIsActive = _context.v;
|
|
15730
|
+
if (lastMessageIsVisible && tabIsActive) {
|
|
15731
|
+
setTimeout(function () {
|
|
15732
|
+
navigateToLatest(true);
|
|
15733
|
+
}, 50);
|
|
15734
|
+
}
|
|
15735
|
+
case 10:
|
|
15727
15736
|
addMessageToMap(channel.id, message);
|
|
15728
15737
|
channelDataUpdate = _extends({
|
|
15729
15738
|
messageCount: channelForAdd.messageCount,
|
|
@@ -15744,33 +15753,33 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15744
15753
|
if (storedChannel !== null && storedChannel !== void 0 && (_storedChannel$lastMe9 = storedChannel.lastMessage) !== null && _storedChannel$lastMe9 !== void 0 && _storedChannel$lastMe9.id) {
|
|
15745
15754
|
appendMessageToLatestSegment(channel.id, message.id, storedChannel.lastMessage.id);
|
|
15746
15755
|
}
|
|
15747
|
-
_context.n =
|
|
15756
|
+
_context.n = 11;
|
|
15748
15757
|
return put(updateChannelDataAC(channel.id, channelDataUpdate));
|
|
15749
|
-
case
|
|
15758
|
+
case 11:
|
|
15750
15759
|
groupName = getChannelGroupName(channel);
|
|
15751
|
-
_context.n =
|
|
15760
|
+
_context.n = 12;
|
|
15752
15761
|
return put(updateSearchedChannelDataAC(channel.id, channelDataUpdate, groupName));
|
|
15753
|
-
case
|
|
15762
|
+
case 12:
|
|
15754
15763
|
showNotifications = getShowNotifications();
|
|
15755
15764
|
if (!(showNotifications && !message.silent && message.user.id !== SceytChatClient.user.id && !channel.muted)) {
|
|
15756
|
-
_context.n =
|
|
15765
|
+
_context.n = 15;
|
|
15757
15766
|
break;
|
|
15758
15767
|
}
|
|
15759
15768
|
if (!(Notification.permission === 'granted')) {
|
|
15760
|
-
_context.n =
|
|
15769
|
+
_context.n = 15;
|
|
15761
15770
|
break;
|
|
15762
15771
|
}
|
|
15763
|
-
_context.n =
|
|
15772
|
+
_context.n = 13;
|
|
15764
15773
|
return select(browserTabIsActiveSelector);
|
|
15765
|
-
case
|
|
15766
|
-
|
|
15767
|
-
if (!(document.visibilityState !== 'visible' || !
|
|
15768
|
-
_context.n =
|
|
15774
|
+
case 13:
|
|
15775
|
+
_tabIsActive = _context.v;
|
|
15776
|
+
if (!(document.visibilityState !== 'visible' || !_tabIsActive || channel.id !== activeChannelId)) {
|
|
15777
|
+
_context.n = 15;
|
|
15769
15778
|
break;
|
|
15770
15779
|
}
|
|
15771
|
-
_context.n =
|
|
15780
|
+
_context.n = 14;
|
|
15772
15781
|
return select(contactsMapSelector);
|
|
15773
|
-
case
|
|
15782
|
+
case 14:
|
|
15774
15783
|
contactsMap = _context.v;
|
|
15775
15784
|
getFromContacts = getShowOnlyContactUsers();
|
|
15776
15785
|
state = store.getState();
|
|
@@ -15790,25 +15799,25 @@ function handleChannelMessageEvent(args, SceytChatClient) {
|
|
|
15790
15799
|
setNotification((message === null || message === void 0 ? void 0 : message.type) === MESSAGE_TYPE.VIEW_ONCE ? "Self-destructing" : messageBody, message.user, channel, undefined, message.attachments && message.attachments.length ? message.attachments.find(function (att) {
|
|
15791
15800
|
return att.type !== attachmentTypes.link;
|
|
15792
15801
|
}) : undefined);
|
|
15793
|
-
case
|
|
15802
|
+
case 15:
|
|
15794
15803
|
if (!(message.repliedInThread && (_message$parentMessag = message.parentMessage) !== null && _message$parentMessag !== void 0 && _message$parentMessag.id)) {
|
|
15795
|
-
_context.n =
|
|
15804
|
+
_context.n = 17;
|
|
15796
15805
|
break;
|
|
15797
15806
|
}
|
|
15798
|
-
_context.n =
|
|
15807
|
+
_context.n = 16;
|
|
15799
15808
|
return put(markMessagesAsDeliveredAC(message.parentMessage.id, [message.id]));
|
|
15800
|
-
case 15:
|
|
15801
|
-
_context.n = 17;
|
|
15802
|
-
break;
|
|
15803
15809
|
case 16:
|
|
15804
|
-
_context.n =
|
|
15805
|
-
|
|
15810
|
+
_context.n = 18;
|
|
15811
|
+
break;
|
|
15806
15812
|
case 17:
|
|
15813
|
+
_context.n = 18;
|
|
15814
|
+
return put(markMessagesAsDeliveredAC(channel.id, [message.id]));
|
|
15815
|
+
case 18:
|
|
15807
15816
|
updateChannelOnAllChannels(channel.id, channelDataUpdate);
|
|
15808
15817
|
if (shouldUpdateLastMessage) {
|
|
15809
15818
|
updateChannelLastMessageOnAllChannels(channel.id, resolvedLastMessageUpdate);
|
|
15810
15819
|
}
|
|
15811
|
-
case
|
|
15820
|
+
case 19:
|
|
15812
15821
|
return _context.a(2);
|
|
15813
15822
|
}
|
|
15814
15823
|
}, _marked$1);
|
|
@@ -42740,7 +42749,8 @@ var Message$1 = function Message(_ref) {
|
|
|
42740
42749
|
selectedMessagesMap = _ref.selectedMessagesMap,
|
|
42741
42750
|
contactsMap = _ref.contactsMap,
|
|
42742
42751
|
openedMessageMenuId = _ref.openedMessageMenuId,
|
|
42743
|
-
tabIsActive = _ref.tabIsActive,
|
|
42752
|
+
_ref$tabIsActive = _ref.tabIsActive,
|
|
42753
|
+
tabIsActive = _ref$tabIsActive === void 0 ? true : _ref$tabIsActive,
|
|
42744
42754
|
connectionStatus = _ref.connectionStatus,
|
|
42745
42755
|
messageTextFontSize = _ref.messageTextFontSize,
|
|
42746
42756
|
messageTextLineHeight = _ref.messageTextLineHeight,
|
|
@@ -42995,14 +43005,14 @@ var Message$1 = function Message(_ref) {
|
|
|
42995
43005
|
}
|
|
42996
43006
|
if (isVisible && message.incoming && !(message.userMarkers && message.userMarkers.length && message.userMarkers.find(function (marker) {
|
|
42997
43007
|
return marker.name === MESSAGE_DELIVERY_STATUS.READ;
|
|
42998
|
-
})) && !disableAutoReadTracking && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
43008
|
+
})) && !disableAutoReadTracking && tabIsActive && channel.newMessageCount && channel.newMessageCount > 0 && connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
42999
43009
|
if (queueReadMarker) {
|
|
43000
43010
|
queueReadMarker(channel.id, message.id);
|
|
43001
43011
|
} else {
|
|
43002
43012
|
dispatch(markMessagesAsReadAC(channel.id, [message.id]));
|
|
43003
43013
|
}
|
|
43004
43014
|
}
|
|
43005
|
-
}, [dispatch, message.incoming, message.userMarkers, message.id, isVisible, channel.id, channel.newMessageCount, connectionStatus, queueReadMarker, queueDeliveredMarker, disableAutoReadTracking]);
|
|
43015
|
+
}, [dispatch, message.incoming, message.userMarkers, message.id, isVisible, channel.id, channel.newMessageCount, connectionStatus, queueReadMarker, queueDeliveredMarker, disableAutoReadTracking, tabIsActive]);
|
|
43006
43016
|
var handleForwardMessage = useCallback(function (channelIds) {
|
|
43007
43017
|
if (channelIds && channelIds.length) {
|
|
43008
43018
|
channelIds.forEach(function (channelId) {
|
|
@@ -43056,22 +43066,17 @@ var Message$1 = function Message(_ref) {
|
|
|
43056
43066
|
removeMessageFromVisibleMessagesMap(message);
|
|
43057
43067
|
}
|
|
43058
43068
|
}
|
|
43059
|
-
}, [isVisible, setLastVisibleMessageId, message.id, handleSendReadMarker, channel.isLinkedChannel, channel.lastMessage, scrollToNewMessage.scrollToBottom, dispatch, message]);
|
|
43069
|
+
}, [isVisible, setLastVisibleMessageId, message.id, handleSendReadMarker, channel.isLinkedChannel, channel.lastMessage, scrollToNewMessage.scrollToBottom, dispatch, message, tabIsActive]);
|
|
43060
43070
|
useEffect(function () {
|
|
43061
43071
|
if (!isVisible && infoPopupOpen) {
|
|
43062
43072
|
setInfoPopupOpen(false);
|
|
43063
43073
|
}
|
|
43064
43074
|
}, [isVisible, infoPopupOpen]);
|
|
43065
|
-
useDidUpdate(function () {
|
|
43066
|
-
if (tabIsActive) {
|
|
43067
|
-
handleSendReadMarker();
|
|
43068
|
-
}
|
|
43069
|
-
}, [tabIsActive]);
|
|
43070
43075
|
useDidUpdate(function () {
|
|
43071
43076
|
if (connectionStatus === CONNECTION_STATUS.CONNECTED) {
|
|
43072
43077
|
handleSendReadMarker();
|
|
43073
43078
|
}
|
|
43074
|
-
}, [connectionStatus]);
|
|
43079
|
+
}, [connectionStatus, handleSendReadMarker]);
|
|
43075
43080
|
useEffect(function () {
|
|
43076
43081
|
if (emojisPopupOpen) {
|
|
43077
43082
|
var bottomPos = messageItemRef.current ? messageItemRef.current.getBoundingClientRect().bottom : 0;
|
|
@@ -43671,6 +43676,8 @@ function useChatController(_ref3) {
|
|
|
43671
43676
|
unreadMessageId = _ref3.unreadMessageId,
|
|
43672
43677
|
selectedMessagesMap = _ref3.selectedMessagesMap,
|
|
43673
43678
|
allowEditDeleteIncomingMessage = _ref3.allowEditDeleteIncomingMessage,
|
|
43679
|
+
_ref3$tabIsActive = _ref3.tabIsActive,
|
|
43680
|
+
tabIsActive = _ref3$tabIsActive === void 0 ? true : _ref3$tabIsActive,
|
|
43674
43681
|
dispatch = _ref3.dispatch;
|
|
43675
43682
|
var scrollRef = useRef(null);
|
|
43676
43683
|
var itemElementsRef = useRef(new Map());
|
|
@@ -43943,7 +43950,7 @@ function useChatController(_ref3) {
|
|
|
43943
43950
|
}, lockDuration);
|
|
43944
43951
|
}, [clearJumpScrollingLock]);
|
|
43945
43952
|
var queueVisibleUnreadCheck = useCallback(function () {
|
|
43946
|
-
if (pendingVisibleUnreadFrameRef.current !== null || unreadScrollTo) {
|
|
43953
|
+
if (pendingVisibleUnreadFrameRef.current !== null || unreadScrollTo || !tabIsActive) {
|
|
43947
43954
|
return;
|
|
43948
43955
|
}
|
|
43949
43956
|
pendingVisibleUnreadFrameRef.current = requestAnimationFrame(function () {
|
|
@@ -43987,7 +43994,7 @@ function useChatController(_ref3) {
|
|
|
43987
43994
|
registerLocallyReadUnreadMessages(ids.length);
|
|
43988
43995
|
dispatch(markMessagesAsReadAC(channel.id, ids));
|
|
43989
43996
|
});
|
|
43990
|
-
}, [channel.id, channel.lastDisplayedMessageId, channel.newMessageCount, dispatch, hasNext, messages, registerLocallyReadUnreadMessages, unreadScrollTo]);
|
|
43997
|
+
}, [channel.id, channel.lastDisplayedMessageId, channel.newMessageCount, dispatch, hasNext, messages, registerLocallyReadUnreadMessages, unreadScrollTo, tabIsActive]);
|
|
43991
43998
|
var timelineItems = useMemo(function () {
|
|
43992
43999
|
var unreadStartIndex = getUnreadDividerIndex(messages, unreadMessageId);
|
|
43993
44000
|
return messages.flatMap(function (message, index) {
|
|
@@ -45785,7 +45792,8 @@ var MessageList = function MessageList(_ref) {
|
|
|
45785
45792
|
unreadMessageId: unreadMessageId,
|
|
45786
45793
|
selectedMessagesMap: selectedMessagesMap,
|
|
45787
45794
|
allowEditDeleteIncomingMessage: allowEditDeleteIncomingMessage,
|
|
45788
|
-
dispatch: dispatch
|
|
45795
|
+
dispatch: dispatch,
|
|
45796
|
+
tabIsActive: browserTabIsActive
|
|
45789
45797
|
}),
|
|
45790
45798
|
scrollRef = _useChatController.scrollRef,
|
|
45791
45799
|
setLastVisibleMessageId = _useChatController.setLastVisibleMessageId,
|