Skip to content
This repository has been archived by the owner on Mar 13, 2024. It is now read-only.

Sidebar reorganization #1374

Merged
merged 19 commits into from
Aug 1, 2018
Merged

Conversation

csduarte
Copy link
Contributor

@csduarte csduarte commented Jun 22, 2018

Note

FYI, for anyone looking for this feature, this PR was reverted before v5.2 was released and the feature is still in progress. You can follow the progress here: #1568.

Summary

This includes work on a sidebar reorganization to support multiple options as a user for displaying channels in the sidebar.

Users are now able to:

  1. Group by channel,
  2. Group by no order
  3. Unreads at top is optional
  4. Favorites at top is optional
  5. Sort by recency
  6. Sort by alphabetical order

Checklist

[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

  • Has redux changes (please link)
  • Has UI changes
  • Includes text changes and localization file (.../i18n/en.json) updates

Screenshots

  • Different variations of sidebar preferences

screen shot 2018-06-22 at 6 46 03 pm

  • Sidebar preference settings

screen shot 2018-06-22 at 6 34 30 pm

screen shot 2018-06-22 at 6 34 35 pm

screen shot 2018-06-22 at 6 34 39 pm

@miguelespinoza
Copy link

I'll be working on test next.
I'm currently going to point the mattermost-redux library to our fork so there can be manual testers taking a look

@jasonblais jasonblais added 1: PM Review Requires review by a product manager Setup Old Test Server Triggers the creation of a test server labels Jun 25, 2018
@miguelespinoza
Copy link

I missed committing the redux library last Friday. Did that this morning so will have to rebuild the server. I'm working on having passing test. Will commit that shortly

Copy link
Contributor

@esethna esethna left a comment

Choose a reason for hiding this comment

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

Awesome, thanks @miguelespinoza! Excited to test this. I think we were going to submit these as experimental config settings? Can you help add the server PR and update this so those settings are hidden unless enabled by the config? Proposing:

  1. ExperimentalGroupChannelsByType with options "disabled", "default_on", "default_off"
  2. ExperimentalSortChannelsByRecency with options "disabled", "default_on", "default_off"

Similar to how the ExperimentalGroupUnreadChannel config works:
image

@miguelespinoza
Copy link

@esethna we've made some modifications to the changes we discussed.

First of all we're going with one config for the feature. ExperimentalSidebarPreference. We believe the system works best if the entire feature is exposed, both Channel Grouping and Channel Sorting.

Furthermore, we are removing ExperimentalGroupUnreadChannels from the webapp. The idea is to enable ExperimentalSidebarPreference by default and allowing the new channel ordering system to take precedence over the old implementation.

This eliminates any overhead or making sure the users transfer correctly.

To the user, nothing will change we respect their GroupUnreadChannels preference and save it in the new system.

@miguelespinoza
Copy link

FYI, The build error is coming from latest master. Looks like there were changes that did update test

@esethna
Copy link
Contributor

esethna commented Jun 26, 2018

@miguelespinoza So to verify,

  1. ExperimentalSidebarPreference is turned off by default?
  2. Servers that had ExperimentalGroupUnreadChannels turned on will now have ExperimentalSidebarPreference turned on after the upgrade completes?
  3. The user preference for the unread section will migrate to the new grouping settings?
  4. When the config is enabled there are no sidebar changes for end users unless they specifically change the settings in Account Settings?

Can we please change the config title to “ExperimentalChannelOrganization“ since we have another config for the sidebar section that’s unrelated (closes DMs after 7 days of inactivity).

@miguelespinoza
Copy link

@esethna

ExperimentalSidebarPreference is turned on by default
This ensures that the ExperimentalGroupUnreadChannels gets deprecated with zero effort

  1. The user preference for the unread section will migrate to the new grouping settings?
    If the user enabled/disabled unreads section this is reflected in the new system
  1. When the config is enabled there are no sidebar changes for end users unless they specifically change the settings in Account Settings?
    There's no sidebar changes for the end user when the system is in place. It will reflect what you see now on Mattermost. Once the user sees new settings they can start using them

I can change the config to ExperimentalChannelOrganization that's fine.

Hopefully this makes sense. Thanks 😄

@esethna
Copy link
Contributor

esethna commented Jun 27, 2018

Thanks @miguelespinoza, the only problem is that we cannot have experimental features turned on by default. This has to be a conscious choice of the System Administrator to enable such features.

My proposal would be that

  1. If ExperimentalGroupUnreadChannels is enabled > then we enable ExperimentalChannelOrganization and migrate the user account settings from the unread section.
  2. If ExperimentalGroupUnreadChannels is disabled > then we do not enable ExperimentalChannelOrganization

@esethna esethna added this to the v5.2.0 milestone Jun 27, 2018
@mattermost mattermost deleted a comment from mattermod Jun 28, 2018
@mattermost mattermost deleted a comment from mattermod Jun 28, 2018
@esethna esethna added Setup Old Test Server Triggers the creation of a test server and removed Setup Old Test Server Triggers the creation of a test server labels Jun 28, 2018
@esethna
Copy link
Contributor

esethna commented Jul 3, 2018

Hey @miguelespinoza just checking in, let me know if you need any clarification on the items we discussed.

@miguelespinoza
Copy link

@esethna haven't had time to allocate to this PR, but planning on getting back to it in the coming days

@miguelespinoza
Copy link

@esethna The server PR mattermost/mattermost#9013
It has been updated to support the feature if the GroupUnreads flag is enabled.

Once server PR is merged we can move forward with the redux and webapp PR.
Also, FYI we are working on getting a mobile PR for this feature soon.

@miguelespinoza
Copy link

@esethna once
server: mattermost/mattermost#9013
redux: mattermost/mattermost-redux#549
are merged this can get reviewed

@esethna esethna removed the 1: PM Review Requires review by a product manager label Jul 31, 2018
@hmhealey hmhealey requested review from saturninoabril and removed request for hmhealey July 31, 2018 19:10
@hmhealey hmhealey removed the Setup Old Test Server Triggers the creation of a test server label Jul 31, 2018
@mattermost mattermost deleted a comment from mattermod Jul 31, 2018
@mattermost mattermost deleted a comment from mattermod Jul 31, 2018
@mattermost mattermost deleted a comment from mattermod Jul 31, 2018
@saturninoabril saturninoabril added 4: Reviews Complete All reviewers have approved the pull request and removed 2: Dev Review Requires review by a core commiter labels Jul 31, 2018
@hmhealey hmhealey merged commit ce8e4b3 into mattermost:master Aug 1, 2018
@hmhealey hmhealey assigned hmhealey and unassigned hmhealey Aug 1, 2018
@amyblais amyblais added Changelog/Done Required changelog entry has been written Docs/Not Needed Does not require documentation labels Aug 1, 2018
lieut-data added a commit that referenced this pull request Aug 3, 2018
lieut-data added a commit that referenced this pull request Aug 3, 2018
hmhealey pushed a commit that referenced this pull request Aug 3, 2018
* Revert "Sidebar reorganization (#1374)"

This reverts commit ce8e4b3.

* update mattermost-redux commit
@lindalumitchell lindalumitchell added the Tests/Not Needed Does not require new release tests label Aug 21, 2018
@amyblais
Copy link
Member

FYI, for anyone looking for this feature, this PR was reverted before v5.2 was released and the feature is still in progress. You can follow the progress here: #1568.

fincha pushed a commit to fincha/mattermost-webapp that referenced this pull request Oct 21, 2018
* Add Support for Recent feature in sidebar

* Display ordered channels in sidebar

* Add describe lable to sidebar settings

* Move logic over to redux and fix styling and copy issues

* Add test to support Channel Grouping and Sorting

* Support ExperimentalSidebarPreference

* Update snapshot

* Clean up code

* Fix snapshot test after rebase

* Add showSidebarChannelPreference props to test

* Use ExperimentalChannelOrganization

* Fix duplicate dividers between sidebar settings sections

* Combine channel grouping and sorting settings

* Update text for channel organization settings

* Add header to Channel/Direct message modal

* Added sidebar setting analytics

* Fix unit tests

* Remove channel sorting change when grouping changes
fincha pushed a commit to fincha/mattermost-webapp that referenced this pull request Oct 21, 2018
* Revert "Sidebar reorganization (mattermost#1374)"

This reverts commit ce8e4b3.

* update mattermost-redux commit
@ankurloriya
Copy link

FYI, for anyone looking for this feature, this PR was reverted before v5.2 was released and the feature is still in progress. You can follow the progress here: #1568.

We are waiting for this kind of feature

@lieut-data
Copy link
Member

@ankurloriya
Copy link

@lieut-data Ahhh our MatterMost server version v4.8. Let me call my system admin to upgrade to version 5.13

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
4: Reviews Complete All reviewers have approved the pull request Changelog/Done Required changelog entry has been written Docs/Not Needed Does not require documentation Tests/Not Needed Does not require new release tests
Projects
None yet