1. 09 Jul, 2015 3 commits
    • Randall Leeds's avatar
      Merge pull request #2354 from hypothesis/proper-feature-flags · 5cc32a22
      Randall Leeds authored
      Proper feature flags
      5cc32a22
    • Nick Stenning's avatar
      Use new feature client for dynamic feature toggling · cc2ac9a3
      Nick Stenning authored
      Our first attempt at integrating feature flags with the frontend
      required a rebuild and redeploy of the extension, which somewhat
      defeats the purpose of feature flags. This commit wires up the new
      feature client introduced in the preceding commits, allowing feature
      toggles to update behaviour of already-deployed clients.
      cc2ac9a3
    • Nick Stenning's avatar
      Add a minimal feature client to the front-end · 5e1ebc60
      Nick Stenning authored
      In order to respond to feature flag changes on the frontend, we need a
      way of knowing what the current feature flag values are on the backend.
      
      This commit adds a basic feature flag client that retrieves current
      feature flag values by making an ajax request to the server. The client
      also includes a cache, and supports retrieving new value from the server
      when the cache expires.
      5e1ebc60
  2. 07 Jul, 2015 1 commit
  3. 06 Jul, 2015 3 commits
  4. 03 Jul, 2015 4 commits
  5. 02 Jul, 2015 7 commits
  6. 30 Jun, 2015 1 commit
    • Jake Hartnell's avatar
      Improve thread collapsing UX. · 92ccabad
      Jake Hartnell authored
      - Threads collapse to single lines.
      - Use iconograpy consistent with collapsing / expanding UI in other
      applications
      - Threads are fully expanded when you click replies on a top level annotation.
      - Delete old test and add new tests.
      92ccabad
  7. 27 Jun, 2015 1 commit
  8. 26 Jun, 2015 2 commits
  9. 19 Jun, 2015 6 commits
  10. 18 Jun, 2015 1 commit
  11. 06 Jun, 2015 1 commit
  12. 05 Jun, 2015 5 commits
    • Nick Stenning's avatar
      Support reporting top-level form validation errors · e13040b9
      Nick Stenning authored
      When we call `form.validate()` and the validation fails, the raised
      exception is a `deform.ValidationFailure`. This object has an `error`
      attribute which represents the underlying validation error object for
      the entire form.
      
      Previously, if the validation failure were a result of top-level
      validation errors (such as the fact that an unactivated user is trying
      to log in), this error would be lost, because we only reported errors
      for the forms fields, or "children".
      
      This commit changes `h.accounts.views.validate_form` so that it converts
      the entire `colander.Invalid` object into a dictionary using its
      `asdict()` instance method. By doing this, we get two immediate
      benefits:
      
      - top-level validation errors are reported in the '' (empty string)
        field
      - we avoid the need to aggregate form field errors by hand in ajax_form
      
      In addition, we need to deal with this case on the frontend, so this
      commit also changes the formRespond directive so that if no overall
      "reason" is provided for failure, then an empty-string member of the
      "errors" object can set the overall validation status (and error
      message) for the form.
      e13040b9
    • Nick Stenning's avatar
      Merge pull request #2282 from hypothesis/refactor_search · 3b988248
      Nick Stenning authored
      Refactor search
      3b988248
    • Nick Stenning's avatar
      Merge pull request #2288 from hypothesis/username-or-email-address · 119c46ed
      Nick Stenning authored
      Ask for "Username or email address" when logging in
      119c46ed
    • Sean Hammond's avatar
      Correct an error message · b1c8b878
      Sean Hammond authored
      b1c8b878
    • Sean Hammond's avatar
      d0c85c62
  13. 04 Jun, 2015 3 commits
  14. 03 Jun, 2015 2 commits