This commit is contained in:
koalasat
2025-05-09 14:59:05 +02:00
parent 506338cb54
commit 83b491b1ce
2 changed files with 36 additions and 1 deletions

View File

@ -46,11 +46,32 @@ const EncryptedChat: React.FC<Props> = ({
const { federation } = useContext<UseFederationStoreType>(FederationContext);
useEffect(() => {
// const slot = garage.getSlot();
const coordinator = federation.getCoordinator(order.shortAlias);
federation.roboPool.connect([coordinator.getRelayUrl()]);
// const since = new Date(order.created_at);
// since.setDate(since.getDate() - 2);
// federation.roboPool.subscribeChat(
// [order.maker_nostr_pubkey, order.taker_nostr_pubkey],
// Math.floor((since.getTime() / 1000)),
// {
// oneose: () => {},
// onevent(event) {
// if (slot?.nostrSecKey) {
// console.log(nip17.unwrapEvent(event, slot.nostrSecKey))
// }
// },
// }
// )
}, []);
const onSendMessage = (content: string): void => {
sendToNostr(content);
};
const sendToNostr = (content: string): void => {
const slot = garage.getSlot();
const coordinator = federation.getCoordinator(order.shortAlias);

View File

@ -128,7 +128,7 @@ class RoboPool {
this.sendMessage(JSON.stringify(requestSuccess));
};
subscribeRatings = (events: RoboPoolEvents, coordinators?: string[]): void => {
subscribeRatings = (events: RoboPoolEvents): void => {
const pubkeys = Object.values(defaultFederation)
.map((f) => f.nostrHexPubkey)
.filter((item) => item !== undefined);
@ -150,6 +150,20 @@ class RoboPool {
this.sendMessage(JSON.stringify(requestRatings));
};
subscribeChat = (hexPubKeys: string[], since: number, events: RoboPoolEvents): void => {
const requestRatings = ['REQ', 'subscribeChat', { kinds: [1059], '#p': hexPubKeys, since }];
this.messageHandlers.push((_url: string, messageEvent: MessageEvent) => {
const jsonMessage = JSON.parse(messageEvent.data);
if (jsonMessage[0] === 'EVENT') {
events.onevent(jsonMessage[2]);
} else if (jsonMessage[0] === 'EOSE') {
events.oneose();
}
});
this.sendMessage(JSON.stringify(requestRatings));
};
sendEvent = (event: Event): void => {
const message = ['EVENT', event];