xtools icon indicating copy to clipboard operation
xtools copied to clipboard

GlobalContributions: Highlight pending edits (FlaggedRevs extension)

Open agoujot opened this issue 9 months ago • 3 comments

Changes are roughly:

  • add method to project to get if a given project has FlaggedRevs on. for this also tweak getinstalledextensions to use projectrepository's capacity to get any project's (not only $this's) extensions
  • in globalcontribs' getrevisions, for each project, if it has flaggedrevs, outer join on flaggedpages and select whether it's pending( this check is actually ugly due to how flaggedrevs works)
  • add the pending property to edit, and an exposed method to get it, and set it using attrs' is_pending
  • add i18n for pending msg
  • add styling for pending (make it stand out just a bit less than reverted)
  • highlight and label in twig

Bug: T322466

agoujot avatar May 25 '25 10:05 agoujot

Codecov Report

:x: Patch coverage is 11.11111% with 8 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 69.56%. Comparing base (4b8eb28) to head (b1ffb77). :warning: Report is 169 commits behind head on main.

Files with missing lines Patch % Lines
src/Model/Project.php 0.00% 6 Missing :warning:
src/Model/Edit.php 33.33% 2 Missing :warning:
Additional details and impacted files
@@             Coverage Diff              @@
##               main     #531      +/-   ##
============================================
- Coverage     71.30%   69.56%   -1.75%     
- Complexity     1275     1325      +50     
============================================
  Files            46       46              
  Lines          3792     3982     +190     
============================================
+ Hits           2704     2770      +66     
- Misses         1088     1212     +124     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar May 25 '25 10:05 codecov[bot]

Oh hang on, this may have a problem: getting the extensions of 1 project is 1 api call. From quick testing, these api calls each take 0.3-08 seconds. Let's say average 0.5. That means, for someone that has edited 50 projects, or 5% of all projects, 50 seconds of waiting time. That's not good.

agoujot avatar Aug 27 '25 20:08 agoujot

Similarly to the fix for #568 , normally we should be able to check having or not flaggedrevs simply with information_schema.tables.

agoujot avatar Oct 21 '25 08:10 agoujot