Page MenuHomePhorge

Added a Mentions tab to the Differential Revision View
Needs ReviewPublic

Authored by Ekubischta on Feb 26 2025, 23:06.

Details

Summary

This revision adds a Mentions tab to the revision between the History and Commits tabs

The tab functions exactly like the tab you see on a Maniphest task

The reason for this change is that when you have revisions that have lots of activity, or, lots of mentions in other places (including tasks, and other revisions) it is hard to see that list in a concise way

For discussion

  • Should we extend this to other objects? - And if so, do we need to make this reusable in some way?
    • I left the function name as newMentionsTab for consistency with Maniphest for now
  • Does the tab order matter or is between History and Commits just fine?

image.png (480×1 px, 26 KB)

Closes T16003

Test Plan

Made a revision, mentioned it, and saw mentions

Diff Detail

Repository
rP Phorge
Branch
T16003-Differential_Revision_Mentions_Tab
Lint
Lint Warnings
SeverityLocationCodeMessage
Warningsrc/applications/differential/controller/DifferentialRevisionViewController.php:570XHP25Spaces Inside Parentheses
Unit
Tests Passed
Build Status
Buildable 1748
Build 1748: arc lint + arc unit

Event Timeline

Thanks, I can confirm that this works as expected. :)
I agree biggest question is where to put this. In my opinion the UX is already slightly inconsistent (given their are also concepts like "Related tasks" in Pholio or "Referenced Files" in tasks).
In Differential it feels a bit like a stretch to put this into a box called Revision Contents.
In Maniphest the same "Mentions" tab is in the Related Objects box; there is nothing similar in Differential which already has numerous boxes (also Details and Diff Detail but none of those have tabs).

avivey added inline comments.
src/applications/differential/controller/DifferentialRevisionViewController.php
62–99

can this be extracted to a utility class and shared with the one from Tasks (and other objects later)?

570

is this lint drunk?

Thanks, I can confirm that this works as expected. :)
I agree biggest question is where to put this. In my opinion the UX is already slightly inconsistent (given their are also concepts like "Related tasks" in Pholio or "Referenced Files" in tasks).
In Differential it feels a bit like a stretch to put this into a box called Revision Contents.
In Maniphest the same "Mentions" tab is in the Related Objects box; there is nothing similar in Differential which already has numerous boxes (also Details and Diff Detail but none of those have tabs).

What if we renamed Revision Contents to something else - Just call it Revision Objects or just Revision? (Or just leave it?)

Note that we even see a Similar tab appear sometimes in this section

image.png (311×1 px, 26 KB)

src/applications/differential/controller/DifferentialRevisionViewController.php
62–99

Yes - I will work on this

I am a bit new to the code base - Do you have a suggestion where it might make the most sense to put this class?

Possibly phorge/src/view/phui/ ?