Automatically update entries for pending status updates.

Review Request #9171 — Created Sept. 4, 2017 and submitted

Information

Review Board
release-3.0.x
82cfc24...

Reviewers

This introduces new machinery for automatically updating parts of the
review request page in response to updates from the server. It
specifically targets the new status updates feature, but is built to
eventually allow most or all of the page to periodically update as
needed.

Entries can now tell the page that they want to watch for updates, and
supply a polling frequency. The lowest frequency wins, and at each poll
interval, the server will provide metadata and HTML for each requested
entry being polled. If the data is newer than what the page has, it will
update the model attributes and view's HTML appropriately. This can
continue indefinitely or be turned off when needed.

The entries supporting status updates will watch for updates if any
status update is in the pending state, and will stop polling once that's
no longer the case.

Going forward, we'll be able to start moving to this and away from the
last-updated checks, handling dynamic updating of conversations and of
the review request itself in response to changes made in other tabs.
This is a larger project and does not target 3.0, but the foundation is
there for the future.

Unit tests pass.

Created status updates in pending mode. Saw that the page periodically
checked for updates. Switched the status update to a different mode and
saw that, after only a short wait, that the entry updated to reflect the
new mode.

Checked that the issue summary table updated appropriately based on issues
filed on the status update.

Description From Last Updated

Col: 47 Regular parameters should not come after default parameters.

reviewbotreviewbot

Col: 22 Missing semicolon.

reviewbotreviewbot

Col: 11 'template' is defined but never used.

reviewbotreviewbot

E501 line too long (86 > 79 characters)

reviewbotreviewbot

E501 line too long (89 > 79 characters)

reviewbotreviewbot

This is only assigned once so it can be const (const doesn't imply immutable, just un-reassignable).

daviddavid

This is an excellent candidate for a fat arrow function.

daviddavid

Remove this blank line?

daviddavid

Trailing comma?

daviddavid

E501 line too long (86 > 79 characters)

reviewbotreviewbot

E501 line too long (89 > 79 characters)

reviewbotreviewbot

E501 line too long (86 > 79 characters)

reviewbotreviewbot

E501 line too long (89 > 79 characters)

reviewbotreviewbot
Checks run (2 failed)
flake8 failed.
JSHint failed.

flake8

JSHint

chipx86
Review request changed
Change Summary:
  • Fixed a broken unit test from a function rename.
  • Fixed some syntax error/unused variable complaints from Review Bot.
Commit:
ac1dd9b9ee21c02316456b5a01d2224c26de8e29
f18394509de8cadc518a3a8eb064a54830ce396d

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

david
  1. 
      
  2. Show all issues

    This is only assigned once so it can be const (const doesn't imply immutable, just un-reassignable).

  3. Show all issues

    This is an excellent candidate for a fat arrow function.

  4. Show all issues

    Remove this blank line?

  5. Show all issues

    Trailing comma?

  6. 
      
chipx86
Review request changed
Change Summary:
  • Replaced a let with a const.
  • Switched a function() to a fat arrow.
  • Removed a blank line and added a trailing comma.
Commit:
f18394509de8cadc518a3a8eb064a54830ce396d
82cfc2471db6ce28205768efef770b20d9b75e42

Checks run (1 failed, 1 succeeded)

flake8 failed.
JSHint passed.

flake8

david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-3.0.x (fd009cf)