Skip to content

Commit 9ff4511

Browse files
author
kodin
committed
small changes
1 parent 76dd193 commit 9ff4511

File tree

4 files changed

+36
-32
lines changed

4 files changed

+36
-32
lines changed

src/containers/AddThirdPartyServer/index.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
isValidDomain,
2222
validateServerAddressIPv4,
2323
} from "../../utils/validation";
24+
import { Log } from "../../utils/logger";
2425

2526
const AddThirdPartyServerModal = () => {
2627
const { visible, showAddThirdPartyServer } = useAddThirdPartyServerModal();
@@ -31,11 +32,14 @@ const AddThirdPartyServerModal = () => {
3132

3233
useEffect(() => {
3334
if (visible) {
34-
clipboard.readText().then((text) => {
35-
if (text) {
36-
setServerAddress(text);
35+
(async () => {
36+
try {
37+
const text = await clipboard.readText();
38+
if (text) setServerAddress(text);
39+
} catch (e) {
40+
Log.error(e);
3741
}
38-
});
42+
})();
3943
}
4044
}, [visible]);
4145

src/containers/ExternalServerHandler/index.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@ const ExternalServerHandler = () => {
3333
const { addToFavorites } = usePersistentServers();
3434

3535
useEffect(() => {
36-
try {
37-
(async () => {
36+
(async () => {
37+
try {
3838
const value = await invoke<string>("get_uri_scheme_value");
3939
if (
40+
typeof value === "string" &&
4041
value.length &&
4142
(value.includes("omp://") || value.includes("samp://"))
4243
) {
@@ -48,10 +49,10 @@ const ExternalServerHandler = () => {
4849
showModal(true);
4950
setServerAddress(serverAddress);
5051
}
51-
})();
52-
} catch (e) {
53-
Log.error(e);
54-
}
52+
} catch (e) {
53+
Log.error(e);
54+
}
55+
})();
5556

5657
const unlisten = listen<string>("scheme-request-received", (event) => {
5758
if (typeof event.payload === "string") {
@@ -71,7 +72,7 @@ const ExternalServerHandler = () => {
7172
});
7273

7374
return () => {
74-
unlisten.then((f) => f());
75+
unlisten.then((f) => f()).catch((e) => Log.error(e));
7576
};
7677
}, []);
7778

src/containers/Settings/Tab/General.tsx

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -53,23 +53,19 @@ const General = () => {
5353
};
5454

5555
const importFavListFromSAMP = async () => {
56-
await invoke("get_samp_favorite_list").then((a) => {
57-
const userData: {
58-
file_id: string;
59-
file_version: number;
60-
server_count: number;
61-
favorite_servers: {
62-
ip: string;
63-
port: number;
64-
name: string;
65-
password: string;
66-
rcon: string;
67-
}[];
68-
} = JSON.parse(a as string);
56+
try {
57+
const a = await invoke("get_samp_favorite_list");
58+
let userData: any = null;
59+
try {
60+
userData = JSON.parse(a as string);
61+
} catch (err) {
62+
Log.debug("Failed to parse samp favorite list:", err);
63+
return;
64+
}
6965

70-
if (userData.file_id === "SAMP") {
66+
if (userData?.file_id === "SAMP") {
7167
const { addToFavorites } = usePersistentServers.getState();
72-
userData.favorite_servers.forEach((server) => {
68+
userData.favorite_servers?.forEach((server: any) => {
7369
const serverInfo: Server = {
7470
ip: "",
7571
port: 0,
@@ -88,24 +84,26 @@ const General = () => {
8884
rules: {} as Server["rules"],
8985
};
9086

91-
if (server.ip.length) {
87+
if (server?.ip?.length) {
9288
serverInfo.ip = server.ip;
9389
serverInfo.port = server.port;
94-
if (server.name.includes("(Retrieving info...)")) {
90+
if (server.name?.includes("(Retrieving info...)")) {
9591
serverInfo.hostname += ` (${serverInfo.ip}:${serverInfo.port})`;
9692
} else {
9793
serverInfo.hostname = server.name;
9894
}
9995

100-
if (server.password.length) {
96+
if (server.password?.length) {
10197
serverInfo.password = server.password;
10298
}
10399

104100
addToFavorites(serverInfo);
105101
}
106102
});
107103
}
108-
});
104+
} catch (err) {
105+
Log.debug(err);
106+
}
109107
};
110108

111109
return (

src/utils/game.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,12 @@ const getLocalPath = async (...segments: string[]) =>
3434
export const copySharedFilesIntoGameFolder = async () => {
3535
const { gtasaPath } = useSettings.getState();
3636
const shared = await getLocalPath("samp", "shared");
37+
// invoke resolves on success and rejects on failure — don't turn a
38+
// successful resolution into an exception. Await and let callers
39+
// handle rejections via try/catch.
3740
await invoke("copy_files_to_gtasa", {
3841
src: shared,
3942
gtasaDir: gtasaPath,
40-
}).then((e) => {
41-
throw e;
4243
});
4344
};
4445

0 commit comments

Comments
 (0)