feat(mtp): move useful stuff over to mtp directly
All checks were successful
Dependency builds / Build web (pull_request) Has been skipped
Dependency builds / Build desktop (pull_request) Has been skipped
Dependency builds / Test native MTP (pull_request) Has been skipped
Dependency builds / Build mobile (pull_request) Has been skipped
/ build-web (push) Successful in 6m14s
/ build-desktop (linux) (push) Successful in 11m36s
/ build-mobile (push) Successful in 24m26s
/ release (push) Successful in 1m39s
All checks were successful
Dependency builds / Build web (pull_request) Has been skipped
Dependency builds / Build desktop (pull_request) Has been skipped
Dependency builds / Test native MTP (pull_request) Has been skipped
Dependency builds / Build mobile (pull_request) Has been skipped
/ build-web (push) Successful in 6m14s
/ build-desktop (linux) (push) Successful in 11m36s
/ build-mobile (push) Successful in 24m26s
/ release (push) Successful in 1m39s
This commit is contained in:
parent
094cb910aa
commit
0a304e44f2
22 changed files with 1217 additions and 1870 deletions
18
packages/cache/src/sync.tsx
vendored
18
packages/cache/src/sync.tsx
vendored
|
|
@ -21,8 +21,7 @@ export function removeMissingContactSnapshots<T extends { UserId: number }>(
|
|||
}
|
||||
|
||||
export default function CacheSync() {
|
||||
const { addInterceptor, contextReady, freshContacts, subscribePush } =
|
||||
useMTP();
|
||||
const { addInterceptor, contextReady, freshContacts, subscribe } = useMTP();
|
||||
const { load } = useStorage();
|
||||
const [accountId, setAccountId] = useState(0);
|
||||
const queueRef = useRef(Promise.resolve());
|
||||
|
|
@ -321,10 +320,19 @@ export default function CacheSync() {
|
|||
|
||||
useEffect(() => {
|
||||
if (!accountId || !contextReady) return;
|
||||
return subscribePush((message) => {
|
||||
const handleMessage = (message: ProtocolMessage) => {
|
||||
void enqueue(() => synchronizePush(message));
|
||||
});
|
||||
}, [accountId, contextReady, enqueue, subscribePush, synchronizePush]);
|
||||
};
|
||||
const unsubscribers = [
|
||||
subscribe("GetStates", handleMessage),
|
||||
subscribe("MessageLive", handleMessage),
|
||||
subscribe("MessageEditLive", handleMessage),
|
||||
subscribe("MessageDeleteLive", handleMessage),
|
||||
subscribe("MessageState", handleMessage),
|
||||
subscribe("MessageReactionLive", handleMessage),
|
||||
];
|
||||
return () => unsubscribers.forEach((unsubscribe) => unsubscribe());
|
||||
}, [accountId, contextReady, enqueue, subscribe, synchronizePush]);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue