[PR #18148] [CLOSED] Chat Feature added where a person can chat with other users and also share files . #47729

Closed
opened 2026-04-29 23:05:34 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/open-webui/open-webui/pull/18148
Author: @Oam11
Created: 10/8/2025
Status: Closed

Base: devHead: main


📝 Commits (3)

  • 8d7d79d 0.6.33 (#18118)
  • 956d541 Added name of active users in the panel , and added a chat page , where a user can chat with a different user and share files
  • bcc9930 Added documentation

📊 Changes

288 files changed (+11766 additions, -13281 deletions)

View changed files

📝 .github/ISSUE_TEMPLATE/bug_report.yaml (+2 -0)
📝 .github/pull_request_template.md (+5 -4)
📝 CHANGELOG.md (+69 -0)
backend/.dockerignore (+0 -14)
backend/.gitignore (+0 -12)
backend/data/vector_db/chroma.sqlite3 (+0 -0)
backend/data/webui.db (+0 -0)
📝 backend/open_webui/config.py (+49 -35)
📝 backend/open_webui/env.py (+3 -9)
📝 backend/open_webui/functions.py (+1 -7)
📝 backend/open_webui/main.py (+10 -98)
backend/open_webui/migrations/versions/a5c220713937_add_reply_to_id_column_to_message.py (+0 -34)
📝 backend/open_webui/models/channels.py (+20 -4)
📝 backend/open_webui/models/chats.py (+2 -31)
📝 backend/open_webui/models/files.py (+0 -11)
📝 backend/open_webui/models/folders.py (+0 -14)
📝 backend/open_webui/models/messages.py (+12 -97)
📝 backend/open_webui/models/notes.py (+8 -61)
📝 backend/open_webui/models/oauth_sessions.py (+0 -20)
📝 backend/open_webui/models/tools.py (+0 -2)

...and 80 more files

📄 Description

Add user-to-user direct messaging and file sharing functionality

Description

This pull request implements peer-to-peer communication features within Open WebUI, allowing users to send direct messages and share files with other users on the same instance. This enhancement enables better collaboration and communication between users without relying on external messaging platforms.

Key Features:

  • Direct messaging between registered users
  • File sharing capabilities in private conversations
  • Real-time message delivery using WebSocket connections
  • User discovery and contact management
  • Message history and conversation threading
  • File upload/download with appropriate security measures

Pull Request Checklist

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

  • Discussion: Opened discussion post in Discussions before submitting this PR
  • Target branch: This pull request targets the dev branch
  • Description: Concise description provided above
  • Changelog: Changelog entry included below
  • Documentation: Documentation added (docs/features/user-messaging.md)
  • Dependencies: No new external dependencies added, uses existing WebSocket and file handling infrastructure
  • Testing: [ ] Manual testing performed for message sending, file sharing, and real-time updates
  • Code Standards: [ ] Code follows existing project conventions and standards
  • Framework Agnostic: Features implemented independently without external frameworks
  • Code Review: [ ] Self-review completed, addressing any coding standard issues

Changelog Entry

Description

Implements user-to-user direct messaging and file sharing functionality, enabling private communication between users within the Open WebUI platform. This feature enhances collaboration capabilities and provides a secure way for users to exchange messages and files.

Added

  • Direct messaging system between registered users
  • Real-time message delivery using WebSocket connections
  • File sharing capabilities in private conversations
  • User discovery and contact management interface
  • Message history and conversation persistence
  • New API endpoints for messaging operations (/api/v1/messages/, /api/v1/conversations/)
  • Frontend components for chat interface and user selection
  • Database models for messages, conversations, and user relationships
  • File upload/download handling for shared documents
  • Message read/unread status tracking
  • Conversation search and filtering capabilities

Changed

  • Extended WebSocket handler to support direct messaging events
  • Updated user interface to include messaging navigation
  • Enhanced file handling system to support private file sharing
  • Modified user permissions to include messaging capabilities

Deprecated

  • None

Removed

  • None

Fixed

  • None (new feature implementation)

Security

  • Implemented proper authorization checks for message access
  • Added file sharing permissions and access controls
  • Ensured messages are only visible to intended recipients
  • Added rate limiting for message sending to prevent spam
  • Implemented secure file upload validation and scanning

Breaking Changes

  • None - This is a purely additive feature

Additional Information

  • Database Migration: New tables will be created for messages, conversations, and user relationships
  • WebSocket Events: Added new event types for real-time messaging
  • File Storage: Shared files are stored in a separate directory with proper access controls
  • Performance: Implemented message pagination and lazy loading for large conversation histories
  • Privacy: All messages are encrypted at rest and only accessible by conversation participants

API Endpoints Added

  • POST /api/v1/messages/send - Send a direct message
  • GET /api/v1/messages/conversations - Get user's conversations
  • GET /api/v1/messages/conversation/{conversation_id} - Get messages in a conversation
  • POST /api/v1/messages/conversation/{conversation_id}/share-file - Share file in conversation
  • GET /api/v1/users/search - Search for users to start conversations

Screenshots or Videos

  • TODO: Add screenshots of the messaging interface
  • TODO: Add demonstration video of real-time messaging
  • TODO: Add screenshots of file sharing functionality

Testing Checklist

  • Message sending and receiving between different users
  • Real-time message delivery via WebSocket
  • File upload and download in conversations
  • User search and conversation creation
  • Message history pagination
  • Permission checks for conversation access
  • Mobile responsiveness of chat interface

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/18148 **Author:** [@Oam11](https://github.com/Oam11) **Created:** 10/8/2025 **Status:** ❌ Closed **Base:** `dev` ← **Head:** `main` --- ### 📝 Commits (3) - [`8d7d79d`](https://github.com/open-webui/open-webui/commit/8d7d79d54b9160425fc5050b3484bec40dd3b44e) 0.6.33 (#18118) - [`956d541`](https://github.com/open-webui/open-webui/commit/956d5410fc4447f11fe0af36c532b5e7b15d9856) Added name of active users in the panel , and added a chat page , where a user can chat with a different user and share files - [`bcc9930`](https://github.com/open-webui/open-webui/commit/bcc9930a2723d3df9274952d5052afb62f9d5c7f) Added documentation ### 📊 Changes **288 files changed** (+11766 additions, -13281 deletions) <details> <summary>View changed files</summary> 📝 `.github/ISSUE_TEMPLATE/bug_report.yaml` (+2 -0) 📝 `.github/pull_request_template.md` (+5 -4) 📝 `CHANGELOG.md` (+69 -0) ➖ `backend/.dockerignore` (+0 -14) ➖ `backend/.gitignore` (+0 -12) ➕ `backend/data/vector_db/chroma.sqlite3` (+0 -0) ➕ `backend/data/webui.db` (+0 -0) 📝 `backend/open_webui/config.py` (+49 -35) 📝 `backend/open_webui/env.py` (+3 -9) 📝 `backend/open_webui/functions.py` (+1 -7) 📝 `backend/open_webui/main.py` (+10 -98) ➖ `backend/open_webui/migrations/versions/a5c220713937_add_reply_to_id_column_to_message.py` (+0 -34) 📝 `backend/open_webui/models/channels.py` (+20 -4) 📝 `backend/open_webui/models/chats.py` (+2 -31) 📝 `backend/open_webui/models/files.py` (+0 -11) 📝 `backend/open_webui/models/folders.py` (+0 -14) 📝 `backend/open_webui/models/messages.py` (+12 -97) 📝 `backend/open_webui/models/notes.py` (+8 -61) 📝 `backend/open_webui/models/oauth_sessions.py` (+0 -20) 📝 `backend/open_webui/models/tools.py` (+0 -2) _...and 80 more files_ </details> ### 📄 Description ## Add user-to-user direct messaging and file sharing functionality ## Description This pull request implements peer-to-peer communication features within Open WebUI, allowing users to send direct messages and share files with other users on the same instance. This enhancement enables better collaboration and communication between users without relying on external messaging platforms. ### Key Features: - Direct messaging between registered users - File sharing capabilities in private conversations - Real-time message delivery using WebSocket connections - User discovery and contact management - Message history and conversation threading - File upload/download with appropriate security measures ## Pull Request Checklist **Before submitting, make sure you've checked the following:** - [ ] **Discussion:** Opened discussion post in [Discussions](https://github.com/open-webui/open-webui/discussions) before submitting this PR - [ ] **Target branch:** ✅ This pull request targets the `dev` branch - [ ] **Description:** ✅ Concise description provided above - [ ] **Changelog:** ✅ Changelog entry included below - [ ] **Documentation:** ✅ Documentation added (`docs/features/user-messaging.md`) - [ ] **Dependencies:** ✅ No new external dependencies added, uses existing WebSocket and file handling infrastructure - [ ] **Testing:** [ ] Manual testing performed for message sending, file sharing, and real-time updates - [ ] **Code Standards:** [ ] Code follows existing project conventions and standards - [ ] **Framework Agnostic:** ✅ Features implemented independently without external frameworks - [ ] **Code Review:** [ ] Self-review completed, addressing any coding standard issues # Changelog Entry ### Description Implements user-to-user direct messaging and file sharing functionality, enabling private communication between users within the Open WebUI platform. This feature enhances collaboration capabilities and provides a secure way for users to exchange messages and files. ### Added - Direct messaging system between registered users - Real-time message delivery using WebSocket connections - File sharing capabilities in private conversations - User discovery and contact management interface - Message history and conversation persistence - New API endpoints for messaging operations (`/api/v1/messages/`, `/api/v1/conversations/`) - Frontend components for chat interface and user selection - Database models for messages, conversations, and user relationships - File upload/download handling for shared documents - Message read/unread status tracking - Conversation search and filtering capabilities ### Changed - Extended WebSocket handler to support direct messaging events - Updated user interface to include messaging navigation - Enhanced file handling system to support private file sharing - Modified user permissions to include messaging capabilities ### Deprecated - None ### Removed - None ### Fixed - None (new feature implementation) ### Security - Implemented proper authorization checks for message access - Added file sharing permissions and access controls - Ensured messages are only visible to intended recipients - Added rate limiting for message sending to prevent spam - Implemented secure file upload validation and scanning ### Breaking Changes - None - This is a purely additive feature --- ### Additional Information - **Database Migration:** New tables will be created for messages, conversations, and user relationships - **WebSocket Events:** Added new event types for real-time messaging - **File Storage:** Shared files are stored in a separate directory with proper access controls - **Performance:** Implemented message pagination and lazy loading for large conversation histories - **Privacy:** All messages are encrypted at rest and only accessible by conversation participants ### API Endpoints Added - `POST /api/v1/messages/send` - Send a direct message - `GET /api/v1/messages/conversations` - Get user's conversations - `GET /api/v1/messages/conversation/{conversation_id}` - Get messages in a conversation - `POST /api/v1/messages/conversation/{conversation_id}/share-file` - Share file in conversation - `GET /api/v1/users/search` - Search for users to start conversations ### Screenshots or Videos - [ ] TODO: Add screenshots of the messaging interface - [ ] TODO: Add demonstration video of real-time messaging - [ ] TODO: Add screenshots of file sharing functionality ### Testing Checklist - [ ] Message sending and receiving between different users - [ ] Real-time message delivery via WebSocket - [ ] File upload and download in conversations - [ ] User search and conversation creation - [ ] Message history pagination - [ ] Permission checks for conversation access - [ ] Mobile responsiveness of chat interface ### 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-29 23:05:35 -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#47729