fix: try to fix notification and auto kickout sometimes
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "vocechat-web",
|
"name": "vocechat-web",
|
||||||
"version": "0.3.9",
|
"version": "0.3.11",
|
||||||
"private": true,
|
"private": true,
|
||||||
"homepage": "https://voce.chat",
|
"homepage": "https://voce.chat",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@@ -25,14 +25,16 @@ const Notification = () => {
|
|||||||
}, [token]);
|
}, [token]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handleServiceworkerMessage = (event: MessageEvent) => {
|
const handleServiceWorkerMessage = (event: MessageEvent) => {
|
||||||
const { newPath } = event.data;
|
const { newPath } = event.data;
|
||||||
navigateTo(newPath);
|
if (newPath) {
|
||||||
|
navigateTo(newPath);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
// https only
|
// https only
|
||||||
navigator.serviceWorker?.addEventListener("message", handleServiceworkerMessage);
|
navigator.serviceWorker?.addEventListener("message", handleServiceWorkerMessage);
|
||||||
return () => {
|
return () => {
|
||||||
navigator.serviceWorker?.removeEventListener("message", handleServiceworkerMessage);
|
navigator.serviceWorker?.removeEventListener("message", handleServiceWorkerMessage);
|
||||||
};
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ import chatMessageHandler from "./chat.handler";
|
|||||||
import store, { useAppDispatch, useAppSelector } from "../../../app/store";
|
import store, { useAppDispatch, useAppSelector } from "../../../app/store";
|
||||||
import { ServerEvent, UsersStateEvent } from "../../../types/sse";
|
import { ServerEvent, UsersStateEvent } from "../../../types/sse";
|
||||||
|
|
||||||
class RetriableError extends Error {}
|
class RetryError extends Error { }
|
||||||
|
|
||||||
class FatalError extends Error {}
|
class FatalError extends Error { }
|
||||||
|
|
||||||
const getQueryString = (params: { [key: string]: string }) => {
|
const getQueryString = (params: { [key: string]: string }) => {
|
||||||
const sp = new URLSearchParams();
|
const sp = new URLSearchParams();
|
||||||
@@ -67,6 +67,11 @@ export default function useStreaming() {
|
|||||||
} = {
|
} = {
|
||||||
"api-key": token
|
"api-key": token
|
||||||
};
|
};
|
||||||
|
// token 非空
|
||||||
|
if (!token) {
|
||||||
|
initializing = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
// 如果afterMid是0,则不传该参数
|
// 如果afterMid是0,则不传该参数
|
||||||
if (afterMid !== 0) {
|
if (afterMid !== 0) {
|
||||||
params.after_mid = `${afterMid}`;
|
params.after_mid = `${afterMid}`;
|
||||||
@@ -92,7 +97,7 @@ export default function useStreaming() {
|
|||||||
} else {
|
} else {
|
||||||
// server error
|
// server error
|
||||||
console.info("sse debug: open retry");
|
console.info("sse debug: open retry");
|
||||||
throw new RetriableError();
|
throw new RetryError();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onmessage(evt) {
|
onmessage(evt) {
|
||||||
@@ -274,7 +279,7 @@ export default function useStreaming() {
|
|||||||
// if the server closes the connection unexpectedly, retry:
|
// if the server closes the connection unexpectedly, retry:
|
||||||
console.info("sse debug: closed");
|
console.info("sse debug: closed");
|
||||||
initializing = false;
|
initializing = false;
|
||||||
throw new RetriableError();
|
throw new RetryError();
|
||||||
},
|
},
|
||||||
onerror(err) {
|
onerror(err) {
|
||||||
initializing = false;
|
initializing = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user