Skip to content

fix(settings): decouple model loading and polish settings presentation - #3308

Merged
GCWing merged 1 commit into
mainfrom
gcwing/settings-loading-polish-20261008
Oct 8, 2026
Merged

GCWing merged 1 commit into
mainfrom
gcwing/settings-loading-polish-20261008

Conversation

@GCWing

@GCWing GCWing commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Summary

Model settings previously held the entire page behind model, proxy, timeout, and catalog reads. Sections now render immediately and become editable when their own data is ready, with isolated failure states and retries.

  • Share model/default state with the default-model selectors, preserve missing-key compatibility, and discard reads from an outdated device surface.
  • Add a shared inline FormSection description layout and simplify settings copy, empty states, shell labels, pet previews, and picker focus styling. Show previous-exit warnings only for confirmed crashes.
  • Update localized load-failure copy and cover pending, failed, and recovered model loading.

Type and Areas

Type: Bug fix / UI/UX
Areas: Web UI settings, design-system UI

Motivation / Impact

Slow catalogs or failed network-setting reads no longer block model configuration. Failed model reads keep related write controls locked until a successful retry, avoiding an empty configuration being presented as a successful read.

Verification

  • pnpm run check:web — passed, including typography, Appearance, theme color audits, theme contracts, package builds, and type checking.
  • pnpm --dir src/web-ui exec tsc --noEmit — passed again after updating to the latest main.
  • pnpm run i18n:audit — passed with zero warnings.
  • pnpm --dir src/web-ui run icons:check — passed.
  • pnpm run motion:audit — inventory reviewed; updated pet transitions include reduced-motion handling.
  • node --test design-system/packages/ui/tests/field-group.test.mjs design-system/packages/ui/tests/combobox.test.mjs design-system/packages/ui/tests/registry.test.mjs — 14 tests passed.
  • Focused Web UI suite — 47 files and 345 tests passed.
  • ESLint on changed Web UI source files — zero errors; test files are excluded by existing lint configuration.
  • git diff --cached --check — passed.
Focused Web UI command
pnpm --dir src/web-ui run test:run src/app/scenes/settings src/app/global-search/interactiveCapabilityActivator.test.ts src/infrastructure/config/settingsDraftRegistry.test.ts src/flow_chat/components/btw/DeepReviewActionBar.test.tsx src/infrastructure/config/components/AcpAgentsConfig.test.tsx src/infrastructure/config/components/AppearancePackageConfigSection.test.tsx src/infrastructure/config/components/common/ConfigPageLayout.test.tsx src/infrastructure/config/components/common/SettingsControlSizing.test.ts src/shared/ui/Select.test.tsx src/shared/ui/Combobox.test.tsx src/infrastructure/config/components/modelEditorRequestSettings.test.ts src/infrastructure/config/components/subscriptionAccountState.test.ts src/infrastructure/config/components/ModelSettingsDialog.presentation.test.ts src/infrastructure/config/components/ModelServiceCollapse.presentation.test.ts src/infrastructure/appearance/registry/AppearanceRegistry.test.ts src/infrastructure/design-system/IconUsageIntegration.test.tsx src/app/startup/startupPreload.test.ts src/infrastructure/update/UpdateMenuItems.test.tsx

Reviewer Notes

No browser automation or mock screenshots were used for visual acceptance. Validation covers source and DOM behavior; rendered visual fidelity remains unverified.

Remote workspace, Remote Control, Peer Device Mode, and Detached Dispatch were not exercised at runtime. Existing configuration keys and transports are retained, and stale-surface checks guard asynchronous results. No persisted schema changes.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@GCWing
GCWing merged commit fcad015 into main Oct 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant