jenkins-bot has submitted this change and it was merged.

Change subject: Update seen time only if the popup is actually open
......................................................................


Update seen time only if the popup is actually open

The notifications can be populated from the popup and outside of it.
We should update the seen time only if the request came from the popup
itself, and only if it is still open by the time the api request
has finished.

Bug: T113645
Change-Id: Id91ddabb85fd582be1890ea420d0559e0cdca167
---
M modules/ooui/mw.echo.ui.NotificationBadgeWidget.js
1 file changed, 9 insertions(+), 7 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ooui/mw.echo.ui.NotificationBadgeWidget.js 
b/modules/ooui/mw.echo.ui.NotificationBadgeWidget.js
index 6418db9..ef4633c 100644
--- a/modules/ooui/mw.echo.ui.NotificationBadgeWidget.js
+++ b/modules/ooui/mw.echo.ui.NotificationBadgeWidget.js
@@ -263,12 +263,6 @@
                                                return 
widget.notificationsModel.markAllRead();
                                        }
                                } )
-                               .then( function () {
-                                       if ( widget.popup.isVisible() ) {
-                                               // Update seen time
-                                               
widget.notificationsModel.updateSeenTime();
-                                       }
-                               } )
                                .then(
                                        // Success
                                        function () {
@@ -300,6 +294,8 @@
         * Extend the response to button click so we can also update the 
notification list.
         */
        mw.echo.ui.NotificationBadgeWidget.prototype.onPopupToggle = function ( 
isVisible ) {
+               var widget = this;
+
                if ( !isVisible ) {
                        // If the popup is closing, remove "initiallyUnseen" 
and leave
                        this.notificationsWidget.resetNotificationItems();
@@ -325,7 +321,13 @@
                }
                // Always populate on popup open. The model and widget should 
handle
                // the case where the promise is already underway.
-               this.populateNotifications();
+               this.populateNotifications()
+                       .then( function () {
+                               if ( widget.popup.isVisible() ) {
+                                       // Update seen time
+                                       
widget.notificationsModel.updateSeenTime();
+                               }
+                       } );
                this.hasRunFirstTime = true;
        };
 

-- 
To view, visit https://gerrit.wikimedia.org/r/240899
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Id91ddabb85fd582be1890ea420d0559e0cdca167
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Echo
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to