• 
      

    Add a view for retrieving updates to the review request page.

    Review Request #9133 — Created Aug. 14, 2017 and submitted

    Information

    Review Board
    release-3.0.x
    25ec886...

    Reviewers

    This introduces a new internally-facing view that provides information
    on the updates made to existing entries on the page (along with certain
    UI elements, such as the issue summary table). The client will be able
    to poll for this information and dynamically update the page without a
    reload.

    Each update contains JSON metadata consisting of basic information on
    that entry/UI element, model attributes, and view options. The update
    also contains new HTML for that part of the page.

    Rather than using JSON or some other standard serialization format to
    represent all the resulting changes on the page, the payload instead
    uses a custom format that serializes updates as:

    1. The byte length of the JSON metadata
    2. The JSON metadata contents
    3. The byte length of the HTML content
    4. The HTML content

    This is more compact than using a format like JSON, as the HTML can be
    represented as-is and doesn't need to be escaped when serializing. It's
    faster, as the JSON can be quickly parsed and the HTML directly set in
    the DOM. It's also a streamable format, allowing us down the road to
    push updates directly to the page piece-by-piece.

    The view allows for filtering by specific entries or entry types, and
    also allows for filtering by timestamp. The entries have been extended
    to support ETag generation, allowing for flexible caching of results.

    An upcoming change will make use of this client-side.

    Unit tests pass.

    Tested the filtering options manually with a series of different
    entries.

    Tested the updates capabilities with the upcoming client-side change.

    Description From Last Updated

    E501 line too long (80 > 79 characters)

    reviewbot reviewbot

    E131 continuation line unaligned for hanging indent

    reviewbot reviewbot
    Checks run (1 failed, 1 succeeded)
    flake8 failed.
    JSHint passed.

    flake8

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