Skip to content

feat: settings improvements#337

Merged
pedronauck merged 7 commits into
mainfrom
layout-settings
Jul 25, 2026
Merged

feat: settings improvements#337
pedronauck merged 7 commits into
mainfrom
layout-settings

Conversation

@pedronauck

Copy link
Copy Markdown
Member

No description provided.

@pedronauck pedronauck self-assigned this Jul 25, 2026
@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agh-site Ready Ready Preview, Comment Jul 25, 2026 5:17am

Request Review

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 233 files, which is 133 over the limit of 100.

To get a review, narrow the scope:
• coderabbit review --committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

Upgrade to a paid plan to raise the limit.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 199b98bd-7dfc-42c0-bf4e-865867af668e

📥 Commits

Reviewing files that changed from the base of the PR and between 763968b and cfd4707.

⛔ Files ignored due to path filters (175)
  • .agents/skills/impeccable/SKILL.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/agents/impeccable_asset_producer.toml is excluded by !**/*.toml, !.agents/**
  • .agents/skills/impeccable/agents/impeccable_finish_reviewer.toml is excluded by !**/*.toml, !.agents/**
  • .agents/skills/impeccable/reference/android.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/animate.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/audit.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/audit.native.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/bolder.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/brand.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/clarify.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/codex.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/colorize.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/craft-floor.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/craft.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/critique.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/delight.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/distill.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/doctor.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/document.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/harden.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/hooks.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/init.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/interaction-design.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/ios.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/layout.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/live.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/new-work.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/operate.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/overdrive.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/polish.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/quieter.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/routing.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/shape.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/typeset.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/reference/visualize.md is excluded by !**/*.md, !.agents/**
  • .agents/skills/impeccable/scripts/command-metadata.json is excluded by !**/*.json, !.agents/**
  • .agents/skills/impeccable/scripts/concept-seed.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/context-signals.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/context.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/critique-storage.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/browser/injected/index.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/cli/main.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/design-system.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/detect-antipatterns-browser.js is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/engines/browser/detect-url.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/engines/static-html/css-cascade.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/engines/static-html/detect-html.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/findings.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/registry/antipatterns.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/rules/checks.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/detector/shared/constants.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/doctor.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/generate-image.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/hook-admin.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/hook-lib.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/hook.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/artifact-schema.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/composition-catalog.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/concept-catalog.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/impeccable-config.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/impeccable-paths.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/provider.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/staleness-deep.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/staleness-notice.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/staleness.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/surface-briefs.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/target-slug.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/lib/template-extensions.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-accept.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-browser.js is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-commit-manual-edits.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-inject.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-insert.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-manual-edit-evidence.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-poll.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-server.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-status.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live-wrap.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/completion.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/event-validation.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/generation-preflight.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/poll-lanes.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/session-store.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/source-lock.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/source-search.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/sveltekit-adapter.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/live/tanstack-adapter.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/palette.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/pin.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/serve-question.mjs is excluded by !.agents/**
  • .agents/skills/impeccable/scripts/surface-brief.mjs is excluded by !.agents/**
  • .claude/settings.local.json is excluded by !**/*.json, !.claude/**
  • .codex/hooks.json is excluded by !**/*.json
  • DESIGN.md is excluded by !**/*.md
  • docs/design/opendesign/modals/CHECKLIST.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/modals/IMPLEMENTATION-SPEC.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/modals/MODAL-STANDARD.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/modals/STATE-MATRIX.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/modals/VISUAL-VALIDATION.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/os/ONBOARDING-IMPLEMENTATION-SPEC.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/os/OS-V2-DELIVERY.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/os/onboarding.css is excluded by !docs/design/**/*
  • docs/design/opendesign/os/onboarding.html is excluded by !docs/design/**/*
  • docs/design/opendesign/os/onboarding.html.artifact.json is excluded by !docs/design/**/*, !**/*.json
  • docs/design/opendesign/os/onboarding.js is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/LAYOUTS-IMPLEMENTATION-SPEC.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/settings/LAYOUTS-REDESIGN-SPEC.md is excluded by !docs/design/**/*, !**/*.md
  • docs/design/opendesign/settings/settings-automation.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-extensions.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-general.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-hooks.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-layouts.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-layouts.html.artifact.json is excluded by !docs/design/**/*, !**/*.json
  • docs/design/opendesign/settings/settings-layouts.js is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-memory.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-network.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-observability.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-providers.html is excluded by !docs/design/**/*
  • docs/design/opendesign/settings/settings-skills.html is excluded by !docs/design/**/*
  • docs/qa/scenarios/ET-layout-editor-drag-rebalance.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-layout-editor-gaps-follow-canvas.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-layout-editor-group-overlap-refused.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-layout-editor-load-saved-layout.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-layout-editor-shortcut-recorder.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-layout-editor-split-orientation.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-layout-editor-split-weights.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-web-command-palette-shortcuts.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-web-desktop-shell-lifecycle.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-web-menubar-menu-set.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-web-route-chrome-topbar.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-web-runtime-selector-minimal-slider.md is excluded by !**/*.md
  • docs/qa/scenarios/ET-web-shell-shortcuts-about-dialogs.md is excluded by !**/*.md
  • docs/qa/scenarios/MS-background-role-fallback.md is excluded by !**/*.md
  • docs/qa/scenarios/MS-background-role-routing.md is excluded by !**/*.md
  • docs/qa/scenarios/MS-configure-window-manager.md is excluded by !**/*.md
  • docs/qa/scenarios/MS-layout-profile-cli-roundtrip.md is excluded by !**/*.md
  • docs/qa/scenarios/MS-settings-roles-panel.md is excluded by !**/*.md
  • docs/qa/scenarios/RT-004.md is excluded by !**/*.md
  • docs/qa/scenarios/RT-onboarding-setup-panel-over-shell.md is excluded by !**/*.md
  • internal/sandbox/daytona/sidecar_assets/agh-daytona-sidecar-linux-amd64.gz is excluded by !**/*.gz, !**/*.gz
  • internal/sandbox/daytona/sidecar_assets/agh-daytona-sidecar-linux-arm64.gz is excluded by !**/*.gz, !**/*.gz
  • packages/site/content/runtime/cli-reference/agh.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/layout-profile/delete.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/layout-profile/get.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/layout-profile/index.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/layout-profile/list.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/layout-profile/meta.json is excluded by !**/*.json
  • packages/site/content/runtime/cli-reference/layout-profile/put.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/layout/arrange.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/layout/index.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/layout/watch.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/meta.json is excluded by !**/*.json
  • packages/site/content/runtime/cli-reference/roles/index.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/roles/list.mdx is excluded by !**/*.mdx
  • packages/site/content/runtime/cli-reference/roles/meta.json is excluded by !**/*.json
  • packages/site/content/runtime/cli-reference/roles/show.mdx is excluded by !**/*.mdx
  • packages/ui/src/components/reui/stories/stepper.stories.tsx is excluded by !**/*.stories.tsx
  • packages/ui/src/components/stories/menubar.stories.tsx is excluded by !**/*.stories.tsx
  • packages/ui/src/components/stories/slider.stories.tsx is excluded by !**/*.stories.tsx
  • skills/agh/references/window-management.md is excluded by !**/*.md
  • web/e2e/__tests__/harness-smoke.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/os-shell.spec.ts is excluded by !web/e2e/**
  • web/e2e/__tests__/settings.spec.ts is excluded by !web/e2e/**
  • web/e2e/fixtures/selectors.ts is excluded by !**/fixtures/**, !web/e2e/**
  • web/e2e/fixtures/workspace.ts is excluded by !**/fixtures/**, !web/e2e/**
  • web/src/systems/onboarding/components/stories/onboarding-steps.stories.tsx is excluded by !**/*.stories.tsx
  • web/src/systems/os/components/stories/attention-surfaces.stories.tsx is excluded by !**/*.stories.tsx
  • web/src/systems/os/components/stories/onboarding-setup-panel.stories.tsx is excluded by !**/*.stories.tsx
  • web/src/systems/os/components/stories/os-menubar.stories.tsx is excluded by !**/*.stories.tsx
  • web/src/systems/os/components/stories/os-shell-dialogs.stories.tsx is excluded by !**/*.stories.tsx
  • web/src/systems/settings/components/stories/roles-panel.stories.tsx is excluded by !**/*.stories.tsx
  • web/src/systems/settings/components/stories/settings-page-frame.stories.tsx is excluded by !**/*.stories.tsx
  • web/src/systems/settings/routes/settings-layouts.stories.tsx is excluded by !**/*.stories.tsx
📒 Files selected for processing (248)
  • internal/api/contract/diagnostics.go
  • internal/cli/client_window_manager.go
  • internal/cli/config_test.go
  • internal/cli/config_value_parse.go
  • internal/cli/root.go
  • internal/cli/window_manager_layout_profile.go
  • internal/cli/window_manager_layout_profile_test.go
  • internal/cli/window_manager_test.go
  • internal/config/config.go
  • internal/config/config_memory_clone.go
  • internal/config/config_memory_section_validation.go
  • internal/config/config_validate_features.go
  • internal/config/memory_v2_config_test.go
  • internal/config/provider_resolve.go
  • internal/config/role_sources.go
  • internal/config/roles_test.go
  • internal/daemon/auto_title_generator.go
  • internal/daemon/auto_title_role_integration_test.go
  • internal/daemon/boot_runtime_services.go
  • internal/daemon/checkpoint_summary_summarizer.go
  • internal/daemon/coordinator_config.go
  • internal/daemon/coordinator_config_test.go
  • internal/daemon/coordinator_runtime.go
  • internal/daemon/coordinator_runtime_reconcile.go
  • internal/daemon/coordinator_runtime_session.go
  • internal/daemon/coordinator_runtime_test.go
  • internal/daemon/daemon_acpmock_helpers_integration_test.go
  • internal/daemon/daemon_agent_definition_e2e_integration_test.go
  • internal/daemon/daemon_memory_e2e_integration_test.go
  • internal/daemon/daemon_sandbox_integration_test.go
  • internal/daemon/daemon_test.go
  • internal/daemon/memory_controller_role.go
  • internal/daemon/memory_controller_role_test.go
  • internal/daemon/memory_controller_tiebreaker.go
  • internal/daemon/memory_controller_wiring.go
  • internal/daemon/memory_extractor_fork.go
  • internal/daemon/native_bundle_resource_tools.go
  • internal/daemon/native_config_hook_tools.go
  • internal/daemon/native_create_tools.go
  • internal/daemon/native_hook_helpers.go
  • internal/daemon/native_tools_dependencies_builder.go
  • internal/daemon/role_dependencies.go
  • internal/daemon/role_fallback.go
  • internal/daemon/role_resolver.go
  • internal/daemon/role_resolver_integration_test.go
  • internal/daemon/role_resolver_test.go
  • internal/daemon/role_status.go
  • internal/daemon/role_status_test.go
  • internal/daemon/runtime_dream_dependencies.go
  • internal/daemon/settings_runtime_applier.go
  • internal/diagnosticcontract/diagnostics.go
  • internal/memory/consolidation/runtime_test.go
  • internal/memory/consolidation/runtime_trigger.go
  • internal/memory/consolidation/session_fallback.go
  • internal/memory/controller/controller.go
  • internal/memory/controller/controller_targets.go
  • internal/memory/controller/controller_test.go
  • internal/memory/controller/controller_tiebreak.go
  • internal/memory/decision_controller.go
  • internal/memory/dream_run.go
  • internal/memory/dream_test.go
  • internal/memory/dream_v2_run.go
  • internal/memory/store.go
  • internal/memory/store_options.go
  • internal/network/manager.go
  • internal/session/coordinator_fallback_test.go
  • internal/session/manager_prompt_request.go
  • internal/session/manager_start_run.go
  • internal/session/manager_test.go
  • internal/session/manager_workspace.go
  • internal/session/provider_runtime.go
  • internal/session/transient_model.go
  • internal/session/transient_model_test.go
  • internal/settings/section_config_update.go
  • internal/settings/section_roles.go
  • internal/settings/sections.go
  • internal/testutil/e2e/config_seed.go
  • internal/testutil/e2e/config_seed_test.go
  • internal/workspace/clone.go
  • internal/workspace/resolver.go
  • internal/workspace/resolver_test.go
  • internal/workspace/scanner.go
  • packages/ui/src/components/__tests__/menubar.test.tsx
  • packages/ui/src/components/__tests__/slider.test.tsx
  • packages/ui/src/components/dropdown-menu.tsx
  • packages/ui/src/components/menubar.tsx
  • packages/ui/src/components/slider.tsx
  • packages/ui/src/primitives.ts
  • packages/ui/src/tokens.css
  • web/src/routes/_app/settings/-layouts-settings-page.tsx
  • web/src/routes/_app/settings/-providers-settings-page.tsx
  • web/src/routes/_app/settings/-roles-settings-page.tsx
  • web/src/routes/_app/settings/__tests__/-roles.test.tsx
  • web/src/styles.css
  • web/src/systems/agent/components/__tests__/agent-command-select.test.tsx
  • web/src/systems/agent/components/agent-command-list.tsx
  • web/src/systems/agent/components/agent-command-select.tsx
  • web/src/systems/agent/hooks/use-agent-runtime-editor.ts
  • web/src/systems/onboarding/components/__tests__/onboarding-setup-frame.test.tsx
  • web/src/systems/onboarding/components/directory-browser.tsx
  • web/src/systems/onboarding/components/onboarding-setup-footer.tsx
  • web/src/systems/onboarding/components/onboarding-setup-frame.tsx
  • web/src/systems/onboarding/components/onboarding-setup-panel.tsx
  • web/src/systems/onboarding/components/onboarding-step-strip.tsx
  • web/src/systems/onboarding/components/onboarding-wizard.tsx
  • web/src/systems/onboarding/components/step-default-model.tsx
  • web/src/systems/onboarding/components/step-workspaces.tsx
  • web/src/systems/onboarding/hooks/__tests__/use-onboarding-default-model.test.tsx
  • web/src/systems/onboarding/hooks/__tests__/use-onboarding-workspaces.test.tsx
  • web/src/systems/onboarding/hooks/__tests__/use-setup-body-height.test.ts
  • web/src/systems/onboarding/hooks/use-onboarding-default-model.ts
  • web/src/systems/onboarding/hooks/use-onboarding-wizard.ts
  • web/src/systems/onboarding/hooks/use-setup-body-height.ts
  • web/src/systems/onboarding/index.ts
  • web/src/systems/onboarding/lib/__tests__/model-facts.test.ts
  • web/src/systems/onboarding/lib/__tests__/onboarding-summary.test.ts
  • web/src/systems/onboarding/lib/model-facts.ts
  • web/src/systems/onboarding/lib/onboarding-summary.ts
  • web/src/systems/onboarding/mocks/index.ts
  • web/src/systems/onboarding/mocks/setup-fixtures.ts
  • web/src/systems/onboarding/stores/__tests__/use-onboarding-draft-store.test.ts
  • web/src/systems/onboarding/stores/use-onboarding-draft-store.ts
  • web/src/systems/os/components/__tests__/desktop-gate.test.tsx
  • web/src/systems/os/components/__tests__/os-shortcuts-dialog.test.tsx
  • web/src/systems/os/components/desktop-dock.tsx
  • web/src/systems/os/components/desktop-gate.tsx
  • web/src/systems/os/components/desktop-manager-surfaces.tsx
  • web/src/systems/os/components/desktop-menubar.tsx
  • web/src/systems/os/components/desktop-shell.tsx
  • web/src/systems/os/components/index.ts
  • web/src/systems/os/components/menubar/agh-menu.tsx
  • web/src/systems/os/components/menubar/go-menu.tsx
  • web/src/systems/os/components/menubar/help-menu.tsx
  • web/src/systems/os/components/menubar/session-menu.tsx
  • web/src/systems/os/components/menubar/window-menu.tsx
  • web/src/systems/os/components/menubar/workspace-menu.tsx
  • web/src/systems/os/components/os-about-dialog.tsx
  • web/src/systems/os/components/os-menubar.tsx
  • web/src/systems/os/components/os-shortcuts-dialog.tsx
  • web/src/systems/os/components/stories/_desktop.tsx
  • web/src/systems/os/components/stories/_shell-fixture.tsx
  • web/src/systems/os/hooks/__tests__/os-interaction-hooks.test.tsx
  • web/src/systems/os/hooks/use-desktop-overlays.ts
  • web/src/systems/os/hooks/use-desktop-shell-body.ts
  • web/src/systems/os/hooks/use-menubar-actions.ts
  • web/src/systems/os/hooks/use-os-command-palette.ts
  • web/src/systems/os/hooks/use-os-shortcuts.ts
  • web/src/systems/os/hooks/use-os-window-commands.ts
  • web/src/systems/os/index.ts
  • web/src/systems/os/lib/__tests__/window-manager-shortcuts.test.ts
  • web/src/systems/os/lib/window-manager-shortcuts.ts
  • web/src/systems/os/lib/window-manager-view.ts
  • web/src/systems/os/mocks/fixtures.ts
  • web/src/systems/runtime/components/runtime-selector/index.ts
  • web/src/systems/runtime/index.ts
  • web/src/systems/settings/components/__tests__/layout-canvas.test.tsx
  • web/src/systems/settings/components/__tests__/layout-review-bar.test.tsx
  • web/src/systems/settings/components/__tests__/window-manager-config-editor.test.tsx
  • web/src/systems/settings/components/__tests__/window-manager-layout-document-editor.test.tsx
  • web/src/systems/settings/components/index.ts
  • web/src/systems/settings/components/layouts/layout-canvas-board-bar.tsx
  • web/src/systems/settings/components/layouts/layout-canvas-floating.tsx
  • web/src/systems/settings/components/layouts/layout-canvas-group-edge.tsx
  • web/src/systems/settings/components/layouts/layout-canvas-seam.tsx
  • web/src/systems/settings/components/layouts/layout-canvas-tile.tsx
  • web/src/systems/settings/components/layouts/layout-canvas.tsx
  • web/src/systems/settings/components/layouts/layout-desktop-tabs.tsx
  • web/src/systems/settings/components/layouts/layout-inspector-node.tsx
  • web/src/systems/settings/components/layouts/layout-inspector-window.tsx
  • web/src/systems/settings/components/layouts/layout-inspector.tsx
  • web/src/systems/settings/components/layouts/layout-node-diagrams.tsx
  • web/src/systems/settings/components/layouts/layout-profile-card.tsx
  • web/src/systems/settings/components/layouts/layout-profile-editor.tsx
  • web/src/systems/settings/components/layouts/layout-profile-grid.tsx
  • web/src/systems/settings/components/layouts/layout-review-bar.tsx
  • web/src/systems/settings/components/layouts/layout-stage.tsx
  • web/src/systems/settings/components/layouts/window-manager-behavior-diagrams.tsx
  • web/src/systems/settings/components/layouts/window-manager-behavior-picks.tsx
  • web/src/systems/settings/components/layouts/window-manager-gap-editor.tsx
  • web/src/systems/settings/components/layouts/window-manager-ratio-track.tsx
  • web/src/systems/settings/components/layouts/window-manager-shortcut-row.tsx
  • web/src/systems/settings/components/layouts/window-manager-shortcut-table.tsx
  • web/src/systems/settings/components/layouts/window-manager-snap-map.tsx
  • web/src/systems/settings/components/layouts/window-manager-tiling-diagrams.tsx
  • web/src/systems/settings/components/role-advanced-details.tsx
  • web/src/systems/settings/components/role-effective-hint.tsx
  • web/src/systems/settings/components/role-fallback-editor.tsx
  • web/src/systems/settings/components/role-field-control.tsx
  • web/src/systems/settings/components/role-list.tsx
  • web/src/systems/settings/components/role-panel-header.tsx
  • web/src/systems/settings/components/role-panel.tsx
  • web/src/systems/settings/components/role-routing-fields.tsx
  • web/src/systems/settings/components/role-runtime-selector.tsx
  • web/src/systems/settings/components/role-settings-group.tsx
  • web/src/systems/settings/components/role-status-badges.tsx
  • web/src/systems/settings/components/settings-advanced-fold.tsx
  • web/src/systems/settings/components/settings-page-frame.tsx
  • web/src/systems/settings/components/window-manager-behavior-fields.tsx
  • web/src/systems/settings/components/window-manager-binding-fields.tsx
  • web/src/systems/settings/components/window-manager-config-editor.tsx
  • web/src/systems/settings/components/window-manager-config-field-types.ts
  • web/src/systems/settings/components/window-manager-config-fields.ts
  • web/src/systems/settings/components/window-manager-geometry-fields.tsx
  • web/src/systems/settings/components/window-manager-layout-document-editor.tsx
  • web/src/systems/settings/components/window-manager-layout-node-editor.tsx
  • web/src/systems/settings/components/window-manager-layout-profiles.tsx
  • web/src/systems/settings/components/window-manager-number-field.tsx
  • web/src/systems/settings/components/window-manager-select-field.tsx
  • web/src/systems/settings/components/window-manager-toggle-field.tsx
  • web/src/systems/settings/hooks/__tests__/use-layout-draft-seam.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-window-manager-config-editor.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-window-manager-layout-editor.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-window-manager-layout-profiles.test.tsx
  • web/src/systems/settings/hooks/__tests__/use-window-manager-ratio-track.test.tsx
  • web/src/systems/settings/hooks/use-drag-value.ts
  • web/src/systems/settings/hooks/use-layout-canvas-selection.ts
  • web/src/systems/settings/hooks/use-layout-draft-seam.ts
  • web/src/systems/settings/hooks/use-layout-group-frame-drag.ts
  • web/src/systems/settings/hooks/use-pointer-drag.ts
  • web/src/systems/settings/hooks/use-roles-disclosure.ts
  • web/src/systems/settings/hooks/use-roles-runtime-options.ts
  • web/src/systems/settings/hooks/use-settings-roles-page.ts
  • web/src/systems/settings/hooks/use-window-manager-config-editor.ts
  • web/src/systems/settings/hooks/use-window-manager-layout-editor.ts
  • web/src/systems/settings/hooks/use-window-manager-layout-profiles.ts
  • web/src/systems/settings/hooks/use-window-manager-ratio-track.ts
  • web/src/systems/settings/hooks/use-window-manager-shortcut-recorder.ts
  • web/src/systems/settings/index.ts
  • web/src/systems/settings/lib/__tests__/roles-config.test.ts
  • web/src/systems/settings/lib/__tests__/window-manager-layout-mutations.test.ts
  • web/src/systems/settings/lib/__tests__/window-manager-layout-profile-key.test.ts
  • web/src/systems/settings/lib/provider-runtime-option.ts
  • web/src/systems/settings/lib/roles-config.ts
  • web/src/systems/settings/lib/roles-validation.ts
  • web/src/systems/settings/lib/roles-view-model.ts
  • web/src/systems/settings/lib/window-manager-layout-bridge.ts
  • web/src/systems/settings/lib/window-manager-layout-canvas.ts
  • web/src/systems/settings/lib/window-manager-layout-detents.ts
  • web/src/systems/settings/lib/window-manager-layout-mutations.ts
  • web/src/systems/settings/lib/window-manager-layout-profile-key.ts
  • web/src/systems/settings/lib/window-manager-layout-reference.ts
  • web/src/systems/settings/lib/window-manager-layout-thumbnail.ts
  • web/src/systems/settings/lib/window-manager-layout-tree.ts
  • web/src/systems/settings/lib/window-manager-layout-window-face.ts
  • web/src/systems/settings/lib/window-manager-snap-geometry.ts
  • web/src/systems/settings/mocks/handlers.ts
  • web/src/systems/settings/mocks/index.ts
  • web/src/systems/settings/mocks/window-manager-fixtures.ts

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Review on demand using usage pricing
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch layout-settings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@compozyrabbit

compozyrabbit Bot commented Jul 25, 2026

Copy link
Copy Markdown

Code Review Could Not Complete ⚠️

The review failed before suggestions could be generated.

Reason: Unexpected error while running the code review (open_router).

After fixing the issue, comment @kody review on this PR to re-run the review.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug
Performance
Security
Business Logic

Access your configuration settings here.

@pedronauck
pedronauck merged commit 0f445fe into main Jul 25, 2026
9 of 10 checks passed
@pedronauck
pedronauck deleted the layout-settings branch July 25, 2026 05:13
@compozyrabbit

compozyrabbit Bot commented Jul 25, 2026

Copy link
Copy Markdown

Code Review Could Not Complete ⚠️

The review failed before suggestions could be generated.

Reason: Unexpected error while running the code review (open_router).

After fixing the issue, comment @kody review on this PR to re-run the review.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

Options Enabled
Bug
Performance
Security
Business Logic

Access your configuration settings here.

@github-actions

Copy link
Copy Markdown
Contributor

React Doctor found 28 new issues in 5 files · 26 errors & 2 warnings · score 80 / 100 (Needs work) · 0 fixed · vs main

Errors

2 warnings

src/systems/settings/components/layouts/layout-canvas.tsx

  • ⚠️ L57 Click handler missing keyboard handler click-events-have-key-events
  • ⚠️ L57 Interaction on static element no-static-element-interactions

Reviewed by React Doctor for commit cfd4707. See inline comments for fixes.

"transition-[height] duration-shell-slow ease-spring motion-reduce:transition-none",
"max-md:h-auto max-md:flex-1"
)}
style={body.height === null ? undefined : { height: `${body.height}px` }}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-hooks-js/refs (error)

This component misses React Compiler's automatic memoization & re-renders more than it should: Cannot access refs during render. Rewrite the flagged code so the compiler can optimize it.

Fix → React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the current property) during render can cause your component not to update as expected (https://react.dev/reference/react/useRef).

Docs

style={body.height === null ? undefined : { height: `${body.height}px` }}
>
<div key={wizard.step} className="onboarding-setup-pane-in">
<div ref={body.measureRef} className="flex flex-col px-6 pt-5.5 pb-6.5 max-md:px-4">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-hooks-js/refs (error)

This component misses React Compiler's automatic memoization & re-renders more than it should: Cannot access refs during render. Rewrite the flagged code so the compiler can optimize it.

Fix → React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the current property) during render can cause your component not to update as expected (https://react.dev/reference/react/useRef).

Docs

const empty = desktop.groups.length === 0 && desktop.floating.length === 0;

return (
<div

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-doctor/click-events-have-key-events (warning)

Keyboard users can't trigger this click handler because there's no keyboard one, so add onKeyUp, onKeyDown, or onKeyPress.

Fix → Pair onClick with a key handler so keyboard users can trigger it.

Docs

const empty = desktop.groups.length === 0 && desktop.floating.length === 0;

return (
<div

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-doctor/no-static-element-interactions (warning)

Screen reader users can't tell this click handler is interactive because it has no role, so add a role or use a button or link.

Fix → Give clickable static elements a role, or use a button or link.

Docs

<div
className="relative h-20 overflow-hidden rounded-md border border-line-strong bg-canvas select-none"
data-testid="window-manager-ratio-track"
ref={model.trackRef}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-hooks-js/refs (error)

This component misses React Compiler's automatic memoization & re-renders more than it should: Cannot access refs during render. Rewrite the flagged code so the compiler can optimize it.

Fix → React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the current property) during render can cause your component not to update as expected (https://react.dev/reference/react/useRef).

Docs

if (!sameRatios(knownRatiosRef.current, ratios)) {
stopIdsRef.current = reconcileStopIds(
knownRatiosRef.current,
stopIdsRef.current,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-hooks-js/refs (error)

This component misses React Compiler's automatic memoization & re-renders more than it should: Cannot access refs during render. Rewrite the flagged code so the compiler can optimize it.

Fix → React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the current property) during render can cause your component not to update as expected (https://react.dev/reference/react/useRef).

Docs

knownRatiosRef.current,
stopIdsRef.current,
ratios,
nextStopId

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-hooks-js/refs (error)

This component misses React Compiler's automatic memoization & re-renders more than it should: Cannot access refs during render. Rewrite the flagged code so the compiler can optimize it.

Fix → React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the current property) during render can cause your component not to update as expected (https://react.dev/reference/react/useRef).

Docs

ratios,
nextStopId
);
knownRatiosRef.current = [...ratios];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-doctor/no-ref-current-in-render (error)

This ref is mutated during render. React can replay or discard render work, so the mutation can leak from UI that never commits.

Fix → Move ref writes into an event handler or effect. Render must stay pure because React can replay or discard it. The predictable null-guarded lazy initialization pattern remains supported.

Docs

ratios,
nextStopId
);
knownRatiosRef.current = [...ratios];

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-hooks-js/refs (error)

This component misses React Compiler's automatic memoization & re-renders more than it should: Cannot access refs during render. Rewrite the flagged code so the compiler can optimize it.

Fix → React refs are values that are not needed for rendering. Refs should only be accessed outside of render, such as in event handlers or effects. Accessing a ref value (the current property) during render can cause your component not to update as expected (https://react.dev/reference/react/useRef).

Docs


const setRatios = (
next: number[],
nextIds = reconcileStopIds(knownRatiosRef.current, stopIdsRef.current, next, nextStopId)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

React Doctor · react-hooks-js/todo (error)

This component misses React Compiler's automatic memoization & re-renders more than it should. Rewrite the flagged code so the compiler can optimize it.

Fix → Todo: (BuildHIR::node.lowerReorderableExpression) Expression type CallExpression cannot be safely reordered

Docs

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