Smart Update Notification

Review Request #8738 - Created Feb. 10, 2017 and updated

Anni Cao
Review Board
master
50678fb...
reviewboard, students

When viewing a review request, Review Board periodically checks to see if there have been any updates to the review request.Currently we only receive the last update regarding the type of change and who it was made by.
The goal of this project is to retrieve and display all sorts of updates since a specific timestamp with the type of change, who it was made by, and other useful details.

Manual tests in the browsers have been done on both UpdateBubble and TextBubble:
- No update: no update bubble was opened
- 1 update: update bubble was shown the 1 update with the update type and username
- Multiple updates: update bubble was shown with counts by username and update type. Please refer to attached file screenshot
- Hovering over the UpdateBubble will expand the bubble to display the text bubbles with some CSS transition
- All the texts are capped at 300 character per with a [...] indicator
- The text pane is vertically scrollable when necessary
- "Ship it!" label is displayed on middle top of text box when appliable
- For review/reply, text is either "body-top" content or first comment.
- For update, text is a short summary with some relevant description.
- Clicking on each text bubble will refresh the page and navigate to the specific location.

Python testing cases for review_request_last_update API include as following:
- New reviews/comments: pass
- New replies: pass
- New udpates (diffsets, field changes and file attachments): pass
- default case for no/improperly-formatted timestamp: pass
- Test case for no updates: pass

Jasmine JavaScript Unit tests have been added for:
- UpdateBubbleView: pass
- TextBubbleView: pass

Loading file attachments...

  • 6
  • 174
  • 13
  • 193
Description From Last Updated
This function's iterating through everything but timestamps. I think we really just have a few types of entries in here ... Christian Hammond Christian Hammond
This can all be one statement. Christian Hammond Christian Hammond
Best to hide before adding the HTML, to reduce what needs to be done in the DOM. Christian Hammond Christian Hammond
We have to maintain full backwards-compatibility. All the old fields must remain using the same behavior we used to have. ... Christian Hammond Christian Hammond
This can be one statement. Christian Hammond Christian Hammond
One statement. Christian Hammond Christian Hammond
Review Bot
Anni Cao
Review Bot
Anni Cao
Anni Cao
Review Bot
Kanghee Park
Mike Conley
Anni Cao
Review Bot
Mike Conley
Anni Cao
Review Bot
Anni Cao
Anni Cao
Review Bot
Anni Cao
Review Bot
Sharleen Fisher
Sharleen Fisher
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Review Bot
Anni Cao
Review Bot
Simon Zhang
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Anni Cao
Christian Hammond
Anni Cao
Anni Cao
Review request changed
Loading...