Skip to content

Copilot chat: join chats via chat ids#870

Merged
adrianwyatt merged 6 commits intomicrosoft:feature-copilotchatmultiuserfrom
TaoChenOSU:users/taochen/copilot_chat_invitation_via_chat_id
May 10, 2023
Merged

Copilot chat: join chats via chat ids#870
adrianwyatt merged 6 commits intomicrosoft:feature-copilotchatmultiuserfrom
TaoChenOSU:users/taochen/copilot_chat_invitation_via_chat_id

Conversation

@TaoChenOSU
Copy link
Contributor

Motivation and Context

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.

Description

  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
    image
    image
    image

Note that we still need to have a real-time message relay system to have a complete multi-user chat experience.

Contribution Checklist

@TaoChenOSU TaoChenOSU added PR: ready for review All feedback addressed, ready for reviews samples labels May 9, 2023
@TaoChenOSU TaoChenOSU force-pushed the users/taochen/copilot_chat_invitation_via_chat_id branch from b2f3ae5 to 108c25a Compare May 10, 2023 16:22
Copy link
Member

@Vivihung Vivihung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR. Would like to see some comments in ChatParticipantController.cs.

@TaoChenOSU TaoChenOSU requested a review from Vivihung May 10, 2023 18:09
Vivihung
Vivihung previously approved these changes May 10, 2023
Copy link
Member

@Vivihung Vivihung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thx!

amsacha
amsacha previously approved these changes May 10, 2023
@TaoChenOSU TaoChenOSU changed the base branch from main to feature-copilotchatmultiuser May 10, 2023 20:49
@TaoChenOSU TaoChenOSU dismissed stale reviews from amsacha and Vivihung May 10, 2023 20:49

The base branch was changed.

hathind-ms
hathind-ms previously approved these changes May 10, 2023
@adrianwyatt adrianwyatt added PR: feedback to address Waiting for PR owner to address comments/questions .NET Issue or Pull requests regarding .NET code and removed PR: ready for review All feedback addressed, ready for reviews labels May 10, 2023
@TaoChenOSU TaoChenOSU changed the title Copilot chat: invitation via chat id Copilot chat: join chats via chat ids May 10, 2023
@TaoChenOSU TaoChenOSU force-pushed the users/taochen/copilot_chat_invitation_via_chat_id branch from 0fa5a2c to d345fec Compare May 10, 2023 22:22
@github-actions github-actions bot removed the .NET Issue or Pull requests regarding .NET code label May 10, 2023
@adrianwyatt adrianwyatt merged commit 28b8740 into microsoft:feature-copilotchatmultiuser May 10, 2023
TaoChenOSU added a commit to TaoChenOSU/semantic-kernel-fork that referenced this pull request May 17, 2023
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.
amsacha pushed a commit to amsacha/semantic-kernel that referenced this pull request May 17, 2023
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.
amsacha pushed a commit to amsacha/semantic-kernel that referenced this pull request May 17, 2023
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: feedback to address Waiting for PR owner to address comments/questions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants