Skip to content

Comments

feat: Add permissions to disable Folders and Interface Settings#19484

Closed
eliem-ark wants to merge 7 commits intoopen-webui:devfrom
eliem-ark:feat/disable-folders-interface-settings
Closed

feat: Add permissions to disable Folders and Interface Settings#19484
eliem-ark wants to merge 7 commits intoopen-webui:devfrom
eliem-ark:feat/disable-folders-interface-settings

Conversation

@eliem-ark
Copy link

@eliem-ark eliem-ark commented Nov 25, 2025

Pull Request Checklist

Note to first-time contributors: Please open a discussion post in Discussions to discuss your idea/fix with the community before creating a pull request, and describe your changes before submitting a pull request.

This is to ensure large feature PRs are discussed with the community first, before starting work on it. If the community does not want this feature or it is not relevant for Open WebUI as a project, it can be identified in the discussion before working on the feature and submitting the PR.

Before submitting, make sure you've checked the following:

  • Target branch: Verify that the pull request targets the dev branch. Not targeting the dev branch will lead to immediate closure of the PR.
  • Description: Provide a concise description of the changes made in this pull request down below.
  • Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
  • Documentation: If necessary, update relevant documentation Open WebUI Docs like environment variables, the tutorials, or other documentation sources.
  • Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
  • Testing: Perform manual tests to verify the implemented fix/feature works as intended AND does not break any other functionality. Take this as an opportunity to make screenshots of the feature/fix and include it in the PR description.
  • Agentic AI Code: Confirm this Pull Request is not written by any AI Agent or has at least gone through additional human review AND manual testing. If any AI Agent is the co-author of this PR, it may lead to immediate closure of the PR.
  • Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
  • Title Prefix: To clearly categorize this pull request, prefix the pull request title using one of the following:
    • BREAKING CHANGE: Significant changes that may affect compatibility
    • build: Changes that affect the build system or external dependencies
    • ci: Changes to our continuous integration processes or workflows
    • chore: Refactor, cleanup, or other non-functional code changes
    • docs: Documentation update or addition
    • feat: Introduces a new feature or enhancement to the codebase
    • fix: Bug fix or error correction
    • i18n: Internationalization or localization changes
    • perf: Performance improvement
    • refactor: Code restructuring for better maintainability, readability, or scalability
    • style: Changes that do not affect the meaning of the code (white space, formatting, missing semi-colons, etc.)
    • test: Adding missing tests or correcting existing tests
    • WIP: Work in progress, a temporary label for incomplete or ongoing work

Changelog Entry

Description

By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.

This PR adds environment variables to control visibility of Folders and Interface Settings for normal users.
Related to: #19210 &
#18459 &
#18299

Added

  • USER_PERMISSIONS_FEATURES_FOLDERS environment variable (default: True)
  • USER_PERMISSIONS_FEATURES_INTERFACE_SETTINGS environment variable (default: True)
  • Permission checks in Sidebar for Folders visibility
  • Permission checks in Settings modal for Interface tab visibility

Changed

  • Normal users can now have Folders hidden when USER_PERMISSIONS_FEATURES_FOLDERS=False
  • Normal users can now have Interface Settings tab hidden when USER_PERMISSIONS_FEATURES_INTERFACE_SETTINGS=False
  • Admins always retain full access regardless of permission settings

Testing

  • Tested with permissions enabled (default behavior)
  • Tested with Folders disabled for normal users
  • Tested with Interface Settings disabled for normal users
  • Verified admin users retain access in all scenarios

Here are screeshots of the interface for the user with the USER_PERMISSIONS_FEATURES_FOLDERS=False and USER_PERMISSIONS_FEATURES_INTERFACE_SETTINGS=False

folderopenwebui settingsopenwebui

@pr-validator-bot
Copy link

👋 Welcome and Thank You for Contributing!

We appreciate you taking the time to submit a pull request to Open WebUI!

⚠️ Important: Testing Requirements

We've recently seen an increase in PRs that have significant issues:

  • PRs that don't actually fix the bug they claim to fix
  • PRs that don't implement the feature they describe
  • PRs that break existing functionality
  • PRs that are clearly AI-generated without proper testing being done by the author
  • PRs that simply don't work as intended

These untested PRs consume significant time from maintainers and volunteer contributors who review and test PRs in their free time.
Time that could be spent testing other PRs or improving Open WebUI in other ways.

Before marking your PR as "Ready for Review":

Please explicitly confirm:

  1. ✅ You have personally tested ALL changes in this PR
  2. How you tested it (specific steps you took to verify it works)
  3. Visual evidence where applicable (screenshots or videos showing the feature/fix working) - if applicable to your specific PR

If you're not certain your PR works exactly as intended, please leave it in DRAFT mode until you've thoroughly tested it.

Thank you for helping us maintain quality and respecting the time of our community! 🙏


⚠️ MISSING CLA

Your PR description is missing the Contributor License Agreement confirmation.
Please use the PR template when creating your pull request. The template includes the required CLA text and helps ensure you provide all necessary information.
The CLA is absolutely required for ALL PRs. Your PR will be closed due to the missing CLA.
You can find more information about our CLA in the repository documentation, the /docs repository, the PR template and the contributing guideline.

@eliem-ark
Copy link
Author

By submitting this pull request, I confirm that I have read and fully agree to the Contributor License Agreement (CLA), and I am providing my contributions under its terms.

@Classic298
Copy link
Collaborator

@eliem-ark add it to the PR desc. please.

@eliem-ark
Copy link
Author

@Classic298 Done, thank you

@PoleacLiviuStefan
Copy link

PoleacLiviuStefan commented Nov 26, 2025

I would suggest to also add the admin configuration to toggle folder visibility for all the users, in case the admins don't want to use this feature.

@PoleacLiviuStefan
Copy link

@eliem-ark Please check my PR #19529
I added the configuration for admins.
Also, please take into consideration adding the condition based on the new ENABLE_FOLDERS environment variable, so the folders are shown only when ENABLE_FOLDERS is enabled, next to the existing condition {#if folders && ($user?.role === 'admin' || ($user?.permissions?.features?.folders ?? true))}.

It should become:
{#if folders && ($user?.role === 'admin' || ($user?.permissions?.features?.folders ?? true)) && $config?.features?.enable_folders}

Thanks!

@tjbck
Copy link
Contributor

tjbck commented Nov 27, 2025

Discussion wanted for why disabling interface settings is needed/useful!

@tjbck tjbck closed this Nov 27, 2025
@Classic298
Copy link
Collaborator

@tjbck to be fair it was discussed here: #18459

but yes i dont see much reasoning there why this is needed or useful

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.

5 participants