Skip to content

Make config preview default-aware and adopt a VS Code-style settings layout#3069

Draft
Copilot wants to merge 4 commits intomainfrom
copilot/add-config-widgets-preview
Draft

Make config preview default-aware and adopt a VS Code-style settings layout#3069
Copilot wants to merge 4 commits intomainfrom
copilot/add-config-widgets-preview

Conversation

Copy link
Contributor

Copilot AI commented Mar 15, 2026

The config preview did not distinguish between an explicit override and an inherited default, even though Wave’s config model treats “key removed” as “use shipped default.” This updates the preview to make default state explicit and reshapes the UI into a more familiar VS Code-style settings surface with left-side groups and stacked setting rows.

  • Default is now a first-class state

    • Booleans now support Default (...), plus explicit true/false variants.
    • Selects treat the default option as a real state instead of an empty placeholder.
    • Text/number/font-size controls surface Use Default when a key is overridden.
    • Added small helpers to consistently distinguish:
      • inherited default
      • explicit override
      • effective merged value
  • Override state is visible

    • Each setting row now shows Using default or Overridden.
    • Default values are rendered inline, even when the effective value matches an explicit override.
    • The preview includes examples for:
      • inherited values
      • changed overrides
      • empty-string override
      • same-as-default override (window:magnifiedblocksize = 0.95)
  • Settings UI now follows a VS Code-style structure

    • Replaced the split form layout with a stacked setting-row layout so titles/descriptions have more room.
    • Added a left-side settings group rail and a single primary content pane on the right.
    • Kept Wave-specific affordances:
      • accent-colored monospace config key
      • Use Default
      • override badges
      • sparse JSON output / effective value comparison
  • Preview surface was reorganized

    • The main pane now focuses on one settings group at a time.
    • Supporting panels summarize:
      • effective merged values
      • overridden keys written to settings.json
      • source examples showing default vs override
<ConfigBooleanField
    configKey="term:cursorblink"
    label="Cursor blink"
    value={settings["term:cursorblink"]}
    defaultValue={DefaultSettings["term:cursorblink"]}
    onValueChange={(value) => setSettingsValue(setSettings, "term:cursorblink", value)}
    trueLabel="On"
    falseLabel="Off"
/>

Screenshot:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Mar 15, 2026

Deploying waveterm with  Cloudflare Pages  Cloudflare Pages

Latest commit: b22dc6b
Status: ✅  Deploy successful!
Preview URL: https://1ade2980.waveterm.pages.dev
Branch Preview URL: https://copilot-add-config-widgets-p.waveterm.pages.dev

View logs

Copilot AI changed the title [WIP] Add config widgets for modifying config values Add preview-only config UI widget library and sample editor Mar 15, 2026
Copilot AI requested a review from sawka March 15, 2026 21:50
Co-authored-by: sawka <2722291+sawka@users.noreply.github.com>
Copilot AI changed the title Add preview-only config UI widget library and sample editor Make preview config widgets default-aware and show override state explicitly Mar 15, 2026
Copilot AI changed the title Make preview config widgets default-aware and show override state explicitly Make config preview default-aware and adopt a VS Code-style settings layout Mar 22, 2026
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.

2 participants