Skip to content
This repository was archived by the owner on Sep 3, 2025. It is now read-only.

Conversation

@nathanmyee
Copy link
Contributor

This PR adds the ability to manage (e.g. add or remove) participants from the UI.

Frontend Changes

  • Added confirmation dialogs: Created RemoveParticipantDialog.vue for both incidents and cases
  • Updated ParticipantsTab components: Added dropdown menu for participant addition
  • Store modifications: Added dialog state management in both incident and case stores
  • API updates: Added removeParticipant and addParticipant methods to both incident and case APIs
  • Refactored weblink UI for participants

Backend Changes

  • Enhanced participant flows: Added events in the timeline for adding/removing to/from conversations for both incident and case flows
  • Adding or removing a participant also adds or removes them from conversations (e.g. Slack)
  • Refactored the participant flow to support both cases and incidents
  • API updates: Added /{case_id}/remove/{email}, /{case_id}/add/{email}, /{incident_id}/remove/{email}, and /{incident_id}/add/{email}

Screenshots
Timeline event for being added to a conversation
Screenshot 2025-06-23 at 2 36 27 PM

Timeline event for being removed from a conversation
Screenshot 2025-06-23 at 2 11 30 PM

New UI to add participants from the dropdown menu and remove participants with the delete icon
Screenshot 2025-06-23 at 3 48 36 PM

Confirmation dialog before removing a participant
Screenshot 2025-06-23 at 3 46 24 PM

@nathanmyee nathanmyee added the enhancement New feature or request label Jun 24, 2025
@nathanmyee
Copy link
Contributor Author

@whitdog47 @aaronherman all checks are passing now! can I get a review whenever y'all get a chance? thank you!

@nathanmyee nathanmyee requested a review from whitdog47 July 21, 2025 23:54
@whitdog47 whitdog47 requested a review from Copilot July 22, 2025 20:14
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR implements participant management functionality for both incidents and cases, allowing users to add and remove participants directly from the UI. The implementation includes confirmation dialogs, API endpoints, and automatic integration with conversation systems like Slack.

  • Adds participant management UI with confirmation dialogs and dropdown menus for both incidents and cases
  • Implements backend API endpoints for adding/removing participants with automatic conversation integration
  • Enhances Slack conversation handling with membership validation and improved error handling

Reviewed Changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
src/dispatch/static/dispatch/src/incident/store.js Adds state management for remove participant dialog
src/dispatch/static/dispatch/src/incident/api.js Implements API methods for adding/removing incident participants
src/dispatch/static/dispatch/src/incident/RemoveParticipantDialog.vue Creates confirmation dialog component for incident participant removal
src/dispatch/static/dispatch/src/incident/ParticipantsTab.vue Updates UI with participant management controls and filtering
src/dispatch/static/dispatch/src/case/store.js Adds state management for case participant dialog handling
src/dispatch/static/dispatch/src/case/api.js Implements API methods for adding/removing case participants
src/dispatch/static/dispatch/src/case/RemoveParticipantDialog.vue Creates confirmation dialog component for case participant removal
src/dispatch/static/dispatch/src/case/ParticipantsTab.vue Updates case UI with participant management functionality
src/dispatch/plugins/dispatch_slack/service.py Adds membership validation before removing users from Slack channels
src/dispatch/plugins/dispatch_slack/enums.py Adds new Slack error code enum
src/dispatch/participant/flows.py Refactors participant reactivation to support both cases and incidents
src/dispatch/incident/views.py Adds REST endpoints for participant management
src/dispatch/incident/flows.py Enhances participant flows with conversation integration and event logging
src/dispatch/conversation/flows.py Adds event logging for case participant additions
src/dispatch/case/views.py Adds REST endpoints for case participant management
src/dispatch/case/flows.py Enhances case participant removal with conversation integration

nathanmyee and others added 4 commits July 22, 2025 13:58
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Nathan Yee <nathanmyee@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Nathan Yee <nathanmyee@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Nathan Yee <nathanmyee@gmail.com>
@nathanmyee nathanmyee merged commit a8bf5af into main Jul 22, 2025
9 checks passed
@nathanmyee nathanmyee deleted the manage_participants_from_ui branch July 22, 2025 23:50
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants