[PR #17410] [CLOSED] feat: Private sharing permissions for Workspace entities #24418

Closed
opened 2026-04-20 05:23:44 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/17410
Author: @Simon-Stone
Created: 9/12/2025
Status: Closed

Base: devHead: workspace-private-sharing-permissions


📝 Commits (2)

  • 874fa58 adds private sharing toggles
  • 97ce48d only show groups that allow private sharing in access control dropdown.

📊 Changes

14 files changed (+156 additions, -24 deletions)

View changed files

📝 src/lib/components/AddServerModal.svelte (+9 -2)
📝 src/lib/components/admin/Settings/Evaluations/ArenaModelModal.svelte (+9 -2)
📝 src/lib/components/admin/Users/Groups.svelte (+6 -1)
📝 src/lib/components/admin/Users/Groups/EditGroupModal.svelte (+1 -1)
📝 src/lib/components/admin/Users/Groups/Permissions.svelte (+53 -13)
📝 src/lib/components/layout/Sidebar/ChannelModal.svelte (+10 -1)
📝 src/lib/components/notes/NoteEditor.svelte (+8 -0)
📝 src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte (+12 -1)
📝 src/lib/components/workspace/Knowledge/KnowledgeBase.svelte (+10 -0)
📝 src/lib/components/workspace/Models/ModelEditor.svelte (+10 -0)
📝 src/lib/components/workspace/Prompts/PromptEditor.svelte (+9 -0)
📝 src/lib/components/workspace/Tools/ToolkitEditor.svelte (+14 -1)
📝 src/lib/components/workspace/common/AccessControl.svelte (+3 -1)
📝 src/lib/components/workspace/common/AccessControlModal.svelte (+2 -1)

📄 Description

Description

This PR introduces permissions for "Private Sharing" of Workspace entities. If Private Sharing is allowed for a Group, a member of that Group can share their creations with this Group. "Private Sharing" can be toggled independently for each Workspace component.

Documentation

Documentation has not yet been updated.

Dependencies

This PR introduces no new external dependencies.

Testing

I have not written any tests but have validated the intended behavior manually.

Code review

I have self-reviewed my code, and tried to adhere to existing style and coding standards

Changelog Entry

Description

This PR addresses the points mentioned in discussion #15100 by introducing the concept of "Private Sharing" permissions: A Group now has an additional set of permissions that govern whether members of this Group can share Workspace creations with the Group privately.

With this feature, the following scenarios can be avoided by deactivating private sharing permissions (from the discussion linked above):

Universities: Students in a shared "Students" group can spam each other's interfaces by sharing personal models, uploading irrelevant knowledge bases, creating joke prompts, or publishing buggy tools

Large organizations: Employees can flood departmental groups with personal workspace items, making it difficult for colleagues to find legitimate shared resources

Multi-tenant environments: Users can clutter shared spaces with experimental or low-quality content that affects the entire group's productivity

Added

  • A set of permissions on Groups that govern privately sharing Workspace entities within the group

Changed

  • Added a prop allowedPrivate to AccessControl: This array holds the IDs of all groups that should appear in the group selector when sharing is set to Private.
  • Added the same prop to AccessControlModal (a little bit of prop drilling, but follows existing patterns)
  • Initialized allowedPrivate in all components that use an AccessControl or AccessControlModal:
    • If the component is part of one of the Workspace entities, use the new permissions to find the appropriate groups for private sharing (or all if admin)
    • If the component is not one of the Workspace entities (e.g. non-direct Tool Server connections, Notes, ...), allow all groups for private sharing.

Screenshots or Videos

The new options in the Permissions dialog:

permissions dialog

Contributor License Agreement

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 issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/open-webui/open-webui/pull/17410 **Author:** [@Simon-Stone](https://github.com/Simon-Stone) **Created:** 9/12/2025 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `workspace-private-sharing-permissions` --- ### 📝 Commits (2) - [`874fa58`](https://github.com/open-webui/open-webui/commit/874fa58f6d32ca72347ce2aa948df0f13679d9a9) adds private sharing toggles - [`97ce48d`](https://github.com/open-webui/open-webui/commit/97ce48def3b948dfb113fb8ac4c7591b29a85d92) only show groups that allow private sharing in access control dropdown. ### 📊 Changes **14 files changed** (+156 additions, -24 deletions) <details> <summary>View changed files</summary> 📝 `src/lib/components/AddServerModal.svelte` (+9 -2) 📝 `src/lib/components/admin/Settings/Evaluations/ArenaModelModal.svelte` (+9 -2) 📝 `src/lib/components/admin/Users/Groups.svelte` (+6 -1) 📝 `src/lib/components/admin/Users/Groups/EditGroupModal.svelte` (+1 -1) 📝 `src/lib/components/admin/Users/Groups/Permissions.svelte` (+53 -13) 📝 `src/lib/components/layout/Sidebar/ChannelModal.svelte` (+10 -1) 📝 `src/lib/components/notes/NoteEditor.svelte` (+8 -0) 📝 `src/lib/components/workspace/Knowledge/CreateKnowledgeBase.svelte` (+12 -1) 📝 `src/lib/components/workspace/Knowledge/KnowledgeBase.svelte` (+10 -0) 📝 `src/lib/components/workspace/Models/ModelEditor.svelte` (+10 -0) 📝 `src/lib/components/workspace/Prompts/PromptEditor.svelte` (+9 -0) 📝 `src/lib/components/workspace/Tools/ToolkitEditor.svelte` (+14 -1) 📝 `src/lib/components/workspace/common/AccessControl.svelte` (+3 -1) 📝 `src/lib/components/workspace/common/AccessControlModal.svelte` (+2 -1) </details> ### 📄 Description ## # Description This PR introduces permissions for "Private Sharing" of Workspace entities. If Private Sharing is allowed for a Group, a member of that Group can share their creations with this Group. "Private Sharing" can be toggled independently for each Workspace component. ## Documentation Documentation has not yet been updated. ## Dependencies This PR introduces no new external dependencies. ## Testing I have not written any tests but have validated the intended behavior manually. ## Code review I have self-reviewed my code, and tried to adhere to existing style and coding standards # Changelog Entry ### Description This PR addresses the points mentioned in discussion #15100 by introducing the concept of "Private Sharing" permissions: A Group now has an additional set of permissions that govern whether members of this Group can share Workspace creations with the Group privately. With this feature, the following scenarios can be avoided by deactivating private sharing permissions (from the discussion linked above): > **Universities:** Students in a shared "Students" group can spam each other's interfaces by sharing personal models, uploading irrelevant knowledge bases, creating joke prompts, or publishing buggy tools > > **Large organizations:** Employees can flood departmental groups with personal workspace items, making it difficult for colleagues to find legitimate shared resources > > **Multi-tenant environments:** Users can clutter shared spaces with experimental or low-quality content that affects the entire group's productivity ### Added - A set of permissions on Groups that govern privately sharing Workspace entities within the group ### Changed - Added a prop `allowedPrivate` to `AccessControl`: This array holds the IDs of all groups that should appear in the group selector when sharing is set to Private. - Added the same prop to `AccessControlModal` (a little bit of prop drilling, but follows existing patterns) - Initialized `allowedPrivate` in all components that use an `AccessControl` or `AccessControlModal`: - If the component is part of one of the Workspace entities, use the new permissions to find the appropriate groups for private sharing (or all if admin) - If the component is not one of the Workspace entities (e.g. non-direct Tool Server connections, Notes, ...), allow all groups for private sharing. --- ### Screenshots or Videos The new options in the Permissions dialog: <img width="687" height="485" alt="permissions dialog" src="https://github.com/user-attachments/assets/c07636fa-10c3-42b0-ae54-183a72b38d35" /> ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](https://github.com/open-webui/open-webui/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT), and I am providing my contributions under its terms. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-20 05:23:45 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#24418