diff --git a/apps/desktop/src/app/settings/connections-registry.test.tsx b/apps/desktop/src/app/settings/connections-registry.test.tsx
index dcc4c0b2ea..e6cf553fbc 100644
--- a/apps/desktop/src/app/settings/connections-registry.test.tsx
+++ b/apps/desktop/src/app/settings/connections-registry.test.tsx
@@ -161,13 +161,16 @@ describe('ConnectionsRegistrySection', () => {
await waitFor(() => expect(setLaunchMode).toHaveBeenCalledWith('last-used'))
})
- it('keeps the launch preference out of the way for a single source', async () => {
+ it('offers the launch preference even for a single source', async () => {
+ // A local-only registry is the drift state from #90174, and the launch
+ // toggle is the control that lets a user out of it. Hiding it there left
+ // hand-editing connections.json as the only recourse.
list.mockResolvedValueOnce({ ...registry, connections: [registry.connections[0]] })
render()
await waitFor(() => expect(list).toHaveBeenCalledTimes(1))
- expect(screen.queryByText('At startup, return to Sessions on the last-used gateway')).toBeNull()
+ expect(screen.getByText('At startup, return to Sessions on the last-used gateway')).toBeTruthy()
})
it('keeps search out of the way for a small registry', async () => {
diff --git a/apps/desktop/src/app/settings/connections-registry.tsx b/apps/desktop/src/app/settings/connections-registry.tsx
index b69aedba53..3cfdbfe963 100644
--- a/apps/desktop/src/app/settings/connections-registry.tsx
+++ b/apps/desktop/src/app/settings/connections-registry.tsx
@@ -989,7 +989,11 @@ export function ConnectionsRegistrySection() {
)}
- {!loading && registry && registry.connections.length > 1 && (
+ {/* Not gated on connections.length > 1: a registry that drifted down to
+ local-only is exactly the state where a user needs to see and change
+ the launch behavior, and hiding the control there left hand-editing
+ connections.json as the only recourse (#90174). */}
+ {!loading && registry && (