fix(desktop): don't persist fallback server urls
This commit is contained in:
parent
9e9b4a0555
commit
72ab4260ee
2 changed files with 24 additions and 11 deletions
|
|
@ -63,9 +63,14 @@ export function DialogSelectServer() {
|
||||||
onCleanup(() => clearInterval(interval))
|
onCleanup(() => clearInterval(interval))
|
||||||
})
|
})
|
||||||
|
|
||||||
function select(value: string) {
|
function select(value: string, persist?: boolean) {
|
||||||
if (store.status[value]?.healthy === false) return
|
if (!persist && store.status[value]?.healthy === false) return
|
||||||
dialog.close()
|
dialog.close()
|
||||||
|
if (persist) {
|
||||||
|
server.add(value)
|
||||||
|
navigate("/")
|
||||||
|
return
|
||||||
|
}
|
||||||
server.setActive(value)
|
server.setActive(value)
|
||||||
navigate("/")
|
navigate("/")
|
||||||
}
|
}
|
||||||
|
|
@ -87,7 +92,7 @@ export function DialogSelectServer() {
|
||||||
}
|
}
|
||||||
|
|
||||||
setStore("url", "")
|
setStore("url", "")
|
||||||
select(value)
|
select(value, true)
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,19 @@ export const { use: useServer, provider: ServerProvider } = createSimpleContext(
|
||||||
function setActive(input: string) {
|
function setActive(input: string) {
|
||||||
const url = normalizeServerUrl(input)
|
const url = normalizeServerUrl(input)
|
||||||
if (!url) return
|
if (!url) return
|
||||||
|
setActiveRaw(url)
|
||||||
|
}
|
||||||
|
|
||||||
|
function add(input: string) {
|
||||||
|
const url = normalizeServerUrl(input)
|
||||||
|
if (!url) return
|
||||||
|
|
||||||
|
const fallback = normalizeServerUrl(props.defaultUrl)
|
||||||
|
if (fallback && url === fallback) {
|
||||||
|
setActiveRaw(url)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
batch(() => {
|
batch(() => {
|
||||||
if (!store.list.includes(url)) {
|
if (!store.list.includes(url)) {
|
||||||
setStore("list", store.list.length, url)
|
setStore("list", store.list.length, url)
|
||||||
|
|
@ -71,15 +84,10 @@ export const { use: useServer, provider: ServerProvider } = createSimpleContext(
|
||||||
|
|
||||||
createEffect(() => {
|
createEffect(() => {
|
||||||
if (!ready()) return
|
if (!ready()) return
|
||||||
|
if (active()) return
|
||||||
const url = normalizeServerUrl(props.defaultUrl)
|
const url = normalizeServerUrl(props.defaultUrl)
|
||||||
if (!url) return
|
if (!url) return
|
||||||
|
setActiveRaw(url)
|
||||||
batch(() => {
|
|
||||||
if (!store.list.includes(url)) {
|
|
||||||
setStore("list", store.list.length, url)
|
|
||||||
}
|
|
||||||
setActiveRaw(url)
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const isReady = createMemo(() => ready() && !!active())
|
const isReady = createMemo(() => ready() && !!active())
|
||||||
|
|
@ -123,7 +131,7 @@ export const { use: useServer, provider: ServerProvider } = createSimpleContext(
|
||||||
return store.list
|
return store.list
|
||||||
},
|
},
|
||||||
setActive,
|
setActive,
|
||||||
add: setActive,
|
add,
|
||||||
remove,
|
remove,
|
||||||
projects: {
|
projects: {
|
||||||
list: projectsList,
|
list: projectsList,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue