Skip to content

Feature multiuserchat stage1#1049

Merged
TaoChenOSU merged 15 commits intomicrosoft:feature-multiusercopilotchatfrom
amsacha:feature-multiuserchat-stage1
May 18, 2023
Merged

Feature multiuserchat stage1#1049
TaoChenOSU merged 15 commits intomicrosoft:feature-multiusercopilotchatfrom
amsacha:feature-multiuserchat-stage1

Conversation

@amsacha
Copy link
Contributor

@amsacha amsacha commented May 17, 2023

Motivation and Context

Combining and bringing in stage 1 of the multi user chat experience:

Description

  • join chats via chat ids
  • signal R broadcasting from frontend and backend
  • signal R middleware
  • limit broadcasting to chat id groups
  • broadcast document uploading

Contribution Checklist

The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with dotnet format
All unit tests pass, and I have added new tests where possible
I didn't break anyone 😄

TaoChenOSU and others added 15 commits May 17, 2023 16:47
The first step to enable a multi-user chat experience is to have a
mechanism to allow users to join chat sessions.
With this PR, users will be able to join chat sessions via chat ids
shared by others.

1. A new model called ChatParticipant to manage users in chat sessions.
2. A new ChatParticipantController to provide a service API to join chat
sessions via chat ids.
3. Remove user id in the ChatSession model since all users will be
managed by ChatParticipant.
4. Front end to retrieve chat ids for sharing.
5. Front end to join chat sessions via chat ids.

![image](https://user-images.githubusercontent.com/12570346/236966735-1a617738-4d97-4796-b234-3f1663f9a2a9.png)

![image](https://user-images.githubusercontent.com/12570346/236966763-26b33de5-5d10-4e60-b13d-024b83f080de.png)

![image](https://user-images.githubusercontent.com/12570346/236966808-691f1462-64cc-4e2f-877d-84c967c79bb4.png)

![image](https://user-images.githubusercontent.com/12570346/236966840-64a034b4-4c82-42ea-8186-3ce3e81415ca.png)

Note that we still need to have a real-time message relay system to have
a complete multi-user chat experience.
…ave front end respond + cleanup + yarn and package.json update

# Conflicts:
#	samples/apps/copilot-chat-app/webapi/CopilotChat/Controllers/ChatController.cs
@amsacha amsacha requested review from TaoChenOSU and Vivihung and removed request for TaoChenOSU May 17, 2023 23:48
@amsacha amsacha requested a review from adrianwyatt May 17, 2023 23:49
@amsacha amsacha added the PR: ready for review All feedback addressed, ready for reviews label May 17, 2023
@TaoChenOSU TaoChenOSU merged commit 39af6b5 into microsoft:feature-multiusercopilotchat May 18, 2023
TaoChenOSU added a commit to TaoChenOSU/semantic-kernel-fork that referenced this pull request May 19, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
TaoChenOSU added a commit to TaoChenOSU/semantic-kernel-fork that referenced this pull request May 19, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
TaoChenOSU added a commit to TaoChenOSU/semantic-kernel-fork that referenced this pull request May 22, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
TaoChenOSU added a commit to TaoChenOSU/semantic-kernel-fork that referenced this pull request May 22, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
TaoChenOSU added a commit that referenced this pull request May 22, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
amsacha added a commit to amsacha/semantic-kernel that referenced this pull request May 23, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
@amsacha amsacha deleted the feature-multiuserchat-stage1 branch May 23, 2023 20:50
amsacha added a commit that referenced this pull request May 23, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
amsacha added a commit that referenced this pull request May 25, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
amsacha added a commit that referenced this pull request May 25, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
amsacha added a commit that referenced this pull request May 31, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
amsacha added a commit that referenced this pull request May 31, 2023
Combining and bringing in stage 1 of the multi user chat experience:

- join chats via chat ids
- signal R broadcasting from frontend and backend
- signal R middleware
- limit broadcasting to chat id groups
- broadcast document uploading

 The code builds clean without any errors or warnings
The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with dotnet format
 All unit tests pass, and I have added new tests where possible
 I didn't break anyone 😄

---------

Co-authored-by: Tao Chen <TaoChenOSU@users.noreply.github.com>
Co-authored-by: Tao Chen <taochen@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: ready for review All feedback addressed, ready for reviews

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants