fix: unnecessary refetch of server modules on first mount (#2918)

Signed-off-by: Evan Song <theevansong@gmail.com>
This commit is contained in:
Evan Song 2024-11-05 15:53:14 -07:00 committed by GitHub
parent deb16aa7ab
commit 72cbe7f905
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -271,6 +271,7 @@ const socket = ref<WebSocket | null>(null);
const isReconnecting = ref(false);
const isLoading = ref(true);
const reconnectInterval = ref<ReturnType<typeof setInterval> | null>(null);
const isFirstMount = ref(true);
const isMounted = ref(true);
const route = useNativeRoute();
@ -515,9 +516,13 @@ const newMCVersion = ref<string | null>(null);
const handleInstallationResult = async (data: WSInstallationResultEvent) => {
switch (data.result) {
case "ok":
await server.refresh();
if (!serverData.value) break;
serverData.value.status = "available";
if (!isFirstMount.value) {
await server.refresh();
}
if (server.general) {
if (newLoader.value) server.general.loader = newLoader.value;
if (newLoaderVersion.value) server.general.loader_version = newLoaderVersion.value;
@ -575,7 +580,9 @@ const onReinstall = (potentialArgs: any) => {
newMCVersion.value = potentialArgs.mVersion;
}
server.refresh();
if (!isFirstMount.value) {
server.refresh();
}
error.value = null;
errorTitle.value = "Error";
@ -768,6 +775,11 @@ onUnmounted(() => {
watch(
() => serverData.value?.status,
(newStatus) => {
if (isFirstMount.value) {
isFirstMount.value = false;
return;
}
if (newStatus === "installing") {
startPolling();
} else {