Skip to content
Snippets Groups Projects
Unverified Commit 1a55cca8 authored by GyDi's avatar GyDi
Browse files

fix: reconnect websocket when restart clash

parent 81ee989f
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,7 @@ import { useEffect, useState } from "react";
import { useRecoilValue } from "recoil";
import { Box, Typography } from "@mui/material";
import { ArrowDownward, ArrowUpward } from "@mui/icons-material";
import { listen } from "@tauri-apps/api/event";
import { ApiType } from "../../services/types";
import { getInfomation } from "../../services/api";
import { getVergeConfig } from "../../services/cmds";
......@@ -14,11 +15,21 @@ const LayoutTraffic = () => {
const portValue = useRecoilValue(atomClashPort);
const [traffic, setTraffic] = useState({ up: 0, down: 0 });
const { canvasRef, appendData, toggleStyle } = useTrafficGraph();
const [refresh, setRefresh] = useState({});
// whether hide traffic graph
const { data } = useSWR("getVergeConfig", getVergeConfig);
const trafficGraph = data?.traffic_graph ?? true;
useEffect(() => {
let unlisten: () => void = null!;
// should reconnect the traffic ws
listen("restart_clash", () => setRefresh({})).then((fn) => (unlisten = fn));
return () => unlisten?.();
}, []);
useEffect(() => {
let ws: WebSocket | null = null;
......@@ -34,7 +45,7 @@ const LayoutTraffic = () => {
});
return () => ws?.close();
}, [portValue]);
}, [portValue, refresh]);
const [up, upUnit] = parseTraffic(traffic.up);
const [down, downUnit] = parseTraffic(traffic.down);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment