forked from open-webui/open-webui
-
Notifications
You must be signed in to change notification settings - Fork 2
Dev #148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Dev #148
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…i#20375) * feat: add chat:message:favorite event for action functions * Update Chat.svelte * Update Chat.svelte
Co-Authored-By: G30 <[email protected]> Co-Authored-By: Classic298 <[email protected]>
* Update pyproject.toml * Update aiohttp version to 3.13.3 * Update aiohttp version to 3.13.3 * Update pyproject.toml * Update requirements.txt * Update package.json
* feat: Add read-only access support for Models
- Backend: Add write_access field to ModelAccessResponse
- Backend: Update /models/list to return ModelAccessListResponse
- Frontend: Display Read Only badge in Models list
- Frontend: Disable inputs and save button when no write access
- Frontend: Hide action buttons for read-only models
* fix: Handle ModelAccessListResponse format in getModels API
- Backend returns {items, total} instead of {data}
- Update getModels API to handle both formats for backward compatibility
* fix: Show read-only shared models in workspace list
- Backend: Change search_models permission from 'write' to 'read' to include shared models
- Backend: Keep user_id filter to only show owned/shared models (not all public)
- Frontend: Handle ModelAccessListResponse format in getModels API
* fix: Align Read Only badge inline with model name
* fix: Correct badge placement and fix syntax error
* fix: Resolve badge truncation in Models list
- Add w-full to flex container for proper spacing
- Wrap Badge in div to prevent truncation
- Match Knowledge.svelte badge pattern
* fix: Align Read Only badge with Knowledge.svelte pattern
- Match Knowledge.svelte structure for badge placement
- Actions only show when write_access or admin
- Remove w-full from container to prevent right-overflow
* fix: Return write_access from getModelById endpoint
fix: Return write_access from getModelById endpoint
- Use ModelAccessResponse instead of raw dict
- Remove inefficient getModels call in edit page
* revert
* fix
* fix
* fix
…caching (open-webui#20317) * Update middleware.py * Update middleware.py * env var * address * upd
* feat: Add read-only access support for Tools - Backend: Add write_access field to ToolAccessResponse - Backend: Update /tools/list to return tools with write_access - Frontend: Display Read Only badge in Tools list - Frontend: Disable inputs and save button when no write access - Frontend: Add readOnly prop to CodeEditor component * Update Tools.svelte * fix: Return write_access from getToolById endpoint fix: Return write_access from getToolById endpoint - Use ToolAccessResponse instead of raw dict - Remove inefficient getToolList call in edit page * refactor: Rename write_access to disabled in ToolkitEditor - Rename prop from write_access to disabled - Invert logic where needed - Update edit page to pass disabled instead of write_access * rem * Update +page.svelte * fix * Update ToolkitEditor.svelte * Update CodeEditor.svelte * Update ToolkitEditor.svelte
* feat: add interface user permission Adds admin configurable user / group permissions for the interface settings section * rename
…webui#20425) * Updated pl-PL lang * Updated pl-PL * polish translation reverted * updated polish translation * updated polish translation * Updated translation --------- Co-authored-by: Tim Baek <[email protected]> Co-authored-by: joaoback <[email protected]>
## Summary Fixed N+1 query pattern in the `/api/v1/users` endpoint where groups were being fetched for each user individually. ### Problem The `GET /api/v1/users` endpoint called `Groups.get_groups_by_member_id()` for each user, resulting in: - 1 query for users - N queries for groups (one per user) ### Solution Added a new `Groups.get_groups_by_member_ids()` method that fetches groups for multiple users in a single query using SQL `IN` clause and `JOIN`. ### Changes - **[groups.py](open_webui/models/groups.py)**: Added `get_groups_by_member_ids()` method - **[users.py](open_webui/routers/users.py)**: Updated endpoint to use bulk method ### Result - Before: 1 + N queries - After: 2 queries total (1 for users, 1 for all groups)
…eout/connection errors (open-webui#21021)
…n-webui#21001) fix: add lang="ts" to Svelte script tags using TypeScript syntax Two Svelte components were using TypeScript type annotations (ReturnType<typeof setTimeout>) but their script tags were missing the lang="ts" attribute. This caused Vite/Svelte to parse them as plain JavaScript, resulting in parse errors. Fixed files: - src/lib/components/admin/Users/UserList.svelte - src/lib/components/channel/ChannelInfoModal/UserList.svelte
…ui#20913) Extract anonymous touch event handlers into named functions and add proper cleanup for all event listeners (message, touchstart, touchmove, touchend, visibilitychange) in the onMount return function. Previously only the resize listener was being cleaned up, causing memory leaks during navigation and hot-reloads.
* i18n: improve zh-CN translation * i18n: improve zh-TW translation --------- Co-authored-by: Tim Baek <[email protected]>
## Summary Eliminates redundant database query in update_memory_by_id_and_user_id. Previously, after modifying the memory object, it called get_memory_by_id which opened a new session and queried again. ## Changes models/memories.py update_memory_by_id_and_user_id: - Replace self.get_memory_by_id(id) with db.refresh(memory) - Return the same memory object that was already modified ## Performance Impact Before: 2 queries (get + get_memory_by_id) After: 1 query + refresh on same session
…#21044) * feat(files): add shift+click quick delete to File Manager Add shift+click functionality to FilesModal for rapid file deletion without confirmation dialogs. Changes: - Track Shift key state via keyboard event listeners - When Shift is held, delete button bypasses confirmation and deletes immediately - Visual feedback: delete icon turns red when Shift is held - Optimized delete to remove file from local array instead of re-fetching entire list, enabling rapid successive deletions without UI flicker This matches the quick delete pattern used in other workspace components like Tools, Prompts, and Models. * Update FilesModal.svelte
Co-Authored-By: Hsienz <[email protected]>
…email (open-webui#21010) * perf: replace double lookup with single JOIN in authenticate_user_by_email * Update auths.py
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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:
devbranch. Not targeting thedevbranch will lead to immediate closure of the PR.Changelog Entry
Description
Added
Changed
Deprecated
Removed
Fixed
Security
Breaking Changes
Additional Information
Screenshots or Videos
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.
Note
Deleting the CLA section will lead to immediate closure of your PR and it will not be merged in.