Commits on Oct 3, 2017
  1. [rbseverity] Fix the severity extension to properly support general c…

    GramSea committed with davidt Oct 3, 2017
    The severity of a problem was not being displayed on the review page, if the
    severity was added using the add comment button on the review dialog page.
    The drop downs menus for severity options on the edit review page were not
    saving the model with the selected option. The model not saving the selected
    option caused the data not be saved in the database when, submitting the form.
    The patch fixes the problem by saving the model anytime the severity changes in
    the drop down. When the severity is saved it is properly added to the database,
    and this fixes the problem on the review page.
    Testing Done:
    I added a comment of each severity using the add comment button on the
    reviewable page. On the review dialog page I added another comment with a
    severity and published it from this page. I repeated the process adding
    multiple comments with varying degrees of severity, and different amounts of
    I ran the js tests with the extension enabled and all expected tests passed. I
    had 2 failures, they seemed unrelated and other people were experiencing them,
    and they are being filed separately.
    All tickets had proper severity in the database and displayed it on the
    reviewable page.
    Bugs closed: 4428
    Reviewed at
Commits on Jan 21, 2017
  1. [checklist] Clean up the markup, style, and editing for checklists.

    davidt committed Jan 19, 2017
    The markup and CSS for the checklist was pretty ugly, and the way that items
    were edited was awkward (cramming an `<input>` element into the row and
    requiring users to know to hit "enter" or "escape"). This change cleans things
    up in the implementation, polishes up the look a bit, and changes editing to
    use `contenteditable` on the text element.
    Testing done:
    Created, edited, checked/unchecked, and removed items.
    Reviewed at
  2. [checklist] Fix up API fields for creating checklist items.

    davidt committed Jan 17, 2017
    The `checked` field was missing from the API definition, which made it
    impossible to create new checklist items.
    Testing done:
    Created a new item.
    Reviewed at
  3. [checklist] Convert checklist javascript to ES6.

    davidt committed Jan 17, 2017
    This change converts the various javascript files in the checklist extension to
    use ES6, including proper documentation for everything. I've cleaned up the
    code a bit, but there will probably be a lot of refactoring later as I
    integrate some of the student work that's been sitting around.
    Testing done:
    Smoke tested checklist features.
    Reviewed at
  4. [checklist] Move checklist view instantiation into pure JS.

    davidt committed Jan 17, 2017
    The way that the checklist view was created and added to the page was pretty
    out of date. I've updated it to use the `PageManager` to wait until the page is
    ready and then fetch the review request ID from that. The view is then created
    and added to the page like we do with pretty much everything else, instead of
    creating a dummy element and having the view add itself.
    Testing done:
    Loaded the page and saw the checklist was visible.
    Reviewed at
  5. [checklist] Rename "checklist" to "rbchecklist".

    davidt committed Jan 16, 2017
    The module name for the checklist extension was kind of awfully generic. This
    change moves it to live in a module called "rbchecklist", and updates things
    accordingly. I've also fixed up the file to use a more modern
    Testing done:
    Installed the checklist extension.
    Reviewed at
Commits on Jan 16, 2017
  1. Add .swp to .gitignore.

    davidt committed Jan 16, 2017
Commits on Jan 11, 2017
  1. [rbslack] Release rbslack 0.1.

    chipx86 committed Mar 5, 2016
Commits on Apr 29, 2016
  1. Add a simple "user stats" extension that uses the new infobox features.

    davidt committed Mar 28, 2016
    This change adds a new extension that populates the extra section of the user
    infobox with counts of that user's incoming and outgoing review requests.
    Testing done:
    Installed and enabled the extension. Hovered over a user and saw counts of
    their incoming and outgoing review requests.
    Reviewed at
Commits on Dec 14, 2015
  1. Fix rbcommenttype packaging.

    davidt committed Dec 14, 2015
    This fixes things up to use the right path, and bumps the version to 1.0.1.
Commits on Dec 1, 2015
  1. Bump the version to 1.0.1

    davidt committed Dec 1, 2015
Commits on Nov 12, 2015
  1. Fix packaging for rbstopwatch.

    davidt committed Oct 23, 2015
    The stopwatch extension packaging was leaving out some important things. This
    fixes it so we ship all the code and the templates.
    Testing done:
    Built an egg and verified that it contained everything it should.
    Reviewed at
Commits on Sep 30, 2015
  1. Fix double backticks in the rbstopwatch README.

    davidt committed Sep 30, 2015
    Trivial change.
  2. Add a README file for the comment-type extension.

    davidt committed Sep 30, 2015
    This change adds a basic file with installation and usage
    instructions for the comment type extension.
    Reviewed at
  3. Update and versioning for rbcommenttype.

    davidt committed Sep 30, 2015
    This brings the setup for the comment type extension into line with our
    standard practices.
    Testing done:
    Tested this same setup with the stopwatch extension.
    Reviewed at
Commits on Sep 29, 2015
  1. Fix unicode error when building rbstopwatch package under Python 2.6

    davidt committed Sep 29, 2015
    Python 2.6 distutils expects package names to be str, and fails if they're
    unicode. This change adds a trivial 'b' prefix to the package name.
  2. Make some additional tweaks to the rbstopwatch

    davidt committed Sep 28, 2015
    This tweaks the package metadata a bit, and makes the extension entry points a
    list (since bare strings are deprecated).
    Testing done:
    Built the rbstopwatch package.
    Reviewed at
  3. Add standard versioning scheme to rbstopwatch package.

    davidt committed Sep 28, 2015
    This change adds our standard versioning blob in preparation for creating
    releases using beanbag-tools.
    Testing done:
    Was able to successfuly register the package in beanbag-config.
    Reviewed at
Commits on Aug 31, 2015
Commits on Jul 14, 2015
  1. Add a comment-type categorization extension.

    davidt committed Jun 19, 2015
    This new extension allows people to configure a set of available "types" for
    comments, and either allow or require users to set the type of each comment.
    Once set, the comment type is visible next to each comment in the review, and
    can be retrieved via the `extra_data` field in the API.
    Testing done:
    - Added, removed, and edited comment types in the extension's configuration
      interface. Verified that the list was always saved correctly.
    - Tested that the configured types showed up properly in the comment dialog and
      review dialog. Checked that when 'require ...' was unchecked there was an
      empty option listed first, and that the visibility flag was handled
    - Tested opening the comment dialog and review dialog for existing comments
      that didn't have a type set, and that there was an empty option preselected.
    - Tested saving the type from the comment dialog and review dialog. Checked
      that it was always persisted correctly. Tested that the initial selection was
      correct when opening comments with a saved type.
    - Tested the display of the type in the reviews page.
    Reviewed at
  2. Add a review stopwatch extension.

    davidt committed Jun 13, 2015
    This adds a new extension, the review stopwatch. The goal here is for reviewers
    to be able to track the amount of time that they spend reviewing a change, and
    have that information available in the API.
    The stopwatch UI is shown in the lower-right corner of the page. Clicking it
    will toggle on and off the timer. The resulting total seconds spent reviewing
    is stored in the review extra_data field.
    The one somewhat confusing thing here is that if a user opens up multiple tabs
    related to the same review request (say, review request details, diff viewer,
    and a couple file attachments), there will be timers on each page. If these are
    run independently, they'll step on each other. We'll just have to document how
    this should be used and hope that it doesn't become an issue.
    Testing done:
    - Tested that toggle on/off worked correctly.
    - Tested that the current time was saved to the review's extra_data when
      toggling off.
    - Tested display of the time in the stopwatch overlay, review dialog, and
      review boxes for various different values.
    - Tested that the display in the review dialog updated when the stopwatch was
      still running.
    - Tested that publishing or discarding the review stopped the stopwatch
      correctly, and (in the case of publish), saved correctly.
    - Tested onbeforeunload handler.
    Reviewed at
Commits on Jun 19, 2015
  1. Apply some fixes to review_together.

    davidt committed Jun 19, 2015
    This change was partially sent to us via a pull request. The major fixes remove
    the 'var' definition for ReviewTogetherJS and fix the file to use the
    Review Board extension setup method instead of setuptools. The rest of the
    fixes here are purely cosmetic.
Commits on May 7, 2015
  1. [checklist] Refactoring of checklist

    Sunxperous committed with davidt May 7, 2015
    Refactoring includes
    - Use of `request.user` instead of passing `user_id` in every HTTP request
    - Updating of the view only after successful API response
    - Renamed status of each item from `finished` to `checked`
    - Use of `ChecklistItem` non-database resource API instead of using HTTP
      request parameters
    - Moving of front-end API logic from view to model
    - CSS hyphens everywhere instead of underscores
    - Improving Python code (renaming variables, removing redundant code)
    - Start checklist item IDs from 0 instead of 1.
    Testing done:
    Basic CRUD functionality remains. Ensured that the views will not update unless
    there is a successful response from the server.
    Reviewed at
  2. [checklist] Implement checklist templates in account pages

    Sunxperous committed with davidt May 7, 2015
    An additional functionality of the checklist extension is to allow users to
    create individual templates which can be quickly added to any existing
    checklists. This change does not enable checklist templates to be imported
    into existing checklists.
    Checklist templates are stored with two attributes, their title as a string and
    their list of items in JSON format.
    The form for users to modify their checklist templates is under their account
    preferences page. In the form, users can add checklist templates, remove
    checklist templates, or edit an existing checklist template.
    The form will automatically add new item fields when it detects that the user
    is editing the last item field, or when the user presses enter.
    Testing Done:
    On Chrome 41.0.2272 and Safari 8.0.2:
    - Basic CRUD functionality - adding, editing and removing - works as it should.
    - Does not accept templates without a title.
    - Empty items are not included upon form submission.
    - Tested and ensured that the UI shortcuts (enter, tab) work.
    - Verified that the issue where the menu entry will disappear has been resolved
      (after #7103).
    - Ensured that users can only view and edit their own templates.
    Reviewed at
Commits on Apr 26, 2015
  1. [checklist] Improve checklist extension and user interface

    Sunxperous committed with davidt Apr 26, 2015
    This change aims to polish up the existing checklist UI as well as its code base.
    On the UI:
    + Shifted the UI to be **fixed at the bottom** (better than in the middle of
    + Uses existing Reviewboard icons as **buttons** (versus textual buttons).
    + Reworked toggling of the interface (using **CSS animation**).
    + Editing an item selects/highlights the entire text (like renaming files).
    + Ability to cancel edit via Esc key or button.
    + **Word wrapping** of long item descriptions.
    + Now **escapes special characters** in the item descriptions.
    + Trims the string before adding or editing, avoids empty descriptions.
    In the front end:
    + Removed *delete checklist* functionality (since new checklist is generated
      upon refresh).
    + Moved *remove item* method from collection view to item view.
    + So that item ids do not have to be *stored in DOM*.
    + Fixed a bug where editing multiple items only picks the value of the first.
      item being edited.
    + Enforce hyphens for ids and classes, and single quotes for strings.
    Testing Done:
    Glass box front end testing on Chrome 40.0.2214. Quick tests for UI on Safari
    + Toggling size works
    + Marking an item as done or undone works
    + Deleting an item works
    + Editing an item works
    + Cancelling item editing works
    + Adding an item works
    + Long text is wrapped
    + Special characters are escaped
    + Can edit multiple items without conflict
    + Whitespace in description is trimmed
    Reviewed at
Commits on Apr 4, 2015
  1. [rbdemo] Delete the SCMTools prior to loading in fixtures.

    chipx86 committed Apr 4, 2015
    It was easy to get into a situation where SCMTools from the fixtures
    conflicted with what was populated from registerscmtools. We now clear
    out the SCMTools in the database immediately before we load the fixture
    Testing Done:
    This fixed a problem I had on with deploying updates
    to the fixtures.
    Reviewed at
Commits on Feb 2, 2015
  1. [review-together] Bump version to 1.0.0a.

    mikeconley committed Feb 2, 2015
    review-together is ready for testing and preparation for a 1.0.0
    release. A release-1.0.x branch will be created for bugfixes for
    this release series.
  2. [review-together] Alter license copyright date and add AUTHORS.

    mikeconley committed Feb 2, 2015
    I've had a contributor on this project, so I've added an AUTHORS file
    to list them. While I was at it, I bumped the copyright date and
    switched the copyright over to The Authors.
  3. [review-together] Cleanups to scroll position work

    mikeconley committed Feb 2, 2015
    Peter Tran did a lot of preparatory work for showing the scroll
    position of your peers in a TogetherJS session. This work was
    landed in a project branch, awaiting some clean-up once the term
    was over.
    This is the clean-up I had in mind. I've fixed the following:
    * Scroll position indicators now have a high z-index to avoid being
      hidden behind other elements.
    * If no hub URL has been specified, properly falls back to the Mozilla
      TogetherJS hub.
    * Moves the ReviewTogether JS code into a closure to avoid polluting the
      global namespace.
    * If a peer's colour changes during a session, this is now manifested
      for everybody in the session without requiring a page reload.
    * Switched a lot of double-quotes to single-quotes.
    * Leaving a TogetherJS session removes all scroll position indicators.
    * When somebody leaves a session, their scroll position indicator is
    Reviewed at
  4. [review-together] Display horizontal bar which indicates peer's scrol…

    Petahhh committed with mikeconley Jan 9, 2015
    …l position.
    This change adds a horizontal bar for each peer, showing where on the page
    they've scrolled. This is a good prototype for some kind of google docs or
    hackpad-like feature, where we could show an avatar of some sort and be able to
    jump to each others' locations.
    Testing done:
    Launched TogetherJS in one browser. Opened a second browser and entered the URL
    created by the first browser. Scrolled around on both browsers to check if
    horizontal bar displayed and moved with the other browser.
    Demostration Video:
    Reviewed at
Commits on Nov 9, 2014
  1. [rbslack] Fix escaping of review request summaries.

    chipx86 committed Nov 8, 2014
    We were using Django's escape() for review request summaries, which
    covers a variety of characters. However, Slack expects that only &, <
    and > will ever be escaped, and will show any other entities as-is.
    This change adds our own escaping logic in order to not leak entities in
    the summaries.
    Reviewed at
  2. Improve defaults and metadata for rbslack.

    chipx86 committed Nov 8, 2014
    This adds a better name, description and URL for rbslack for the
    extensions page, along with bumping up the development status to Beta.
    It also removes the default "#notifications" channel, allowing the
    configured channel on the Incoming Webhook to take precedence unless
    specificially overridden.
    Reviewed at