Skip to content

Commit 1f40a06

Browse files
author
Sravan S
authored
hotfix: Use markAsReadScheduler in MessageList (#484)
Missed refactor markAsReadScheduler in `Channel/components/MessageList`
1 parent 778e922 commit 1f40a06

File tree

4 files changed

+15
-11
lines changed

4 files changed

+15
-11
lines changed

src/smart-components/Channel/components/MessageList/index.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ const MessageList: React.FC<MessageListProps> = ({
5656
? allMessages.filter((filterMessageList as (message: EveryMessage) => boolean))
5757
: allMessages;
5858
const store = useSendbirdStateContext();
59-
const markAsRead = store.config.markAsRead;
59+
const markAsReadScheduler = store.config.markAsReadScheduler;
6060

6161
const onScroll = (e) => {
6262
const element = e.target;
@@ -109,7 +109,7 @@ const MessageList: React.FC<MessageListProps> = ({
109109
type: messageActionTypes.MARK_AS_READ,
110110
payload: { channel: currentGroupChannel },
111111
});
112-
markAsRead?.push(currentGroupChannel);
112+
markAsReadScheduler?.push(currentGroupChannel);
113113
}
114114
};
115115

@@ -194,7 +194,7 @@ const MessageList: React.FC<MessageListProps> = ({
194194
scrollRef.current.scrollTop = scrollRef?.current?.scrollHeight - scrollRef?.current?.offsetHeight;
195195
}
196196
if (!disableMarkAsRead) {
197-
markAsRead?.push(currentGroupChannel);
197+
markAsReadScheduler?.push(currentGroupChannel);
198198
messagesDispatcher({
199199
type: messageActionTypes.MARK_AS_READ,
200200
payload: { channel: currentGroupChannel },

src/smart-components/Channel/context/ChannelProvider.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,7 @@ const ChannelProvider: React.FC<ChannelContextProps> = (props: ChannelContextPro
342342
logger,
343343
scrollRef,
344344
setQuoteMessage,
345+
markAsReadScheduler,
345346
},
346347
);
347348

@@ -383,6 +384,7 @@ const ChannelProvider: React.FC<ChannelContextProps> = (props: ChannelContextPro
383384
currentGroupChannel,
384385
messagesDispatcher,
385386
userFilledMessageListQuery,
387+
markAsReadScheduler,
386388
});
387389

388390
// callbacks for Message CURD actions

src/smart-components/Channel/context/hooks/useHandleChannelEvents.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import { CustomUseReducerDispatcher, Logger } from "../../../../lib/SendbirdStat
88
import uuidv4 from "../../../../utils/uuid";
99
import compareIds from '../../../../utils/compareIds';
1010
import * as messageActions from '../dux/actionTypes';
11+
import { MarkAsReadSchedulerType } from "../../../../lib/hooks/useMarkAsReadScheduler";
1112

1213
/**
1314
* Handles ChannelEvents and send values to dispatcher using messagesDispatcher
@@ -29,6 +30,7 @@ interface StaticParams {
2930
scrollRef: React.RefObject<HTMLDivElement>;
3031
setQuoteMessage: React.Dispatch<React.SetStateAction<UserMessage | FileMessage>>;
3132
messagesDispatcher: CustomUseReducerDispatcher;
33+
markAsReadScheduler: MarkAsReadSchedulerType;
3234
}
3335

3436
function useHandleChannelEvents({
@@ -38,6 +40,7 @@ function useHandleChannelEvents({
3840
currentGroupChannel,
3941
}: DynamicParams, {
4042
sdk,
43+
markAsReadScheduler,
4144
logger,
4245
scrollRef,
4346
setQuoteMessage,
@@ -70,10 +73,10 @@ function useHandleChannelEvents({
7073
) {
7174
// and !openContextMenu
7275
try {
76+
if (!disableMarkAsRead) {
77+
markAsReadScheduler?.push?.(currentGroupChannel);
78+
}
7379
setTimeout(() => {
74-
if (!disableMarkAsRead) {
75-
currentGroupChannel?.markAsRead?.();
76-
}
7780
scrollIntoLast(0, scrollRef);
7881
});
7982
} catch (error) {

src/smart-components/Channel/context/hooks/useHandleReconnect.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { PREV_RESULT_SIZE } from '../const';
77
import * as messageActionTypes from '../dux/actionTypes';
88
import { Logger } from '../../../../lib/SendbirdState';
99
import { NEXT_RESULT_SIZE } from '../const';
10+
import { MarkAsReadSchedulerType } from '../../../../lib/hooks/useMarkAsReadScheduler';
1011
interface DynamicParams {
1112
isOnline: boolean;
1213
replyType?: string;
@@ -18,6 +19,7 @@ interface StaticParams {
1819
sdk: SendbirdGroupChat;
1920
currentGroupChannel: GroupChannel;
2021
scrollRef: React.RefObject<HTMLDivElement>;
22+
markAsReadScheduler: MarkAsReadSchedulerType;
2123
messagesDispatcher: (props: { type: string, payload: any }) => void;
2224
userFilledMessageListQuery?: Record<string, any>;
2325
}
@@ -30,6 +32,7 @@ function useHandleReconnect(
3032
scrollRef,
3133
currentGroupChannel,
3234
messagesDispatcher,
35+
markAsReadScheduler,
3336
userFilledMessageListQuery,
3437
}: StaticParams,
3538
): void {
@@ -89,11 +92,7 @@ function useHandleReconnect(
8992
});
9093
})
9194
if (!disableMarkAsRead) {
92-
try {
93-
currentGroupChannel?.markAsRead?.();
94-
} catch {
95-
//
96-
}
95+
markAsReadScheduler?.push(currentGroupChannel);
9796
}
9897
});
9998
}

0 commit comments

Comments
 (0)