-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Added functionality to archive/unarchive teams from system console #8129
Conversation
Made RECEIVED_TEAM_UNARCHIVED action type Made unarchiveTeam action and client function Made appropriate reducer to handle the action Added UI for archive/unarchive team in team_profile component Added ConfirmModal for archiving teams Made appropriate functions and added logic in handleSubmit of team_details Added appropriate localization ids in en.json Added new unit tests in team_details and team_profile Updated snapshots Added Archived label in the teams_list
Hello @manojmalik20, Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here. |
@esethna I've added you for PM review and @matthewbirtch for UX review. Please redirect as appropriate. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the contribution @manojmalik20! Seems like a great idea to have this feature.
Just a couple notes from me:
-
I can't seem to consistently reproduce this, but when I archive a team and save that change, it kicked me out of the system console and back in to the chat UI. Can we make sure it always routes back to the Teams listing page in the system console?
-
If I archive the currently active team, and I click 'back to {team}' in the top-left, it errors out with 'Team not found'. This makes sense, but we should consider activating the last accessed unarchived team and changing the 'back to {team}' so that it reflects that team.
-
If the server only has one team that is not archived, should we allow archiving of the one team? I wonder if the archive button should be disabled or hidden in this case - maybe with some help text to explain that 'Archiving is disabled when there is only one active team`. I tried archiving the last remaining team and as soon as I archived the last team, it kicked me out of the system console to this screen below.
-
For the teams list view, can we change the
(Archived)
color so that it's not red? Red implies an error. I would suggest going with a 56% or 64% opacity of the standard text color
There was a problem hiding this 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 @manojmalik20! Mostly looks good 👍 I have a few requests
components/admin_console/team_channel_settings/team/list/team_list.tsx
Outdated
Show resolved
Hide resolved
components/admin_console/team_channel_settings/team/details/team_details.test.jsx
Outdated
Show resolved
Hide resolved
components/admin_console/team_channel_settings/team/details/team_profile.jsx
Outdated
Show resolved
Hide resolved
components/admin_console/team_channel_settings/team/details/team_profile.jsx
Outdated
Show resolved
Hide resolved
components/admin_console/team_channel_settings/team/details/team_details.jsx
Outdated
Show resolved
Hide resolved
components/admin_console/team_channel_settings/team/details/team_details.jsx
Outdated
Show resolved
Hide resolved
components/admin_console/team_channel_settings/team/details/team_details.jsx
Outdated
Show resolved
Hide resolved
components/admin_console/team_channel_settings/team/details/team_details.jsx
Show resolved
Hide resolved
Adding @wiersgallak @aaronrothschild as they might have more context on system console features. If the concept of "archiving a team" didn't exist before this, then I think we need to think through what that actually means, and what happens to existing channels, users, memberships, accounts etc on that team. |
Code refactoring in team_details and team_details.test and team_profile Added localization and styling in (Archived) label in the team list
There is a WebSocket event |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was wondering how to stop that event handler to stop redirecting if the event is fired because of the
Archive Team
option in the system console.
Since the system console is separate from the channel view, can we decouple their relationship as far as the "current team"? We could have conditional logic in the websocket handler for handling the case of being in the system console, that effectively sets the currently active team to null. Then when the user tries to navigate back to the channel view, that's when we send them to the select team page. @manojmalik20 What are your thoughts on this?
components/admin_console/team_channel_settings/team/details/team_details.jsx
Show resolved
Hide resolved
components/admin_console/team_channel_settings/team/list/team_list.tsx
Outdated
Show resolved
Hide resolved
I agree with this....what happens to channels? How can I find them again? Unarachive the team then unarchive the channels? @manojmalik20 Right now, does this essentially "hide" a team without deleting it? |
Yes @aaronrothschild, this essentially "hides" a team without deleting it. Once you unarchive the team, you don't have to separately unarchive channels unless they were already archived before archiving the team. So basically, on unarchiving a team, it restores back to the state in which it was before archiving. |
* Solved redirecting issue and changed back to {team} text Solved redirecting issue by checking for pathname in the websocket handler Refactored some code according to review fixes Modified backstage_navbar to display "back to home" if team is not there Added localization ids * Updated the navbar text in the system console if no team is present
@mkraft @mickmister @wiersgallak Is there anything left on this PR? |
Sorry for the delay, and thanks for the contribution @manojmalik20! The last step is a QA review, I've requested @furqanmlk to help. Once completed, we're ready to merge! :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
N/A
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Working as expected. all e2e test cases passed ✅
Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour. |
Trying to auto merge this PR. |
Pull Request successfully merged |
Test server destroyed |
1 similar comment
Test server destroyed |
Thanks again @manojmalik20! cc @amyblais not sure if this should have a Jira ticket for release test coverage. |
Documentation for: mattermost/mattermost-webapp#8129 Updated: - Set Up, Manage, Onboard, and Comply > Manage Mattermost > Self-Managed Deployments > Managing Team and Channel Members (E20) > Team Profile - Updated section to include details on how to archive/unarchive the team
…4927) * Added functionality to archive/unarchive teams from system console Documentation for: mattermost/mattermost-webapp#8129 Updated: - Set Up, Manage, Onboard, and Comply > Manage Mattermost > Self-Managed Deployments > Managing Team and Channel Members (E20) > Team Profile - Updated section to include details on how to archive/unarchive the team * Added archive/unarchive updates to Cloud-specific page * Updated LHS - Moved self-managed topic from all instances to self-managed - Added Cloud-specific topic * added mmctl equivalent for team restore * added mmctl equivalent for team restore (self-managed) * Update source/manage/cloud-team-and-channel.rst Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com> * Update source/manage/team-channel-members.rst Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com>
* Update conf.py * Update open-source-components.rst * Update release-lifecycle.rst * Reliable Websockets: default to true Documentation for: mattermost/mattermost#17890 Updated: - Set Up, Manage, Onboard, and Comply > Set Up Mattermost > Self-Managed Deployments > Configuration Settings > Experimental Settings only in config.json > Enable Reliable Websockets - Updated the default value of the config setting to ``true`` * PR didn't follow internal processes for submission * Re-added file deleted in error * Re-added the correct file that was deleted in error * MM-36779 - Add ChimeraOAuthProxyURL config option (#4928) * MM-36779 - Add ChimeraOAuthProxyURL config option Documentation for: mattermost/mattermost#17888 Updated: - Set Up, Manage, Onboard, and Comply > Set Up Mattermost > Self-Managed Deployments > Configuration Settings > Plugins (Beta) - Added the Chimera OAuth Proxy URL configuration setting * Added ChimeraOAuthProxyUrl to Telemetry * added note about the setting being available only via config.json * Update source/configure/configuration-settings.rst Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com> * Update source/configure/configuration-settings.rst Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com> Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com> * Reliable Websockets: default to true (#4918) Documentation for: mattermost/mattermost#17890 Updated: - Set Up, Manage, Onboard, and Comply > Set Up Mattermost > Self-Managed Deployments > Configuration Settings > Experimental Settings only in config.json > Enable Reliable Websockets - Updated the default value of the config setting to ``true`` * Added functionality to archive/unarchive teams from system console (#4927) * Added functionality to archive/unarchive teams from system console Documentation for: mattermost/mattermost-webapp#8129 Updated: - Set Up, Manage, Onboard, and Comply > Manage Mattermost > Self-Managed Deployments > Managing Team and Channel Members (E20) > Team Profile - Updated section to include details on how to archive/unarchive the team * Added archive/unarchive updates to Cloud-specific page * Updated LHS - Moved self-managed topic from all instances to self-managed - Added Cloud-specific topic * added mmctl equivalent for team restore * added mmctl equivalent for team restore (self-managed) * Update source/manage/cloud-team-and-channel.rst Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com> * Update source/manage/team-channel-members.rst Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com> * Update data-retention-policy.rst (#4937) * Update data-retention-policy.rst Adding docs for custom data retention policies. * Update data-retention-policy.rst * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update data-retention-policy.rst * Update data-retention-policy.rst * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update source/comply/data-retention-policy.rst Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update important-upgrade-notes.rst (#4811) * Update important-upgrade-notes.rst * Update important-upgrade-notes.rst * Update important-upgrade-notes.rst * Fix typos * MM-36547 Renamed 'Mute Channel' and 'Edit Channel Header' menus (#4941) Documentation for: mattermost/mattermost-webapp#8313 Updated: - Messaging > Manage Teams, Channels, and Members > Managing Channels > Creating a Direct or Group Message - Updated section to include mute, unmute, and edit header options for group and direct messages * MM-35722: CRT, post click open thread (#4942) Documentation for: mattermost/mattermost-webapp#8342 Updated: - Messages > Work with Messages > Organizing Conversations using Collapsed Reply Threads (Beta) > Start or Reply to Threads - Updated Tip bullet point #1 to clarify that uses can click anywhere in a message in the center pane to view it/reply to it * MM-35470 Disable config watching logic (#4951) * MM-35470 Disable config watching logic Documentation for: mattermost/mattermost#17913 Updated: - Set Up, Manage, Onboard, and Comply > Set Up Mattermost > Self-Managed Deployments > Configuration Settings - Updated introductory content to remove < v5.12 legacy note and add config watcher note and link to mmctl command * Update source/configure/configuration-settings.rst Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com> * v5.38.0 Changelog (#4810) * Update self-managed-changelog.md * Update self-managed-changelog.md * Update self-managed-changelog.md * Update self-managed-changelog.md * Update self-managed-changelog.md * Update self-managed-changelog.md * Update self-managed-changelog.md * Apply suggestions from code review Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> * Update self-managed-changelog.md * Update self-managed-changelog.md * Update self-managed-changelog.md Co-authored-by: Carrie Warner (Mattermost) <74422101+cwarnermm@users.noreply.github.com> Co-authored-by: Amy Blais <29708087+amyblais@users.noreply.github.com> Co-authored-by: Justine Geffen <justinegeffen@users.noreply.github.com> Co-authored-by: Katie Wiersgalla <39744472+wiersgallak@users.noreply.github.com>
Summary
Added feature to archive/unarchive teams from the system console
Ticket: https://mattermost.atlassian.net/browse/MM-37195
Screenshots
Release Note