TTP -> MTP, A lot of other stuff #21
6 changed files with 86 additions and 45 deletions
commit
3ce708b86a
10
packages/cache/src/sync.tsx
vendored
10
packages/cache/src/sync.tsx
vendored
|
|
@ -242,6 +242,14 @@ export default function CacheSync() {
|
|||
);
|
||||
return;
|
||||
}
|
||||
if (message.type === "MessageDeleteLive") {
|
||||
const deleteData = message.data as {
|
||||
ChatPartnerId: number;
|
||||
SendTime: number;
|
||||
};
|
||||
await removeMessage(deleteData.ChatPartnerId, deleteData.SendTime);
|
||||
return;
|
||||
}
|
||||
if (message.type === "MessageState") {
|
||||
await replaceMessage(
|
||||
Number(data.ChatPartnerId),
|
||||
|
|
@ -257,7 +265,7 @@ export default function CacheSync() {
|
|||
);
|
||||
}
|
||||
},
|
||||
[accountId, insertMessage, replaceMessage],
|
||||
[accountId, insertMessage, removeMessage, replaceMessage],
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
|
|
|
|||
|
|
@ -470,16 +470,8 @@ export default function Provider({ children }: { children: ReactNode }) {
|
|||
[currentChatSecret, userIdValue],
|
||||
);
|
||||
|
||||
const deleteMessage = useCallback(
|
||||
async (sendTime: number) => {
|
||||
try {
|
||||
const response = await send("MessageDelete", {
|
||||
ChatPartnerId: userIdValue,
|
||||
SendTime: sendTime,
|
||||
});
|
||||
|
||||
assertProtocolSuccess("MessageDelete", response);
|
||||
|
||||
const removeMessage = useCallback(
|
||||
(sendTime: number) => {
|
||||
setLiveMessagesState((prev) =>
|
||||
prev.filter((message) => message.SendTime !== sendTime),
|
||||
);
|
||||
|
|
@ -520,12 +512,26 @@ export default function Provider({ children }: { children: ReactNode }) {
|
|||
};
|
||||
},
|
||||
);
|
||||
},
|
||||
[currentChatSecret, userIdValue],
|
||||
);
|
||||
|
||||
const deleteMessage = useCallback(
|
||||
async (sendTime: number) => {
|
||||
try {
|
||||
const response = await send("MessageDelete", {
|
||||
ChatPartnerId: userIdValue,
|
||||
SendTime: sendTime,
|
||||
});
|
||||
|
||||
assertProtocolSuccess("MessageDelete", response);
|
||||
removeMessage(sendTime);
|
||||
} catch (err) {
|
||||
log(1, "chat", "red", "Failed to delete message", err);
|
||||
toast("error", "Failed to delete message", String(err));
|
||||
}
|
||||
},
|
||||
[currentChatSecret, send, userIdValue],
|
||||
[removeMessage, send, userIdValue],
|
||||
);
|
||||
|
||||
const setReaction = useCallback(
|
||||
|
|
@ -717,6 +723,18 @@ export default function Provider({ children }: { children: ReactNode }) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (message.type === "MessageDeleteLive") {
|
||||
const data = message.data as {
|
||||
ChatPartnerId: number;
|
||||
SendTime: number;
|
||||
};
|
||||
|
||||
if (data.ChatPartnerId !== userIdValue) return;
|
||||
|
||||
removeMessage(data.SendTime);
|
||||
return;
|
||||
}
|
||||
|
||||
if (message.type !== "MessageState") return;
|
||||
|
||||
const rawData = message.data as {
|
||||
|
|
@ -762,7 +780,14 @@ export default function Provider({ children }: { children: ReactNode }) {
|
|||
MessageState: nextState.MessageState,
|
||||
});
|
||||
});
|
||||
}, [currentChatSecret, editMessage, send, subscribePush, userIdValue]);
|
||||
}, [
|
||||
currentChatSecret,
|
||||
editMessage,
|
||||
removeMessage,
|
||||
send,
|
||||
subscribePush,
|
||||
userIdValue,
|
||||
]);
|
||||
|
||||
// Replys
|
||||
const [replyTo, setReplyTo] = useState<number | undefined>(undefined);
|
||||
|
|
|
|||
|
|
@ -212,6 +212,7 @@ export function Provider(props: {
|
|||
"MessageLive",
|
||||
"MessageEditLive",
|
||||
"MessageReactionLive",
|
||||
"MessageDeleteLive",
|
||||
"MessageState",
|
||||
"CallInvite",
|
||||
"ErrorNoIota",
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
- Get omikron url & public key from omega
|
||||
|
|
@ -209,6 +209,13 @@ export const mtp = {
|
|||
}),
|
||||
response: z.object({}),
|
||||
},
|
||||
MessageDeleteLive: {
|
||||
request: z.object({}),
|
||||
response: z.object({
|
||||
ChatPartnerId: z.number(),
|
||||
SendTime: z.number(),
|
||||
}),
|
||||
},
|
||||
MessageEditLive: {
|
||||
request: z.object({}),
|
||||
response: z.object({
|
||||
|
|
|
|||
|
|
@ -149,6 +149,7 @@ type_maps:
|
|||
MessageReactionAdd: 146
|
||||
MessageReactionRemove: 147
|
||||
MessageReactionLive: 148
|
||||
MessageDeleteLive: 150
|
||||
DataTypes:
|
||||
ErrorType: 32
|
||||
ErrorProtocol: 33
|
||||
|
|
|
|||
Loading…
Reference in a new issue