mirror of
https://github.com/PrimalHQ/primal-web-app.git
synced 2024-10-01 17:31:13 +00:00
Modify WS dev hooks
This commit is contained in:
parent
44567394e0
commit
27c52965a5
@ -73,7 +73,7 @@ const Router: Component = () => {
|
|||||||
primalWindow.onPrimalComponentMount = () => {};
|
primalWindow.onPrimalComponentMount = () => {};
|
||||||
primalWindow.onPrimalComponentCleanup = () => {};
|
primalWindow.onPrimalComponentCleanup = () => {};
|
||||||
primalWindow.onPrimalCacheServerConnected = () => {};
|
primalWindow.onPrimalCacheServerConnected = () => {};
|
||||||
primalWindow.onPrimalCacheServerMessage = () => {};
|
primalWindow.onPrimalUploadServerConnected = () => {};
|
||||||
}
|
}
|
||||||
|
|
||||||
const getKnownProfiles = ({ params }: RouteDataFuncArgs) => {
|
const getKnownProfiles = ({ params }: RouteDataFuncArgs) => {
|
||||||
|
@ -12,7 +12,7 @@ const onOpen = () => {
|
|||||||
if (localStorage.getItem('devMode') === 'true') {
|
if (localStorage.getItem('devMode') === 'true') {
|
||||||
const hook = (window as PrimalWindow).onPrimalCacheServerConnected;
|
const hook = (window as PrimalWindow).onPrimalCacheServerConnected;
|
||||||
|
|
||||||
hook && hook(cacheServer);
|
hook && hook(cacheServer, socket());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -22,21 +22,12 @@ const onClose = () => {
|
|||||||
socket()?.removeEventListener('open', onOpen);
|
socket()?.removeEventListener('open', onOpen);
|
||||||
socket()?.removeEventListener('close', onClose);
|
socket()?.removeEventListener('close', onClose);
|
||||||
socket()?.removeEventListener('error', onError);
|
socket()?.removeEventListener('error', onError);
|
||||||
socket()?.removeEventListener('message', onMessage);
|
|
||||||
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
connect();
|
connect();
|
||||||
}, 200);
|
}, 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
const onMessage = (event: MessageEvent) => {
|
|
||||||
if (localStorage.getItem('devMode') === 'true') {
|
|
||||||
const hook = (window as PrimalWindow).onPrimalCacheServerMessage;
|
|
||||||
|
|
||||||
hook && hook(event);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const onError = (error: Event) => {
|
const onError = (error: Event) => {
|
||||||
console.log("ws error: ", error);
|
console.log("ws error: ", error);
|
||||||
};
|
};
|
||||||
@ -55,7 +46,6 @@ export const connect = () => {
|
|||||||
socket()?.addEventListener('open', onOpen);
|
socket()?.addEventListener('open', onOpen);
|
||||||
socket()?.addEventListener('close', onClose);
|
socket()?.addEventListener('close', onClose);
|
||||||
socket()?.addEventListener('error', onError);
|
socket()?.addEventListener('error', onError);
|
||||||
socket()?.addEventListener('message', onMessage);
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -69,7 +59,11 @@ export const reset = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const sendMessage = (message: string) => {
|
export const sendMessage = (message: string) => {
|
||||||
isConnected() && socket()?.send(message);
|
if (isConnected()) {
|
||||||
|
const e = new CustomEvent('send', { detail: { message, ws: socket() }});
|
||||||
|
socket()?.send(message);
|
||||||
|
socket()?.dispatchEvent(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const refreshSocketListeners = (
|
export const refreshSocketListeners = (
|
||||||
|
4
src/types/primal.d.ts
vendored
4
src/types/primal.d.ts
vendored
@ -342,8 +342,8 @@ export type PrimalWindow = Window & typeof globalThis & {
|
|||||||
primal?: any,
|
primal?: any,
|
||||||
onPrimalComponentMount?: (data: any) => void,
|
onPrimalComponentMount?: (data: any) => void,
|
||||||
onPrimalComponentCleanup?: (data: any) => void,
|
onPrimalComponentCleanup?: (data: any) => void,
|
||||||
onPrimalCacheServerConnected?: (url: string) => void,
|
onPrimalCacheServerConnected?: (url: string, ws: WebSocket | undefined) => void,
|
||||||
onPrimalCacheServerMessage?: (message: MessageEvent) => void,
|
onPrimalUploadServerConnected?: (url: string, ws: WebSocket | undefined) => void,
|
||||||
};
|
};
|
||||||
|
|
||||||
export type NostrEventType = "EVENT" | "EOSE" | "NOTICE";
|
export type NostrEventType = "EVENT" | "EOSE" | "NOTICE";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { createSignal } from "solid-js";
|
import { createSignal } from "solid-js";
|
||||||
import { NostrEvent, NostrEOSE, NostrEventType, NostrEventContent } from "./types/primal";
|
import { NostrEvent, NostrEOSE, NostrEventType, NostrEventContent, PrimalWindow } from "./types/primal";
|
||||||
|
|
||||||
export const [socket, setSocket] = createSignal<WebSocket>();
|
export const [socket, setSocket] = createSignal<WebSocket>();
|
||||||
|
|
||||||
@ -9,6 +9,11 @@ export const isNotConnected = () => !isConnected();
|
|||||||
|
|
||||||
const onOpen = () => {
|
const onOpen = () => {
|
||||||
setConnected(true);
|
setConnected(true);
|
||||||
|
if (localStorage.getItem('devMode') === 'true') {
|
||||||
|
const hook = (window as PrimalWindow).onPrimalUploadServerConnected;
|
||||||
|
|
||||||
|
hook && hook(uploadServer, socket());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const onClose = () => {
|
const onClose = () => {
|
||||||
@ -27,12 +32,14 @@ const onError = (error: Event) => {
|
|||||||
console.log("ws error: ", error);
|
console.log("ws error: ", error);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export let uploadServer = '';
|
||||||
|
|
||||||
export const connect = () => {
|
export const connect = () => {
|
||||||
if (isNotConnected()) {
|
if (isNotConnected()) {
|
||||||
const cacheServer = localStorage.getItem('uploadServer') ||
|
uploadServer = localStorage.getItem('uploadServer') ||
|
||||||
import.meta.env.PRIMAL_UPLOAD_URL;
|
import.meta.env.PRIMAL_UPLOAD_URL;
|
||||||
|
|
||||||
setSocket(new WebSocket(cacheServer));
|
setSocket(new WebSocket(uploadServer));
|
||||||
console.log('UPLOAD SOCKET: ', socket());
|
console.log('UPLOAD SOCKET: ', socket());
|
||||||
|
|
||||||
socket()?.addEventListener('open', onOpen);
|
socket()?.addEventListener('open', onOpen);
|
||||||
@ -51,7 +58,11 @@ export const reset = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const sendMessage = (message: string) => {
|
export const sendMessage = (message: string) => {
|
||||||
isConnected() && socket()?.send(message);
|
if (isConnected()) {
|
||||||
|
const e = new CustomEvent('send', { detail: { message, ws: socket() }});
|
||||||
|
socket()?.send(message);
|
||||||
|
socket()?.dispatchEvent(e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export const refreshSocketListeners = (
|
export const refreshSocketListeners = (
|
||||||
|
Loading…
Reference in New Issue
Block a user