@@ -60,18 +60,9 @@ function useHostingStore(url, domain, disabled) {
60 setRunEvents([]);
60 setRunEvents([]);
61 }, [setSysEvents, setNewEvents, setRunEvents]);
61 }, [setSysEvents, setNewEvents, setRunEvents]);
63− const getEvents = useCallback(() => {
63+ const newSource = useCallback(
64− try {
64+ (url, retry = 0) => {
65− if (Nothing.hasInstance(pointCursor) || disabled) {
68− const patp = ob.patp(pointCursor.value);
73− const url = client.getShipsByPatpUrl(patp) + '/events';
74− const source = new EventSource(url);
65+ let source = new EventSource(url);
76 source.addEventListener('sys', event => {
67 source.addEventListener('sys', event => {
77 const sysEvent = JSON.parse(event.data);
68 const sysEvent = JSON.parse(event.data);
@@ -82,7 +73,6 @@ function useHostingStore(url, domain, disabled) {
84 source.addEventListener('new', event => {
75 source.addEventListener('new', event => {
85− const elapsed = (Date.now() - startTime) / 1000;
86 if (event.data !== '') {
76 if (event.data !== '') {
87 setNewEvents(previous => [...previous, event.data]);
77 setNewEvents(previous => [...previous, event.data]);
@@ -115,28 +105,39 @@ function useHostingStore(url, domain, disabled) {
118− source.addEventListender(
108+ source.addEventListener(
120 error => {
110 error => {
121 if (source.readyState === EventSource.CLOSED) {
111 if (source.readyState === EventSource.CLOSED) {
113+ newSource(url, retry + 1);
122 setError(error);
116 setError(error);
122+ [setError, startTime, syncStatus]
125+ const getEvents = useCallback(() => {
127+ if (Nothing.hasInstance(pointCursor) || disabled) {
130+ const patp = ob.patp(pointCursor.value);
131+ setError(undefined);
135+ const url = client.getShipsByPatpUrl(patp) + '/events';
127 } catch (error) {
137 } catch (error) {
128 setError(error);
138 setError(error);
130− }, [
140+ }, [setError, disabled, resetEvents, client, pointCursor, newSource]);
141 syncStatus = useCallback(async () => {
142 syncStatus = useCallback(async () => {
@@ -193,7 +194,6 @@ function useHostingStore(url, domain, disabled) {
193 const patp = ob.patp(pointCursor.value).slice(1);
194 const patp = ob.patp(pointCursor.value).slice(1);
194 setError(undefined);
195 setError(undefined);
196− const start = Date.now();
197 setStatus(STATE.PENDING);
197 setStatus(STATE.PENDING);
198 setBootProgress(0.1);
198 setBootProgress(0.1);