authorgravatar for julius0216@outlook.comJulius Marminge <julius0216@outlook.com> 2026-02-15 15:33:18-08:00
committergravatar for jmarminge@gmail.comJulius Marminge <jmarminge@gmail.com> 2026-02-15 15:51:05-08:00
log8dd107429e92dfcb52d8afb46e2a01517840fabc
tree72ffa99459ca4bc5bcb27c1ce04631521a842cf2
parent1269b5258097d75f4cb413a0612570a106e32426

Prevent config refetches and tighten Windows platform detection

- set server config query `staleTime` to `Infinity` to avoid unnecessary refetches - narrow `isWindowsPlatform` matching to Windows-prefixed identifiers - add unit tests for Windows and non-Windows platform cases

3 files changed, 17 insertions(+), 1 deletions(-)

apps/web/src/lib/serverReactQuery.ts+1
......@@ -16,5 +16,6 @@ export function serverConfigQueryOptions(api: NativeApi | undefined) {
1616 return api.server.getConfig();
1717 },
1818 enabled: !!api && !!api.server && typeof api.server.getConfig === "function",
19 staleTime: Infinity,
1920 });
2021}
apps/web/src/lib/utils.test.ts created+15
......@@ -0,0 +1,15 @@
1import { assert, describe, it } from "vitest";
2
3import { isWindowsPlatform } from "./utils";
4
5describe("isWindowsPlatform", () => {
6 it("matches Windows platform identifiers", () => {
7 assert.isTrue(isWindowsPlatform("Win32"));
8 assert.isTrue(isWindowsPlatform("Windows"));
9 assert.isTrue(isWindowsPlatform("windows_nt"));
10 });
11
12 it("does not match darwin", () => {
13 assert.isFalse(isWindowsPlatform("darwin"));
14 });
15});
apps/web/src/lib/utils.ts+1-1
......@@ -10,5 +10,5 @@ export function isMacPlatform(platform: string): boolean {
1010}
1111
1212export function isWindowsPlatform(platform: string): boolean {
13 return /win|windows/i.test(platform);
13 return /^win(dows)?/i.test(platform);
1414}