Issue and MR activity in feed order (newest first)
Description including problem, use cases, benefits, and/or goals
I'd like to be able to view comments, references and other activities in issues and MRs in a feed order, similar to the Activitiy view, with the newest activity at the top.
Proposal
I can imagine a drop down to the very right of the award buttons, with two options: "Oldest first" (current behaviour) and "Newest first" (feed behaviour). Selecting an option immediately reorders the disussion beneath, similar to how the sorting of the issue list works.
It might be nice having the comment text area at the very top of the recent activity, when sorting by newest first. The comment field could even be collapsed. This might be similar to how Facebook has a collapsed input field at the top of discussion pages that expands on click.
Completion Criteria
-
Ability to toggle order of comments from "Newest" / "Oldest" first. -
Selection is saved per issue (let's go with a temporary session storage during the initial testing of this feature).Selection is saved per user (persists throughout issues) -
Usage Ping (or Snow Plow if not possible) added to measure toggle usage and default preference. -
Feature flag enabled. -
Use Pajamas!
Hypothesis
X
percent of users will regularly toggle comments to be "Newest First" across > 70% of issues they view.
Measured Outcomes
- Understand better how this feature is being used, if it's valuable at all, and if leaving this option at the issue level is appropriate.
- We can get this insight by measuring the frequency of the order being set, to which value it is set, and the distribution of usage across all issues a given user might view over a typical period of time.
- If the hypothesis is not falsified,
X
will determine the relative value and priority for a more permanent solution.
Proposed Design
Availability & Testing
- No risks to availability are anticipated.
- No cross-browser testing is required.
- We need to have tests for the following scenarios, at least:
- Default ordering (oldest first)
- Changing ordering (newest first)
- The state is kept (changing from oldest first to newest first, coming back, and seen newest first)
- We can probably cover such scenarios with rspec tests and so there's no need for end-to-end tests
- There's no need to run
package-and-qa
, unless we add new end-to-end tests.
Links / references
Typical Facebook page with an input field at the top:
~"feature proposal"
Feature flag
:sort_discussions