mirror of
https://github.com/cinnyapp/cinny.git
synced 2025-11-10 09:10:29 +03:00
Hidden Typing & Read Receipts (#2230)
* add hide activity toggle * stop sending/receiving typing status * send private read receipt when setting toggle is activated * prevent showing read-receipt when feature toggle in on
This commit is contained in:
parent
5c94471956
commit
b7e5e0db3e
21 changed files with 165 additions and 66 deletions
|
|
@ -2,6 +2,8 @@ import produce from 'immer';
|
|||
import { atom, useSetAtom } from 'jotai';
|
||||
import { MatrixClient, RoomMemberEvent, RoomMemberEventHandlerMap } from 'matrix-js-sdk';
|
||||
import { useEffect } from 'react';
|
||||
import { useSetting } from './hooks/settings';
|
||||
import { settingsAtom } from './settings';
|
||||
|
||||
export const TYPING_TIMEOUT_MS = 5000; // 5 seconds
|
||||
|
||||
|
|
@ -127,12 +129,16 @@ export const useBindRoomIdToTypingMembersAtom = (
|
|||
typingMembersAtom: typeof roomIdToTypingMembersAtom
|
||||
) => {
|
||||
const setTypingMembers = useSetAtom(typingMembersAtom);
|
||||
const [hideActivity] = useSetting(settingsAtom, 'hideActivity');
|
||||
|
||||
useEffect(() => {
|
||||
const handleTypingEvent: RoomMemberEventHandlerMap[RoomMemberEvent.Typing] = (
|
||||
event,
|
||||
member
|
||||
) => {
|
||||
if (hideActivity) {
|
||||
return;
|
||||
}
|
||||
setTypingMembers({
|
||||
type: member.typing ? 'PUT' : 'DELETE',
|
||||
roomId: member.roomId,
|
||||
|
|
@ -145,5 +151,5 @@ export const useBindRoomIdToTypingMembersAtom = (
|
|||
return () => {
|
||||
mx.removeListener(RoomMemberEvent.Typing, handleTypingEvent);
|
||||
};
|
||||
}, [mx, setTypingMembers]);
|
||||
}, [mx, setTypingMembers, hideActivity]);
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue