Smart Update Notification [WIP]

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

Anni Cao
Review Board
master
d601df2...
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 in following cases:
- 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

Python testing cases for review_request_last_update API include as following:
- New reviews: 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

Javascript testing for updated UpdateBubbleView has been passed.

Loading file attachments...

  • 0
  • 96
  • 5
  • 101
Description From Last Updated
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 request changed
Review Bot
  1. Tool: Pyflakes
    Processed Files:
        reviewboard/testing/testcase.py
        reviewboard/webapi/tests/test_review_request_last_update.py
        reviewboard/reviews/tests/test_review_request.py
        reviewboard/reviews/models/review_request.py
        reviewboard/webapi/resources/review_request_last_update.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
    
    Ignored Files:
        reviewboard/static/rb/js/pages/views/tests/reviewablePageViewTests.js
        reviewboard/static/rb/js/resources/models/reviewRequestModel.es6.js
        reviewboard/static/rb/css/pages/review-request.less
        reviewboard/static/rb/css/pages/reviews.less
        reviewboard/static/rb/js/pages/views/reviewablePageView.es6.js
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        reviewboard/testing/testcase.py
        reviewboard/webapi/tests/test_review_request_last_update.py
        reviewboard/reviews/tests/test_review_request.py
        reviewboard/reviews/models/review_request.py
        reviewboard/webapi/resources/review_request_last_update.py
        reviewboard/webapi/tests/urls.py
        reviewboard/webapi/tests/mimetypes.py
    
    Ignored Files:
        reviewboard/static/rb/js/pages/views/tests/reviewablePageViewTests.js
        reviewboard/static/rb/js/resources/models/reviewRequestModel.es6.js
        reviewboard/static/rb/css/pages/review-request.less
        reviewboard/static/rb/css/pages/reviews.less
        reviewboard/static/rb/js/pages/views/reviewablePageView.es6.js
    
    
Simon Zhang
  1. 
      
  2. reviewboard/reviews/models/review_request.py (Diff revision 9)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    I'm not sure these changes should be in this review request. They are already in https://reviews.reviewboard.org/r/8800/, no?

    1. I need to call the get_last_activity() when implementing the last_update API backend. So need to include this temporary solution to make other codes working. Will sync this with /r/8800 once the solution to the get_last_activity() is finalized

  3. reviewboard/reviews/tests/test_review_request.py (Diff revision 9)
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

    Same with this test here.

    1. Same as above explanation

Loading...