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

This commit is contained in:
Alois 2026-08-27 23:30:33 +02:00
commit 0a304e44f2
Signed by: alois
SSH key fingerprint: SHA256:GBzT2DXvAuGV9XIV5W3WrzVpjU54FThmxHXdbz95J24
22 changed files with 1217 additions and 1870 deletions

View file

@ -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;
}