microsoft / microsoft/simplechat
Share entire conversation with one or more people
- Dominant language
- Python
- Stars
- 152
- Forks
- 116
- Avg merge
- 7h 7m
- Merged PRs (30d)
- 122
Description
# **Enhancement Functionality for Chat App: Conversation and Document Sharing**
## **Prerequisites**
- **Notification System**: Develop an in-app notification system to alert users of shared content and actions.
- **Email Integration**: Implement email functionality to notify users when conversations are shared.
- **AI Summary Generation**: Integrate AI capabilities to generate summaries of conversations.
- **Document Sharing Attributes**: Update the document indexing system to include a shared_with_id attribute for tracking shared documents.
## Sender's Workflow
1. **Initiate Sharing**
- Select the conversation to share.
- Enter the email addresses of the recipients.
2. **Optional Document Sharing**
- If the conversation includes files with citations, a prompt appears:
- **"Do you want to share the original documents for citations with the recipients?"**
- If Yes:
- Add the recipients' user IDs to the `shared_with_id` attribute in the document index.
- The documents will be accessible to the recipients.
- If No:
- Recipients will not have access to the original documents.
3. **Share Conversation**
- The conversation is shared, triggering the following actions:
- **Email Notification**: An email is sent to each recipient informing them of the shared conversation.
- **In-App Notification**: A notification appears in the sender's chat, listing the email addresses of the recipients.
- **AI-Generated Summary**: An AI-generated summary of the conversation is prepared for the recipients.
4. **Manage Shared Documents**
- In the "My Documents" section, the sender can:
- View a list of documents shared with others.
- Click a button to see a popup with a list of recipient emails.
- Add or Remove Access:
- Add more users to share the document with.
- Remove access from existing recipients.
## Receiver's Workflow
1. **Receive Notifications**
- **Email Notification**: An email informs the recipient that **[Sender's Email]** shared a conversation.
- In-App Notification: Upon logging in, a notification shows:
- The sender's email.
- An AI-generated summary of the conversation.
2. **Accept or Decline Conversation**
1. Sender is informed on the status of the request for each receipient.
2. Accept:
- The conversation is added to their history.
- Timestamp is updated to the time of receipt.
- A message indicates that **[Sender's Email]** shared the conversation.
- Includes the AI-generated summary.
3. Decline:
- The conversation is not added to their history.
3. **Access to Shared Documents**
- If Documents Were Shared:
- Documents appear in the recipient's "My Documents."
- Recipients can remove their own access if desired.
- If Documents Were Not Shared:
- A message indicates that original documents for citations are not accessible.
4. **Manage Shared Content**
- Recipients can manage shared conversations and documents independently.
- Deleting or modifying their copies does not affect the sender or other recipients.
## Additional Details
- **Shared Conversations**
- Are copied to the recipient's account.
- The sender cannot revoke access after sharing.
- Deleting the original conversation does not affect recipients' copies.
- **Shared Documents**
- Access can be removed by either the owner (sender) or the recipient.
- If the owner deletes a document:
- It is removed from all recipients' "My Documents."
Contributor guide
Assessment
This issue has not been assessed yet.