[PR #16367] feat: Shared Chats Management Dashboard Page and Modal + Reworked Shared Chats System #62968

Open
opened 2026-05-06 07:26:58 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/16367
Author: @silentoplayz
Created: 8/8/2025
Status: 🔄 Open

Base: devHead: shared-chats-page


📝 Commits (10+)

  • d4f8185 feat: Comprehensive Shared Chats Management and Enhancements
  • 0c74e90 fix: merge conflict
  • 283de26 Merge branch 'dev' into shared-chats-page
  • b55b11a squash: updates
  • 46580a1 squash: updates part 2
  • 3cb89f9 feat: add dynamic expiration time display to share modal
  • 2bf060b feat: improve "expire on views" UX in share modal
  • b5477dc feat: add scroll-wheel adjustment for view count in share modal
  • 4f1d8e3 Feat: Add Public-access toggle to Share Chat modal (need to fix chat sharing still)
  • 050c6d9 Merge branch 'dev' into shared-chats-page

📊 Changes

39 files changed (+5188 additions, -246 deletions)

View changed files

📝 backend/open_webui/config.py (+10 -0)
📝 backend/open_webui/constants.py (+3 -0)
📝 backend/open_webui/main.py (+3 -0)
📝 backend/open_webui/migrations/env.py (+5 -0)
📝 backend/open_webui/migrations/versions/018012973d35_add_indexes.py (+2 -2)
backend/open_webui/migrations/versions/79fba6b72c04_consolidated_chat_and_group_permissions.py (+186 -0)
📝 backend/open_webui/models/chats.py (+692 -23)
📝 backend/open_webui/models/groups.py (+19 -0)
📝 backend/open_webui/routers/chats.py (+482 -47)
📝 backend/open_webui/routers/users.py (+24 -3)
📝 backend/open_webui/utils/auth.py (+21 -0)
backend/run_alembic.py (+8 -0)
📝 src/app.html (+2 -0)
📝 src/lib/apis/chats/index.ts (+304 -6)
📝 src/lib/apis/users/index.ts (+1 -1)
📝 src/lib/components/admin/Users/Groups.svelte (+4 -1)
📝 src/lib/components/admin/Users/Groups/EditGroupModal.svelte (+4 -1)
📝 src/lib/components/admin/Users/Groups/Permissions.svelte (+43 -9)
📝 src/lib/components/chat/Messages.svelte (+2 -0)
📝 src/lib/components/chat/Messages/Message.svelte (+2 -0)

...and 19 more files

📄 Description

Pull Request Checklist

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

  • Target branch: Please verify that the pull request targets the dev branch.
  • Description: Provide a concise description of the changes made in this pull request.
  • Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
  • Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
  • Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
  • Testing: Have you written and run sufficient tests to validate the changes?
  • 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?
  • 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 (Outdated compared to the code)

This epic consolidates 100+ individual commits (many have been squashed) into a comprehensive PR jam-packed full of features and improvements related to the shared chats functionality, providing a robust and intuitive experience for managing and sharing chat conversations.

The focus of this release is on:

  • Comprehensive Sharing Controls: Granular control over how chats are shared, including custom links, expiration settings (time and views), and advanced security (password protection).
  • Enhanced Shared Chats Dashboard: A dedicated and powerful dashboard for managing all shared conversations, featuring robust filtering, sorting, pagination, search, and bulk actions.
  • Improved User Experience: Numerous UI/UX refinements for smoother navigation, clearer feedback, and intuitive interactions across the sharing and management workflows.
  • Robust Security & Permissions: Strengthened link security, detailed access controls for sharing, and proper handling of public/private chat visibility.

Key Features & Improvements:

Added

  • Dedicated "Shared Chats" Page: A central dashboard for managing all shared conversations.
  • Comprehensive Pagination: Includes a "rotary" experience, two-way navigation, and persistence of selected chats across pages.
  • Advanced Sorting: Sort shared chats by title, created date, and last updated date.
  • Real-time Search: Dynamic search functionality with a "results" header and "No search results found" message.
  • Customizable Share Links:
    • UUID-style for improved security and uniqueness.
    • Custom Chat Slugs: Create personalized, human-readable share links.
    • Regenerate Share ID: Option to create a new unique ID for an existing link.
  • QR Code Generation:
    • Generate QR codes for shared links, with download functionality.
    • Optimized QR Code Display: Low-resolution for live preview, high-resolution for download.
    • Per-Chat QR Code Settings: Show QR Code and Gradient QR Code toggles now saved per-chat.
  • Share Link Expiration Options:
    • Set expiration by date/time (Never, 1h, 24h, 7d, Custom Date) with a date picker.
    • Set expiration by maximum number of views.
    • Support for simultaneous date/time and view-based expiration.
  • Robust Password Protection:
    • Optional password requirement for shared links.
    • Visual Password Indicator: Padlock icon and "Protected" badge in the ShareChatModal.
  • Drag-and-Drop Sharing:
    • Drag a chat from the sidebar onto the shared chats page to initiate sharing.
    • Opens the Share Modal to configure expiration settings.
    • Supports drag-and-drop from another user's sidebar (cross-account) to create a share link.
  • Granular Permission Toggles:
    • Shared Chats Access: Controls access to the shared chats page.
    • Allow Public Chat Sharing: Controls ability to make chats publicly accessible.
    • Allow Chat Cloning: Option to permit/restrict cloning of shared chats from the public page.
    • Display Username: Option to show/hide the creator's username on shared chat links.
  • Bulk Actions for Shared Chats:
    • Revoke Selected: Revoke multiple selected links.
    • Revoke All: Revoke all links with two-step confirmation (REVOKE typing).
    • Reset Stats for Selected: Reset views/clones for selected links.
    • Reset All Stats: Reset views/clones for all links with RESET typing confirmation.
    • Clear Revoked Links: Remove soft-deleted links from the dashboard.
  • Individual Actions:
    • Reset Stats: Reset views/clones for a single entry.
    • Restore Revoked Link: Re-activate a soft-deleted link.
    • Link Shared Chat Title to Chat: Directly navigate to the original chat.
  • Counters & Metrics:
    • View count increment for public shared chat page.
    • Clone counter column on the dashboard.
    • Selected checkboxes count.
    • Header counts display (total shared chats).
  • Soft-delete Mechanism: Shared chats are soft-deleted (revoked_at timestamp), allowing for restoration.
  • Status Column & Filter: New "Status" column displaying "Active" or "Revoked" (with colored pills) and a filter to view All, Active, or Revoked links.

Changed

  • Share Modal Behavior:
    • No longer closes automatically after Update and Copy Link to allow QR scan/download.
    • Correctly closes after a shared link is deleted from the dashboard.
    • Redesigned Layout: Modernized toggles (switch on left), consolidated layout for expiration inputs, integrated Regenerate ID button.
  • Expiration Logic:
    • Automatic Removal of Expired Links: Expired links are removed from the 'Shared Chats' page in real-time.
    • Expired Link Restoration: Restoring an expired link clears expiration settings, making it permanently active.
    • Scroll-to-Adjust: Improved UX for adjusting custom expiration date/time and views count via scroll wheel.
    • Default Views Count: "Expire after views" defaults to current views + 1 for validity.
  • Security & Persistence:
    • Selected shared chats are persisted across pagination.
    • Date range filtering processed on the backend for precision (start/end of day).
    • Password Invalidation: Changing a shared chat's password invalidates existing authenticated sessions.
  • UI/UX Enhancements:
    • Consolidated toast notification for bulk revocation.
    • Revoke All and Reset All Stats buttons disabled when no shared chats exist.
    • Public shared chat page UX: clarified Clone Chat button with subtitle, more descriptive timestamp.
    • Truncate long titles to prevent sidebar shift.
    • Sticky pagination buttons.
    • Limit shared chat URL length on frontend with character counter.
    • Truncate displayed share link to 36 characters.
    • Tooltips added to various action buttons.
    • Styling updates for buttons and action colors.
  • Clone Behavior:
    • Frontend shared chats management page performs a second API call to re-share a cloned chat, maintaining "clone and re-share."
    • Conditional sidebar clone redirect: staying on /shared page upon cloning from sidebar.
  • Permission Logic:
    • Public Access toggle state correctly determined by share_id and is_public.
    • Public Access toggle automatically turns off when link is revoked.
    • Allow Public Chat Sharing toggle moved to 'Sharing Permissions' and conditionally displayed.
    • Admin Permission Revocation: If an admin revokes Allow Public Chat Sharing permission for a group, all public chats shared by users in that group are automatically made private.
  • Authentication Flow for Non-Public Chats: Non-public, password-protected shared chats now require login before displaying a password prompt.

Security

  • UUID-style shared chat links enhance security.
  • Custom URL hardening applied.
  • Optional password protection for shared links.
  • Password change invalidates existing sessions.
  • Current password required for password updates.
  • Login required for non-public, password-protected shared chats.
  • Granular public_chat permission for administrator control over public sharing.
  • Validation to prevent reusing existing chat Share IDs for custom slugs.
  • Disabled selection of past dates for custom expiration.

Breaking Changes

  • BREAKING CHANGE: Database schema updated with new shared_chats, share_show_qr_code, share_use_gradient, expires_at, expire_on_views, revoked_at, password, password_updated_at, display_username, and allow_cloning columns in the chat table. Existing groups will be updated via a migration for the shared_chats permission.

Correctness and Robustness Improvements (During Development)

  • Resolved state management complexities.
  • Ensured accurate chat creation and last updated dates for the share page.
  • Corrected sorting and pagination logic, including behavior after revocations.
  • Addressed database migration issues.
  • Ensured correct display of entries per page.
  • Verified accurate view and clone counter increments and prevent unintended increments.
  • Ensured totalSelectedCount is correct in confirmation modals.
  • Resolved merge conflicts encountered during development.
  • Addressed various issues related to cloning behavior.
  • Corrected default permissions configurations.
  • Fixed errors during drag-and-drop operations, particularly "This chat has already been shared."
  • Corrected expiration filter logic and ensured proper deletion of expired links.
  • Corrected various wording and initialization issues.
  • Ensured shareUrl reactivity and consistent QR code display.
  • Corrected public-access toggle detection and saving.
  • Implemented correct authentication flow for shared chats.
  • Addressed date filter validation on the Shared Chat Page to maintain logical date ranges.
  • Fixed issues with password_updated_at for password protection.
  • Ensured immediate UI updates for public access toggle after deletion.
  • Fixed issues where deleting and creating new links would fail by resetting initial share ID.
  • Resolved a ReferenceError in Tooltip.svelte and other minor display inconsistencies.
  • Implemented correct client-side validation for "Expire after a number of views" to prevent invalid settings.

Screenshots

New "Shared Chats" in User Menu

image

New Permission Toggles

image image

New Shared Chats Management Dashboard

image image

Completely Revamped Share Chat Modal

image image image image

Click the QR Code in the Share Chat Modal to open an expanded QR code view for easier scanning

image

Share Chat Modal Tool-tips

How Sharing Works
image

Public Access
image

Allow Cloning
image

Display Username
image

Enable Live Updates
image

Expires After
image

Max Number of Views
image

Max Number of Clones
image

Allow viewing after clone limit
image

Type to Confirm action

image image image

Upgraded Shared Chat Page

image

New Password Protected Shared Chat Page

image image image image

Addresses

This PR addresses almost all mentioned bullet points from https://github.com/open-webui/open-webui/issues/2890.
This PR should also address https://github.com/open-webui/open-webui/issues/2904 and https://github.com/open-webui/open-webui/issues/4517.

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/16367 **Author:** [@silentoplayz](https://github.com/silentoplayz) **Created:** 8/8/2025 **Status:** 🔄 Open **Base:** `dev` ← **Head:** `shared-chats-page` --- ### 📝 Commits (10+) - [`d4f8185`](https://github.com/open-webui/open-webui/commit/d4f81853b39e67778afbd801cc7a13b6f9d6ee0e) feat: Comprehensive Shared Chats Management and Enhancements - [`0c74e90`](https://github.com/open-webui/open-webui/commit/0c74e90d88edc74f44d3fa80caf793aa5268f778) fix: merge conflict - [`283de26`](https://github.com/open-webui/open-webui/commit/283de26ce8723907f5572bdb09f54265e268d47b) Merge branch 'dev' into shared-chats-page - [`b55b11a`](https://github.com/open-webui/open-webui/commit/b55b11ab0aac303f8c4f3127f0296488acedc1a5) squash: updates - [`46580a1`](https://github.com/open-webui/open-webui/commit/46580a1dcec3428a7544f4b0bf8e61ab91c9a8e9) squash: updates part 2 - [`3cb89f9`](https://github.com/open-webui/open-webui/commit/3cb89f9a43ee603c6558c4ee285a66634903bb4e) feat: add dynamic expiration time display to share modal - [`2bf060b`](https://github.com/open-webui/open-webui/commit/2bf060bc58db6da3efa644b9534b8b562597695c) feat: improve "expire on views" UX in share modal - [`b5477dc`](https://github.com/open-webui/open-webui/commit/b5477dcaafe0d7e642c7b8e43e209cb566b06037) feat: add scroll-wheel adjustment for view count in share modal - [`4f1d8e3`](https://github.com/open-webui/open-webui/commit/4f1d8e34efb6526e6ddb27af0b5644594d1fb9e0) Feat: Add Public-access toggle to Share Chat modal (need to fix chat sharing still) - [`050c6d9`](https://github.com/open-webui/open-webui/commit/050c6d989294f22ca68d720074e9e8e9896cb46d) Merge branch 'dev' into shared-chats-page ### 📊 Changes **39 files changed** (+5188 additions, -246 deletions) <details> <summary>View changed files</summary> 📝 `backend/open_webui/config.py` (+10 -0) 📝 `backend/open_webui/constants.py` (+3 -0) 📝 `backend/open_webui/main.py` (+3 -0) 📝 `backend/open_webui/migrations/env.py` (+5 -0) 📝 `backend/open_webui/migrations/versions/018012973d35_add_indexes.py` (+2 -2) ➕ `backend/open_webui/migrations/versions/79fba6b72c04_consolidated_chat_and_group_permissions.py` (+186 -0) 📝 `backend/open_webui/models/chats.py` (+692 -23) 📝 `backend/open_webui/models/groups.py` (+19 -0) 📝 `backend/open_webui/routers/chats.py` (+482 -47) 📝 `backend/open_webui/routers/users.py` (+24 -3) 📝 `backend/open_webui/utils/auth.py` (+21 -0) ➕ `backend/run_alembic.py` (+8 -0) 📝 `src/app.html` (+2 -0) 📝 `src/lib/apis/chats/index.ts` (+304 -6) 📝 `src/lib/apis/users/index.ts` (+1 -1) 📝 `src/lib/components/admin/Users/Groups.svelte` (+4 -1) 📝 `src/lib/components/admin/Users/Groups/EditGroupModal.svelte` (+4 -1) 📝 `src/lib/components/admin/Users/Groups/Permissions.svelte` (+43 -9) 📝 `src/lib/components/chat/Messages.svelte` (+2 -0) 📝 `src/lib/components/chat/Messages/Message.svelte` (+2 -0) _...and 19 more files_ </details> ### 📄 Description # Pull Request Checklist **Before submitting, make sure you've checked the following:** - [X] **Target branch:** Please verify that the pull request targets the `dev` branch. - [X] **Description:** Provide a concise description of the changes made in this pull request. - [X] **Changelog:** Ensure a changelog entry following the format of [Keep a Changelog](https://keepachangelog.com/) is added at the bottom of the PR description. - [X] **Documentation:** Have you updated relevant documentation [Open WebUI Docs](https://github.com/open-webui/docs), or other documentation sources? - [X] **Dependencies:** Are there any new dependencies? Have you updated the dependency versions in the documentation? - [X] **Testing:** Have you written and run sufficient tests to validate the changes? - [X] **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? - [X] **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 (Outdated compared to the code) This epic consolidates 100+ individual commits (many have been squashed) into a comprehensive PR jam-packed full of features and improvements related to the shared chats functionality, providing a robust and intuitive experience for managing and sharing chat conversations. The focus of this release is on: * **Comprehensive Sharing Controls:** Granular control over how chats are shared, including custom links, expiration settings (time and views), and advanced security (password protection). * **Enhanced Shared Chats Dashboard:** A dedicated and powerful dashboard for managing all shared conversations, featuring robust filtering, sorting, pagination, search, and bulk actions. * **Improved User Experience:** Numerous UI/UX refinements for smoother navigation, clearer feedback, and intuitive interactions across the sharing and management workflows. * **Robust Security & Permissions:** Strengthened link security, detailed access controls for sharing, and proper handling of public/private chat visibility. ### Key Features & Improvements: ### Added * **Dedicated "Shared Chats" Page:** A central dashboard for managing all shared conversations. * **Comprehensive Pagination:** Includes a "rotary" experience, two-way navigation, and persistence of selected chats across pages. * **Advanced Sorting:** Sort shared chats by title, created date, and last updated date. * **Real-time Search:** Dynamic search functionality with a "results" header and "No search results found" message. * **Customizable Share Links:** * UUID-style for improved security and uniqueness. * **Custom Chat Slugs:** Create personalized, human-readable share links. * **Regenerate Share ID:** Option to create a new unique ID for an existing link. * **QR Code Generation:** * Generate QR codes for shared links, with download functionality. * **Optimized QR Code Display:** Low-resolution for live preview, high-resolution for download. * **Per-Chat QR Code Settings:** `Show QR Code` and `Gradient QR Code` toggles now saved per-chat. * **Share Link Expiration Options:** * Set expiration by **date/time** (Never, 1h, 24h, 7d, Custom Date) with a date picker. * Set expiration by **maximum number of views**. * Support for **simultaneous** date/time and view-based expiration. * **Robust Password Protection:** * Optional password requirement for shared links. * **Visual Password Indicator:** Padlock icon and "Protected" badge in the `ShareChatModal`. * **Drag-and-Drop Sharing:** * Drag a chat from the sidebar onto the shared chats page to initiate sharing. * Opens the Share Modal to configure expiration settings. * Supports drag-and-drop from **another user's sidebar (cross-account)** to create a share link. * **Granular Permission Toggles:** * **`Shared Chats` Access:** Controls access to the shared chats page. * **`Allow Public Chat Sharing`:** Controls ability to make chats publicly accessible. * **`Allow Chat Cloning`:** Option to permit/restrict cloning of shared chats from the public page. * **`Display Username`:** Option to show/hide the creator's username on shared chat links. * **Bulk Actions for Shared Chats:** * **Revoke Selected:** Revoke multiple selected links. * **Revoke All:** Revoke all links with two-step confirmation (`REVOKE` typing). * **Reset Stats for Selected:** Reset views/clones for selected links. * **Reset All Stats:** Reset views/clones for all links with `RESET` typing confirmation. * **Clear Revoked Links:** Remove soft-deleted links from the dashboard. * **Individual Actions:** * **Reset Stats:** Reset views/clones for a single entry. * **Restore Revoked Link:** Re-activate a soft-deleted link. * **Link Shared Chat Title to Chat:** Directly navigate to the original chat. * **Counters & Metrics:** * View count increment for public shared chat page. * Clone counter column on the dashboard. * Selected checkboxes count. * Header counts display (total shared chats). * **Soft-delete Mechanism:** Shared chats are soft-deleted (`revoked_at` timestamp), allowing for restoration. * **Status Column & Filter:** New "Status" column displaying "Active" or "Revoked" (with colored pills) and a filter to view `All`, `Active`, or `Revoked` links. ### Changed * **Share Modal Behavior:** * No longer closes automatically after `Update and Copy Link` to allow QR scan/download. * Correctly closes after a shared link is deleted from the dashboard. * **Redesigned Layout:** Modernized toggles (switch on left), consolidated layout for expiration inputs, integrated `Regenerate ID` button. * **Expiration Logic:** * **Automatic Removal of Expired Links:** Expired links are removed from the 'Shared Chats' page in real-time. * **Expired Link Restoration:** Restoring an expired link clears expiration settings, making it permanently active. * **Scroll-to-Adjust:** Improved UX for adjusting custom expiration date/time and views count via scroll wheel. * **Default Views Count:** "Expire after views" defaults to `current views + 1` for validity. * **Security & Persistence:** * Selected shared chats are persisted across pagination. * Date range filtering processed on the backend for precision (start/end of day). * **Password Invalidation:** Changing a shared chat's password invalidates existing authenticated sessions. * **UI/UX Enhancements:** * Consolidated toast notification for bulk revocation. * `Revoke All` and `Reset All Stats` buttons disabled when no shared chats exist. * Public shared chat page UX: clarified `Clone Chat` button with subtitle, more descriptive timestamp. * Truncate long titles to prevent sidebar shift. * Sticky pagination buttons. * Limit shared chat URL length on frontend with character counter. * Truncate displayed share link to 36 characters. * Tooltips added to various action buttons. * Styling updates for buttons and action colors. * **Clone Behavior:** * Frontend shared chats management page performs a second API call to re-share a cloned chat, maintaining "clone and re-share." * Conditional sidebar clone redirect: staying on `/shared` page upon cloning from sidebar. * **Permission Logic:** * `Public Access` toggle state correctly determined by `share_id` and `is_public`. * `Public Access` toggle automatically turns off when link is revoked. * `Allow Public Chat Sharing` toggle moved to 'Sharing Permissions' and conditionally displayed. * **Admin Permission Revocation:** If an admin revokes `Allow Public Chat Sharing` permission for a group, all public chats shared by users in that group are automatically made private. * **Authentication Flow for Non-Public Chats:** Non-public, password-protected shared chats now require login before displaying a password prompt. ### Security * UUID-style shared chat links enhance security. * Custom URL hardening applied. * Optional password protection for shared links. * Password change invalidates existing sessions. * Current password required for password updates. * Login required for non-public, password-protected shared chats. * Granular `public_chat` permission for administrator control over public sharing. * Validation to prevent reusing existing chat Share IDs for custom slugs. * Disabled selection of past dates for custom expiration. ### Breaking Changes * **BREAKING CHANGE**: Database schema updated with new `shared_chats`, `share_show_qr_code`, `share_use_gradient`, `expires_at`, `expire_on_views`, `revoked_at`, `password`, `password_updated_at`, `display_username`, and `allow_cloning` columns in the `chat` table. Existing groups will be updated via a migration for the `shared_chats` permission. ### Correctness and Robustness Improvements (During Development) * Resolved state management complexities. * Ensured accurate chat creation and last updated dates for the share page. * Corrected sorting and pagination logic, including behavior after revocations. * Addressed database migration issues. * Ensured correct display of entries per page. * Verified accurate view and clone counter increments and prevent unintended increments. * Ensured `totalSelectedCount` is correct in confirmation modals. * Resolved merge conflicts encountered during development. * Addressed various issues related to cloning behavior. * Corrected default permissions configurations. * Fixed errors during drag-and-drop operations, particularly "This chat has already been shared." * Corrected expiration filter logic and ensured proper deletion of expired links. * Corrected various wording and initialization issues. * Ensured `shareUrl` reactivity and consistent QR code display. * Corrected public-access toggle detection and saving. * Implemented correct authentication flow for shared chats. * Addressed date filter validation on the Shared Chat Page to maintain logical date ranges. * Fixed issues with `password_updated_at` for password protection. * Ensured immediate UI updates for public access toggle after deletion. * Fixed issues where deleting and creating new links would fail by resetting initial share ID. * Resolved a `ReferenceError` in `Tooltip.svelte` and other minor display inconsistencies. * Implemented correct client-side validation for "Expire after a number of views" to prevent invalid settings. --- ### Screenshots ## New "Shared Chats" in User Menu <img width="264" height="324" alt="image" src="https://github.com/user-attachments/assets/ddd38ba5-33f7-4236-929f-3f4584a70171" /> ## New Permission Toggles <img width="710" height="518" alt="image" src="https://github.com/user-attachments/assets/a03064f8-95a1-41ab-8d08-3724d041fada" /> <img width="710" height="518" alt="image" src="https://github.com/user-attachments/assets/f6ebcc4e-c0a5-4da8-ab91-34367ef45829" /> ### New Shared Chats Management Dashboard <img width="2559" height="1272" alt="image" src="https://github.com/user-attachments/assets/aa15d97e-c499-47f8-a366-c5f413b33a97" /> <img width="2559" height="1272" alt="image" src="https://github.com/user-attachments/assets/fc492203-7b8b-47c7-88e2-79ea959cd568" /> ### Completely Revamped Share Chat Modal <img width="693" height="829" alt="image" src="https://github.com/user-attachments/assets/d514e6da-b135-4e62-9dc1-fe08761874b6" /> <img width="689" height="1107" alt="image" src="https://github.com/user-attachments/assets/be2756aa-fe90-49f6-a41b-7453b8f57bdb" /> <img width="692" height="1080" alt="image" src="https://github.com/user-attachments/assets/205bda54-11c3-4248-bdc6-0f92adde6395" /> <img width="689" height="799" alt="image" src="https://github.com/user-attachments/assets/26d51941-ec38-439f-8c20-bdfc9c9250b5" /> ### Click the QR Code in the Share Chat Modal to open an expanded QR code view for easier scanning <img width="704" height="1086" alt="image" src="https://github.com/user-attachments/assets/1c519438-b2ba-4046-9e5f-5a50bd2afa38" /> ### Share Chat Modal Tool-tips **How Sharing Works** <img width="403" height="586" alt="image" src="https://github.com/user-attachments/assets/dd52efe5-39d6-4e6d-9ca9-f108cdb159d9" /> **Public Access** <img width="362" height="129" alt="image" src="https://github.com/user-attachments/assets/37ec866f-e1c7-4787-98b7-669755e87ecb" /> **Allow Cloning** <img width="366" height="149" alt="image" src="https://github.com/user-attachments/assets/9fadb328-15cc-4f29-843d-85a503ab51e5" /> **Display Username** <img width="376" height="118" alt="image" src="https://github.com/user-attachments/assets/661adf13-2c48-4b12-8404-0bdacc9b45cf" /> **Enable Live Updates** <img width="397" height="151" alt="image" src="https://github.com/user-attachments/assets/dc5227a8-cdae-4728-bbc0-c223bb704239" /> **Expires After** <img width="387" height="173" alt="image" src="https://github.com/user-attachments/assets/551edae4-27de-4e85-9376-84aebea4190f" /> **Max Number of Views** <img width="361" height="168" alt="image" src="https://github.com/user-attachments/assets/026dbedb-84c5-40a1-8ed5-2b8df46d3cb8" /> **Max Number of Clones** <img width="362" height="190" alt="image" src="https://github.com/user-attachments/assets/ea03af41-40d1-44d4-8224-87d8d3e01d9a" /> **Allow viewing after clone limit** <img width="457" height="156" alt="image" src="https://github.com/user-attachments/assets/0c941844-990b-412e-8262-a58e0bfd60e4" /> ### Type to Confirm action <img width="711" height="246" alt="image" src="https://github.com/user-attachments/assets/46328fbf-aca6-4bec-8b1c-66faaeeae944" /> <img width="711" height="246" alt="image" src="https://github.com/user-attachments/assets/c8081ed7-97cb-4e04-a539-94d6ad1ccb3c" /> <img width="689" height="231" alt="image" src="https://github.com/user-attachments/assets/fabfde0d-4b68-4bc4-8a23-e6986113790b" /> ### Upgraded Shared Chat Page <img width="2550" height="1280" alt="image" src="https://github.com/user-attachments/assets/d24d46d5-81a1-4f0b-9a65-451a58a21a09" /> ### New Password Protected Shared Chat Page <img width="584" height="386" alt="image" src="https://github.com/user-attachments/assets/244681e1-833d-401d-a6eb-6cc7b8b00882" /> ### New Shared Chat Link Not Found/ Expired/Revoked Page <img width="697" height="361" alt="image" src="https://github.com/user-attachments/assets/044d010b-e70f-4a40-a132-22d4962c648f" /> <img width="697" height="361" alt="image" src="https://github.com/user-attachments/assets/c9df899b-b27d-47d6-846f-1d450dc14309" /> <img width="697" height="361" alt="image" src="https://github.com/user-attachments/assets/8b898219-dec4-4934-8f09-400adf67a833" /> ### Addresses This PR addresses ***almost all*** mentioned bullet points from https://github.com/open-webui/open-webui/issues/2890. This PR should also address https://github.com/open-webui/open-webui/issues/2904 and https://github.com/open-webui/open-webui/issues/4517. ### Contributor License Agreement By submitting this pull request, I confirm that I have read and fully agree to the [Contributor License Agreement (CLA)](/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-05-06 07:26:58 -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#62968