Skip to content

feat(settings): rename negative settings to positive naming (disable* -> enable*)#14142

Merged
jacob314 merged 5 commits intogoogle-gemini:mainfrom
afarber:14035-improve-ui-consistency
Jan 16, 2026
Merged

feat(settings): rename negative settings to positive naming (disable* -> enable*)#14142
jacob314 merged 5 commits intogoogle-gemini:mainfrom
afarber:14035-improve-ui-consistency

Conversation

@afarber
Copy link
Contributor

@afarber afarber commented Nov 29, 2025

Summary

Standardize boolean toggle settings to use positive "Enable X" naming instead of "Disable X" to avoid double negatives and improve UX consistency. Adds automatic migration for existing user configurations.

Details

Old Setting New Setting Default
general.disableAutoUpdate general.enableAutoUpdate true
general.disableUpdateNag general.enableAutoUpdateNotification true
context.fileFiltering.disableFuzzySearch context.fileFiltering.enableFuzzySearch true
ui.accessibility.disableLoadingPhrases ui.accessibility.enableLoadingPhrases true

Migration logic in migrateDeprecatedSettings() automatically converts old settings with inverted values. Old configs like disableAutoUpdate: true become enableAutoUpdate: false.

Also renamed internal parameter isAutoUpdateDisabled to isAutoUpdateEnabled in installationInfo.ts for consistent positive boolean logic throughout the codebase.

Note: security.disableYoloMode intentionally kept as-is since "disable" framing is appropriate for a dangerous mode.

Related Issues

Fixes #14035, #15013, #13380, and partially #15237

How to Validate

  1. Fresh install: Run gemini and verify settings dialog shows "Enable Auto Update Notification", "Enable Loading Phrases", etc.
  2. Migration test: Create ~/.gemini/settings.json with old format:
{
  "general": {
    "disableAutoUpdate": true,
    "disableUpdateNag": true
  },
  "ui": {
    "accessibility": {
      "disableLoadingPhrases": true
    }
  },
  "context": {
    "fileFiltering": {
      "disableFuzzySearch": true
    }
  },
  "security": {
    "disableYoloMode": true
  }
}
  1. Run gemini, then check settings - should show:
    - "Enable Auto Update" as OFF
    - "Enable Update Prompts" as OFF
    - "Enable Loading Phrases" as OFF
    - "Enable Fuzzy Search" as OFF
    - "Disable YOLO Mode" as ON (unchanged, kept as-is)
  2. Run npm run preflight - all tests pass

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@afarber afarber requested a review from a team as a code owner November 29, 2025 11:05
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @afarber, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refactors several boolean configuration settings to enhance user experience and consistency. By standardizing naming conventions from 'disableX' to 'enableX' and inverting their default values, the system avoids confusing double negatives. Crucially, it includes robust migration logic to ensure that existing user settings are automatically updated without data loss or manual intervention, making the transition transparent for users.

Highlights

  • Setting Renaming for Consistency: Four boolean settings have been renamed from a 'disableX' format to an 'enableX' format to improve UX consistency and avoid double negatives. These include general.disableAutoUpdate to general.enableAutoUpdate, general.disableUpdateNag to general.enableUpdatePrompts, context.fileFiltering.disableFuzzySearch to context.fileFiltering.enableFuzzySearch, and ui.accessibility.disableLoadingPhrases to ui.accessibility.enableLoadingPhrases.
  • Inverted Default Values: Along with the renaming, the default values for these settings have been inverted. For example, general.enableAutoUpdate now defaults to true (whereas disableAutoUpdate defaulted to false).
  • Automatic Migration Logic: Automatic migration logic has been implemented in migrateDeprecatedSettings() to seamlessly convert existing user configurations. If an old setting like disableAutoUpdate: true is found, it will be automatically converted to enableAutoUpdate: false.
  • Documentation and Test Updates: All relevant documentation, settings schemas, and test files have been updated to reflect the new setting names, their inverted logic, and the migration process.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request standardizes boolean toggle settings to use positive "Enable X" naming, which is a great improvement for UX consistency. The changes are extensive, touching documentation, configuration schemas, tests, and UI components. The inclusion of automatic migration logic for existing user configurations is well-implemented. My main feedback is a suggestion to refactor the migration logic for general settings to be more efficient and maintainable by combining multiple file writes into one.

@afarber afarber force-pushed the 14035-improve-ui-consistency branch 7 times, most recently from 8e12c88 to 82188f5 Compare December 6, 2025 09:12
@afarber afarber force-pushed the 14035-improve-ui-consistency branch 4 times, most recently from 0f92014 to 3e10d41 Compare December 9, 2025 19:54
@gemini-cli gemini-cli bot added size/l A large sized PR review/involved PRs that may take a lot of work to review labels Dec 9, 2025
@afarber afarber force-pushed the 14035-improve-ui-consistency branch 2 times, most recently from 2ab953c to 8fa176b Compare December 18, 2025 07:10
@afarber afarber force-pushed the 14035-improve-ui-consistency branch 2 times, most recently from 7025f52 to 6ccb3b2 Compare December 30, 2025 08:10
@afarber
Copy link
Contributor Author

afarber commented Dec 30, 2025

/gemini review

@afarber afarber changed the title feat(settings): rename disable* toggles to enable* for consistency feat(settings): rename negative settings to positive naming (disable* -> enable*) Dec 30, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request is a great step towards standardizing boolean toggle settings to use positive naming, which improves consistency and user experience. The automatic migration for existing user configurations is a thoughtful addition. The changes are comprehensive, covering documentation, configuration, tests, and UI components. I've identified one area for improvement in the migration logic to make it more robust for future changes.

@afarber afarber force-pushed the 14035-improve-ui-consistency branch from a1fe4e3 to e9565c7 Compare January 1, 2026 13:43
Copy link
Contributor

@devr0306 devr0306 left a comment

Choose a reason for hiding this comment

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

Great job on this! A few comments but otherwise mostly looks good. A PR recently got merged which enables defaults on settings so some of the ?? could be removed too.

@afarber afarber force-pushed the 14035-improve-ui-consistency branch 3 times, most recently from 583c289 to 34a7d1d Compare January 7, 2026 19:05
@gemini-cli gemini-cli bot added priority/p2 Important but can be addressed in a future release. area/core Issues related to User Interface, OS Support, Core Functionality labels Jan 7, 2026
@afarber afarber force-pushed the 14035-improve-ui-consistency branch from 34a7d1d to 716b1cc Compare January 8, 2026 08:55
Copy link
Contributor

@devr0306 devr0306 left a comment

Choose a reason for hiding this comment

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

lgtm

@afarber afarber force-pushed the 14035-improve-ui-consistency branch from ece76b7 to 93a486b Compare January 10, 2026 10:32
@jacob314 jacob314 force-pushed the 14035-improve-ui-consistency branch from f8ecbaa to 0c5d5bd Compare January 15, 2026 18:11
@jacob314 jacob314 requested review from a team as code owners January 15, 2026 18:11
Copy link
Contributor

@jacob314 jacob314 left a comment

Choose a reason for hiding this comment

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

Thanks for adding this! To unblock some work I'll make a couple tweaks on top of this PR so we can land it today.

@afarber afarber force-pushed the 14035-improve-ui-consistency branch from 0c5d5bd to 852b425 Compare January 15, 2026 19:19
Copy link
Contributor

@g-samroberts g-samroberts left a comment

Choose a reason for hiding this comment

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

LGTM for docs.

@jacob314 jacob314 force-pushed the 14035-improve-ui-consistency branch from 852b425 to 6942caa Compare January 16, 2026 19:49
fix: address settings refactoring issues and remove deprecated migration tests

- Removed tests for migrateSettingsToV1 and needsMigration which were officially removed.
- Fixed missing imports (debugLogger, ExtensionManager, path, etc.) and unused variables in settings files.
- Resolved crash in handleAutoUpdate.test.ts by providing missing settings properties.
- Updated Config mock in useAtCompletion_agents.test.ts to include missing methods.
- Regenerated settings documentation to keep it in sync with schema changes.

More fixes
@jacob314 jacob314 force-pushed the 14035-improve-ui-consistency branch from 6942caa to 8e4ce83 Compare January 16, 2026 21:13
Copy link
Contributor

@jacob314 jacob314 left a comment

Choose a reason for hiding this comment

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

lgtm

@jacob314 jacob314 enabled auto-merge January 16, 2026 21:26
@jacob314 jacob314 added this pull request to the merge queue Jan 16, 2026
Merged via the queue into google-gemini:main with commit 608da23 Jan 16, 2026
25 checks passed
abhipatel12 pushed a commit that referenced this pull request Jan 17, 2026
@Chubong630
Copy link

Chubong630 commented Jan 22, 2026 via email

@afarber afarber deleted the 14035-improve-ui-consistency branch January 22, 2026 07:15
thacio added a commit to thacio/auditaria that referenced this pull request Jan 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Issues related to User Interface, OS Support, Core Functionality priority/p2 Important but can be addressed in a future release. review/involved PRs that may take a lot of work to review size/l A large sized PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Can we keep the settings toggle consistent and avoid double negatives?

5 participants