diff --git a/src/shared/versions.ts b/src/shared/versions.ts
index 4e8a0e6..b19d110 100644
--- a/src/shared/versions.ts
+++ b/src/shared/versions.ts
@@ -1,6 +1,6 @@
export const HARBOR_VERSIONS = Object.freeze({
- macClient: '0.23.5',
- gatewayClient: '0.24.5',
+ macClient: '0.23.6',
+ gatewayClient: '0.24.6',
gatewayBackend: '0.24.0',
});
diff --git a/src/web/components/ClientOverviewPage.tsx b/src/web/components/ClientOverviewPage.tsx
index 742de10..990ad77 100644
--- a/src/web/components/ClientOverviewPage.tsx
+++ b/src/web/components/ClientOverviewPage.tsx
@@ -728,6 +728,7 @@ export function ClientOverviewPage({
prompt={!profile.desiredServerId}
leaving={pickerState.leaving}
revealVersion={pickerState.revealVersion}
+ anchorServerId={pickerState.anchorServerId}
onSelect={(serverId) => selectServer(profile, serverId)}
/>}
/>
diff --git a/src/web/features/servers/ServerPicker.tsx b/src/web/features/servers/ServerPicker.tsx
index b3ff71c..bbe16a3 100644
--- a/src/web/features/servers/ServerPicker.tsx
+++ b/src/web/features/servers/ServerPicker.tsx
@@ -167,6 +167,7 @@ interface ServerPickerProps {
prompt: boolean;
leaving: boolean;
revealVersion: number;
+ anchorServerId?: string;
onSelect: (id: string) => unknown;
}
@@ -179,6 +180,7 @@ export function ServerPicker({
prompt,
leaving,
revealVersion,
+ anchorServerId = '',
onSelect,
}: ServerPickerProps) {
const favoritesKey = `${FAVORITES_KEY}:${profileId}`;
@@ -207,7 +209,7 @@ export function ServerPicker({
if (view === 'recent') return recent.flatMap((id) => found.find((server) => server.id === id) || []);
return found;
}, [servers, query, view, favorites, recent]);
- const results = filtered.filter(({ id }) => id !== selectedServerId);
+ const results = filtered.filter(({ id }) => id !== selectedServerId && id !== anchorServerId);
const pageCount = Math.max(1, Math.ceil(results.length / SERVER_RESULT_WINDOW));
const visible = results.slice(page * SERVER_RESULT_WINDOW, (page + 1) * SERVER_RESULT_WINDOW);
const grouped = servers.length >= 10;
@@ -282,7 +284,7 @@ export function ServerPicker({
-
+ />}
;
}
@@ -310,8 +312,8 @@ export function ServerPicker({
));
const simpleServers = [
- ...(selected ? [selected] : []),
- ...servers.filter(({ id }) => id !== selectedServerId),
+ ...(selected && selected.id !== anchorServerId ? [selected] : []),
+ ...servers.filter(({ id }) => id !== selectedServerId && id !== anchorServerId),
].slice(0, SIMPLE_SERVER_LIMIT);
return
@@ -403,7 +405,7 @@ export function ServerPicker({
fallback={autoActive ? undefined : 'Первый стабильный сервер'}
/>
- {selected && {localStatus}}
- {!expanded && !closing && visibleServer &&