d46b91b1b8
Two Matrix protocol gaps (Phase A), gate-green (683 tests): - Mark as Unread: m.marked_unread room account data (+ com.famedly.marked_unread fallback), a new markedUnreadAtom binder that seeds from account data and clears on our own read receipt (MSC2867). RoomNavItem gains Mark as Unread / Read menu items and lights the row dot for a marked room. Tested. - Low Priority: m.lowpriority room tag mirroring favourites — a context-menu toggle (mutually exclusive with Favorite) and a collapsed Low Priority category sorted to the bottom of the Home room list. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
22 lines
1.1 KiB
TypeScript
22 lines
1.1 KiB
TypeScript
import { MatrixClient } from 'matrix-js-sdk';
|
|
import { allInvitesAtom, useBindAllInvitesAtom } from '../room-list/inviteList';
|
|
import { allRoomsAtom, useBindAllRoomsAtom } from '../room-list/roomList';
|
|
import { mDirectAtom, useBindMDirectAtom } from '../mDirectList';
|
|
import { roomToUnreadAtom, useBindRoomToUnreadAtom } from '../room/roomToUnread';
|
|
import { markedUnreadAtom, useBindMarkedUnreadAtom } from '../room/markedUnread';
|
|
import { roomToParentsAtom, useBindRoomToParentsAtom } from '../room/roomToParents';
|
|
import { roomIdToTypingMembersAtom, useBindRoomIdToTypingMembersAtom } from '../typingMembers';
|
|
import { threadNotificationsAtom, useBindThreadNotificationsAtom } from '../threadNotifications';
|
|
|
|
export const useBindAtoms = (mx: MatrixClient) => {
|
|
useBindMDirectAtom(mx, mDirectAtom);
|
|
useBindAllInvitesAtom(mx, allInvitesAtom);
|
|
useBindAllRoomsAtom(mx, allRoomsAtom);
|
|
useBindRoomToParentsAtom(mx, roomToParentsAtom);
|
|
useBindThreadNotificationsAtom(mx, threadNotificationsAtom);
|
|
useBindRoomToUnreadAtom(mx, roomToUnreadAtom);
|
|
useBindMarkedUnreadAtom(mx, markedUnreadAtom);
|
|
|
|
useBindRoomIdToTypingMembersAtom(mx, roomIdToTypingMembersAtom);
|
|
};
|