Skip to content

Commit 41823b8

Browse files
authored
fix: pass tmid to show typing status in threads (#6894)
1 parent ede2569 commit 41823b8

4 files changed

Lines changed: 13 additions & 7 deletions

File tree

app/actions/room.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,14 @@ interface IForwardRoom extends Action {
3939
rid: string;
4040
}
4141

42+
type IUserTypingArgs = {
43+
tmid?: string;
44+
};
45+
4246
interface IUserTyping extends Action {
4347
rid: string;
4448
status: boolean;
49+
args?: IUserTypingArgs;
4550
}
4651

4752
export interface IRoomHistoryRequest extends Action {
@@ -109,11 +114,12 @@ export function removedRoom(): Action {
109114
};
110115
}
111116

112-
export function userTyping(rid: string, status = true): IUserTyping {
117+
export function userTyping(rid: string, status = true, args?: IUserTypingArgs): IUserTyping {
113118
return {
114119
type: ROOM.USER_TYPING,
115120
rid,
116-
status
121+
status,
122+
args
117123
};
118124
}
119125

app/containers/MessageComposer/components/ComposerInput.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ export const ComposerInput = memo(
361361

362362
const handleTyping = (isTyping: boolean) => {
363363
if (sharing || !rid) return;
364-
dispatch(userTyping(rid, isTyping));
364+
dispatch(userTyping(rid, isTyping, tmid ? { tmid } : {}));
365365
};
366366

367367
return (

app/lib/services/restApi.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -950,14 +950,14 @@ export const addUsersToRoom = (rid: string): Promise<boolean> => {
950950
return sdk.methodCallWrapper('addUsersToRoom', { rid, users });
951951
};
952952

953-
export const emitTyping = (room: IRoom, typing = true) => {
953+
export const emitTyping = (room: IRoom, typing = true, args: { tmid?: string } = {}) => {
954954
const { login, settings, server } = reduxStore.getState();
955955
const { UI_Use_Real_Name } = settings;
956956
const { version: serverVersion } = server;
957957
const { user } = login;
958958
const name = UI_Use_Real_Name ? user.name : user.username;
959959
if (compareServerVersion(serverVersion, 'greaterThanOrEqualTo', '4.0.0')) {
960-
return sdk.methodCall('stream-notify-room', `${room}/user-activity`, name, typing ? ['user-typing'] : []);
960+
return sdk.methodCall('stream-notify-room', `${room}/user-activity`, name, typing ? ['user-typing'] : [], args);
961961
}
962962
return sdk.methodCall('stream-notify-room', `${room}/typing`, name, typing);
963963
};

app/sagas/room.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ const clearInactiveTyping = function* clearInactiveTyping({ rid }) {
5151
yield clearUserTyping({ rid, status: false });
5252
};
5353

54-
const watchUserTyping = function* watchUserTyping({ rid, status }) {
54+
const watchUserTyping = function* watchUserTyping({ rid, status, args }) {
5555
try {
5656
if (status) {
57-
yield emitTyping(rid, status);
57+
yield emitTyping(rid, status, args);
5858
if (inactiveTypingTask) {
5959
yield cancel(inactiveTypingTask);
6060
}

0 commit comments

Comments
 (0)