more potential fixes for server lock duplication

This commit is contained in:
jeffvli
2026-06-15 20:49:17 -07:00
parent ba4664e797
commit f7adcb8533
3 changed files with 68 additions and 18 deletions
+9 -8
View File
@@ -2,12 +2,11 @@ import { useEffect, useMemo } from 'react';
import { Navigate, Outlet } from 'react-router';
import { shallow } from 'zustand/shallow';
import { normalizeServerUrl } from '/@/renderer/features/action-required/utils/server-lock';
import { isServerLock } from '/@/renderer/features/action-required/utils/window-properties';
import { AppRoute } from '/@/renderer/router/routes';
import { useAuthStore, useAuthStoreActions } from '/@/renderer/store';
const normalizeUrl = (url: string) => url.replace(/\/$/, '');
export const AppOutlet = () => {
const currentServer = useAuthStore(
(state) =>
@@ -19,25 +18,27 @@ export const AppOutlet = () => {
: null,
shallow,
);
const { deleteServer, setCurrentServer } = useAuthStoreActions();
const { setCurrentServer, updateServer } = useAuthStoreActions();
const hasServerLockMismatch = useMemo(() => {
if (!isServerLock() || !currentServer || !window.SERVER_URL) {
return false;
}
const configuredUrl = normalizeUrl(window.SERVER_URL);
const persistedUrl = normalizeUrl(currentServer.url);
const configuredUrl = normalizeServerUrl(window.SERVER_URL);
const persistedUrl = normalizeServerUrl(currentServer.url);
return configuredUrl !== persistedUrl;
}, [currentServer]);
useEffect(() => {
if (hasServerLockMismatch && currentServer) {
deleteServer(currentServer.id);
if (hasServerLockMismatch && currentServer && window.SERVER_URL) {
updateServer(currentServer.id, {
url: normalizeServerUrl(window.SERVER_URL),
});
setCurrentServer(null);
}
}, [currentServer, deleteServer, hasServerLockMismatch, setCurrentServer]);
}, [currentServer, hasServerLockMismatch, setCurrentServer, updateServer]);
const isActionsRequired = !currentServer || hasServerLockMismatch;