Skip to content

move settings into app shell - #9047

Merged
DOsinga merged 9 commits into
mainfrom
morganm/full-page-settings
May 13, 2026
Merged

move settings into app shell#9047
DOsinga merged 9 commits into
mainfrom
morganm/full-page-settings

Conversation

@morgmart

@morgmart morgmart commented May 6, 2026

Copy link
Copy Markdown
Collaborator

Category: improvement
User Impact: Users can open Settings as a full-page app surface with a dedicated settings navigation inside the existing sidebar.
Problem: Settings was constrained to a modal that had its own side navigation, which competed with the main app sidebar and made the settings IA feel separate from the app shell. The modal also made it harder to deep link to a specific settings section.
Solution: Settings now uses the app shell as a first-class view. The sidebar keeps its frame in place while its internal navigation switches to a settings surface with a back button, and settings sections are reflected in /settings?section=... URL state.

File changes

ui/goose2/src/app/AppShell.tsx
Adds Settings as an app-shell view, tracks the last non-settings view for the back action, and keeps the active settings section in URL state.

ui/goose2/src/app/ui/AppShellContent.tsx
Renders the full-page settings view alongside the other app views.

ui/goose2/src/features/settings/ui/SettingsModal.tsx
Removes the modal implementation now that settings is an app-shell surface.

ui/goose2/src/features/settings/ui/SettingsView.tsx
Adds the full-page settings content switcher for each settings section.

ui/goose2/src/features/settings/ui/settingsSections.ts
Centralizes the settings section metadata so the sidebar and content can share one source of truth.

ui/goose2/src/features/sidebar/ui/Sidebar.tsx
Adds a settings navigation surface inside the existing sidebar shell, including the back control and section selection.

ui/goose2/src/features/sidebar/ui/tests/Sidebar.test.tsx
Covers the settings sidebar surface, active section state, back action, and section selection.

ui/goose2/src/shared/i18n/locales/en/settings.json
Adds the settings navigation label for accessibility.

ui/goose2/src/shared/i18n/locales/en/sidebar.json
Adds main navigation and back-to-main-navigation copy.

ui/goose2/src/shared/i18n/locales/es/settings.json
Adds the Spanish settings navigation label.

ui/goose2/src/shared/i18n/locales/es/sidebar.json
Adds Spanish copy for main navigation and the settings back action.

ui/goose2/src/shared/ui/SettingsPage.tsx
Removes modal-specific right padding so settings page headers align correctly in the full-page layout.

Reproduction Steps

  1. Run Goose 2 and open the main app shell.
  2. Click Settings in the sidebar.
  3. Confirm the sidebar frame stays in place while the nav contents switch to Settings navigation.
  4. Select another settings section, such as General, and confirm the URL updates to /settings?section=general.
  5. Click Back to main navigation and confirm the previous non-settings app view returns.

Screenshots/Demos
Screenshot 2026-05-06 at 1 55 08 PM

Bojun-Vvibe added a commit to Bojun-Vvibe/oss-contributions that referenced this pull request May 6, 2026
gemini-cli/qwen-code/crush/goose coverage:
- google-gemini/gemini-cli#26551 externalize https-proxy-agent (man)
- QwenLM/qwen-code#3865 persist channel sessions across restarts (man)
- charmbracelet/crush#2807 oauth refresh in summarize path (man)
- aaif-goose/goose#9047 settings moved into app shell with URL state (man)
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
@morgmart
morgmart force-pushed the morganm/full-page-settings branch from d2b820b to 49c110c Compare May 6, 2026 16:00
morgmart added 4 commits May 6, 2026 12:41
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e11288985c

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ui/goose2/src/app/AppShell.tsx Outdated
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 020953e917

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread ui/goose2/src/app/AppShell.tsx Outdated
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>

@DOsinga DOsinga left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Code is clean and well-structured. Codex P2 issues were addressed in follow-up commits. Tests cover real user-facing behavior. All CI green. Approving.

Douwe Osinga added 2 commits May 12, 2026 18:27
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
@DOsinga
DOsinga added this pull request to the merge queue May 13, 2026
Merged via the queue into main with commit a54872c May 13, 2026
26 checks passed
@DOsinga
DOsinga deleted the morganm/full-page-settings branch May 13, 2026 18:13
lifeizhou-ap added a commit that referenced this pull request May 14, 2026
* main: (66 commits)
  Switch GH pages deploy to actions/artifact workflow (#9025)
  fix(summon): re-apply canonical limits when delegate overrides model (#9183)
  Split code signing from build (#8587)
  refactor(logging): consolidate logging setup into shared helper in goose crate (#8817)
  fix(cli): report cumulative total_tokens in stream-json/json output (#8910)
  plugins: add open plugins (just skills for now) (#9063)
  fix(providers): refresh GCP metadata server token on expiration (#8929)
  chore(deps): bump the cargo-minor-and-patch group across 1 directory with 14 updates (#9178)
  chore(deps): bump bzip2 from 0.5.2 to 0.6.1 (#8964)
  chore(deps): bump tauri from 2.10.3 to 2.11.1 in /ui/goose2/src-tauri (#9066)
  chore(deps): bump hono from 4.12.14 to 4.12.18 in /evals/open-model-gym/mcp-harness (#9073)
  localize hardcoded strings in provider settings UI (#8931)
  chore(deps): bump @babel/plugin-transform-modules-systemjs from 7.28.5 to 7.29.4 in /documentation (#9122)
  move settings into app shell (#9047)
  Add Location column to CLI skills table (#8785)
  (feat): add routstr as a declarative provider (#9175)
  Add FuturMix provider (#8840)
  fix: convert quoted numeric config values to numbers if needed (#8844)
  fix(ui): keep SSE reconnect loop alive on long disconnects (#8717) (#8846)
  fix(openai): apply request_params to outgoing API payload (#9151)
  ...
shafqatevo pushed a commit to shafqatevo/goose that referenced this pull request Aug 7, 2026
Signed-off-by: morgmart <98432065+morgmart@users.noreply.github.com>
Signed-off-by: Douwe Osinga <douwe@squareup.com>
Co-authored-by: Douwe Osinga <douwe@squareup.com>
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