cliffhall
ed2070f67c
chore(web): extract App.tsx's connection lifecycle into useConnectionLifecycle
...
Phase 2 step 3 of the App.tsx decomposition (#2154 , under #2129/#2126).
Moves the whole connection cluster out of App.tsx and into
clients/web/src/hooks/useConnectionLifecycle.ts: setupClientForServer
(the single place a connection is configured), onToggleConnection,
onDisconnect, onReauthenticateFromBanner, the deep-link auto-connect
effect and its three phase latches, the connected/teardown/disconnect
effects, connectErrorMessage, and the session-scoped reset a disconnect
triggers. Handshake telemetry rides along as useHandshakeTelemetry,
split out only because useOAuthRecovery runs first and stamps the same
ref.
No behavior change. App.tsx goes 3,039 -> 2,412 lines.
Per #2129 , resetSessionScopedUiState takes a narrow SessionResetSurface
- one reset() per owner - rather than every phase-1 setter, so the hook
does not end up depending on everything phase 1 extracted. The two
log-level operations stay App-owned because the connect path seeds the
same state.
Closes #2154
Signed-off-by: cliffhall <cliff@futurescale.com>
2026-08-27 00:40:18 -04:00
..
useConnectionLifecycle.test.tsx
chore(web): extract App.tsx's connection lifecycle into useConnectionLifecycle
2026-08-27 00:40:18 -04:00
useConnectionLifecycle.ts
chore(web): extract App.tsx's connection lifecycle into useConnectionLifecycle
2026-08-27 00:40:18 -04:00
useExportActions.test.tsx
chore(web): address Copilot review on #2128
2026-08-26 19:58:02 -04:00
useExportActions.ts
chore(web): address Copilot review on #2128
2026-08-26 19:58:02 -04:00
useImportClientConfig.test.tsx
fix(web): stop the remaining consumers calling a landed write a failure
2026-08-23 10:14:22 -04:00
useImportClientConfig.ts
fix(web): stop the remaining consumers calling a landed write a failure
2026-08-23 10:14:22 -04:00
useInspectorStores.test.tsx
chore(web): address Copilot review on #2128
2026-08-26 19:58:02 -04:00
useInspectorStores.ts
chore(web): extract App.tsx's leaf hooks ( #2128 )
2026-08-26 19:42:16 -04:00
useLastPersistedSettings.test.tsx
fix(web): update a fixture the merge brought in to the object metadata shape
2026-08-23 16:56:53 -04:00
useLastPersistedSettings.ts
fix(web): apply the whole live surface, and track write outcomes per server
2026-08-23 13:56:36 -04:00
useMcpApps.test.tsx
chore(web): extract App.tsx's MCP Apps wiring into useMcpApps
2026-08-26 23:53:12 -04:00
useMcpApps.ts
chore(web): extract App.tsx's MCP Apps wiring into useMcpApps
2026-08-26 23:53:12 -04:00
useOAuthRecovery.test.tsx
chore(web): address Copilot review on #2153
2026-08-26 23:19:49 -04:00
useOAuthRecovery.ts
chore(web): address Copilot review on #2153
2026-08-26 23:19:49 -04:00
usePaginatedList.test.tsx
fix: surface list-fetch failures in paginated mode ( #1998 )
2026-08-17 20:40:23 -04:00
usePaginatedList.ts
fix: surface list-fetch failures in paginated mode ( #1998 )
2026-08-17 20:40:23 -04:00
usePaginatedListsOverride.test.tsx
fix: keep the pagination toggle on the last write across a server switch ( #2095 )
2026-08-25 20:20:57 -04:00
usePaginatedListsOverride.ts
fix: resolve the servers list outside the override's state updater ( #2095 )
2026-08-25 20:33:14 -04:00
useProgressToasts.test.tsx
chore(web): address Copilot review on #2128
2026-08-26 19:58:02 -04:00
useProgressToasts.ts
chore(web): record the useProgressToasts return-type exception
2026-08-26 20:10:55 -04:00
useScrollMemory.test.tsx
feat(web): tool progress toasts + persist all per-screen state across navigation ( #1414 , #1417 ) ( #1420 )
2026-06-03 12:46:37 -04:00
useScrollMemory.ts
feat(web): tool progress toasts + persist all per-screen state across navigation ( #1414 , #1417 ) ( #1420 )
2026-06-03 12:46:37 -04:00
useServerJsonImport.test.tsx
chore: close a batch of quality-gate & tidy gaps ( #1785 #1787 #1789 #1790 #1767 ) ( #1792 )
2026-07-26 10:43:11 -04:00
useServerJsonImport.ts
chore: close a batch of quality-gate & tidy gaps ( #1785 #1787 #1789 #1790 #1767 ) ( #1792 )
2026-07-26 10:43:11 -04:00
useSessionRef.test.tsx
chore(web): extract App.tsx's OAuth recovery cluster into useOAuthRecovery ( #2153 )
2026-08-26 23:00:12 -04:00
useSessionRef.ts
chore(web): extract App.tsx's OAuth recovery cluster into useOAuthRecovery ( #2153 )
2026-08-26 23:00:12 -04:00
useTabUiState.test.tsx
chore(web): address Copilot review on #2128
2026-08-26 19:58:02 -04:00
useTabUiState.ts
chore(web): address Copilot review on #2128
2026-08-26 19:58:02 -04:00
useTaskToasts.test.tsx
chore(web): address Copilot review on #2128
2026-08-26 19:58:02 -04:00
useTaskToasts.ts
chore(web): address Copilot review on #2128
2026-08-26 19:58:02 -04:00
useThemeToggle.test.tsx
chore(web): extract App.tsx's leaf hooks ( #2128 )
2026-08-26 19:42:16 -04:00
useThemeToggle.ts
chore(web): extract App.tsx's leaf hooks ( #2128 )
2026-08-26 19:42:16 -04:00
useValueChange.test.tsx
chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory ( #1900 )
2026-08-01 20:13:30 -04:00
useValueChange.ts
chore(deps): migrate to eslint 10 to clear the brace-expansion DoS advisory ( #1900 )
2026-08-01 20:13:30 -04:00