1. 16 Jul, 2014 8 commits
    • Randall Leeds's avatar
      Remove unreachable code · 17408a9d
      Randall Leeds authored
      17408a9d
    • Randall Leeds's avatar
      a4cce8d8
    • Randall Leeds's avatar
      Exponential backoff for websocket failures · 8479e3b9
      Randall Leeds authored
      Close #1291
      8479e3b9
    • Randall Leeds's avatar
      Fix infinite scroll for new updater · 01ff10dd
      Randall Leeds authored
      01ff10dd
    • Randall Leeds's avatar
      Avoid updater double initialization · e1fdf324
      Randall Leeds authored
      Don't initialize the updater twice when logged in.
      
      When the session is first loaded, only initialize the updater if there
      are no logged in users in the session. If there are, the updater will
      be initialized by the watcher.
      
      Fix #1307
      e1fdf324
    • Randall Leeds's avatar
      Don't reconnect when deliberately closing updater · d70572b4
      Randall Leeds authored
      Failure to do this results in an infinite loop of reconnections.
      d70572b4
    • Randall Leeds's avatar
      Use $route.reload() instead of refresh events · 4c462bdf
      Randall Leeds authored
      Rather than using extra events to trigger a round trip through the
      visual search directive callbacks and query parsing, simply rely on
      $location.search() at the time the route controller is instantiated
      and stop using `reloadOnSearch: false` in the route definitions so
      that changes to the search trigger a refresh of the view.
      
      The QueryParser now splits `populateFilter` into `parseModels` and
      `populateFilter` so that the models can be parsed when the visual
      search callback fires and the filter can be populated separately
      from the query string after the route reload.
      
      Summary of improvements:
      
      - Drop the VSSearch and RefreshSearch events.
      - Make the search.query scope property a simple value instead of a
        function. This reduces the work required for the watcher and is
        possible because we no longer update the query string unless the
        query changes and the route will reload if it does.
      - Clearing the stream is no longer necessary, since it starts clear
        on each route reload.
      4c462bdf
    • Randall Leeds's avatar
      Turn Stream into App · e2dc84be
      Randall Leeds authored
      This refactor turns the stream page a part of our main H application
      
      Main features:
      * Stream is now accessible from our app at the /stream angular route
      * Stream has the same header (same look, same code) as the main app
      * Authentication from the stream page is now possible
      * The same visualsearch-bar is used both for page- and stream search
      * Stream page now uses our viewer.html to show annotation cards.
      * Replying to/editing/deleting annotations can be done in the stream
      page too.
      
      Details
      * streamsearch.pt is obsolete and has been delete because app.pt is
      used instead of it.
      * streamviewer.html is obsolete and has been deleted because
      viewer.html is used instead of it.
      * The QueryParser class is moved into the streamfilter.coffee and
      available is a new service for the app.
      * The visualsearch directive now uses functions living in the
      <current scope>.search object that any part of the app can configure it.
      e2dc84be
  2. 15 Jul, 2014 7 commits
  3. 14 Jul, 2014 3 commits
  4. 10 Jul, 2014 1 commit
  5. 09 Jul, 2014 2 commits
  6. 08 Jul, 2014 4 commits
  7. 07 Jul, 2014 2 commits
  8. 02 Jul, 2014 4 commits
  9. 01 Jul, 2014 5 commits
  10. 30 Jun, 2014 1 commit
    • Randall Leeds's avatar
      Small reset tweak in auth controller · 529b5f53
      Randall Leeds authored
      It's clearer if the form clears itself through a reset rather than
      waiting for it to happen later. This has the advantage of getting
      the password out of reachable memory sooner.
      
      Extending the scope rather than erasing its keys and replacing it
      with the base scope means the Auth controller can clear the form
      fields without clearing the session data in the scope.
      529b5f53
  11. 28 Jun, 2014 3 commits
    • Randall Leeds's avatar
      Merge pull request #1278 from hypothesis/1214-and-1266-auth-regressions · 37acc1c6
      Randall Leeds authored
      Fix regressions in auth errors and state resume
      37acc1c6
    • Randall Leeds's avatar
      Refactor the reset event slightly · 00d98163
      Randall Leeds authored
      Refactor the reset scope event for quicker app startup and stop
      using the reserved prefix that angular uses.
      
      - Rename $reset to reset
      - At the App controller, invoke the initialization code immediately
        rather than broadcasting an event. Every component should start
        by initializing itself rather than waiting for an event to be
        broadcast.
      00d98163
    • Randall Leeds's avatar
      Fix regressions in auth errors and state resume · baf9906d
      Randall Leeds authored
      Fix two recent regressions with authentication. The first is the lack
      of form error reporting. The second is the issue that ongoing highlight
      mode switches and edits don't proceed after login.
      
      - Unify all the interceptors related to sessioning. The interceptor for
        flash messages, csrf, and extracting the model from the session view
        responses is now all in session.coffee. This is better because it
        means other requests that don't return data in the same format aren't
        processed by these interceptors. It also makes it clearer which data
        the interceptors are processing; the CSRF interceptor may have been
        broken because the flash interceptor was discarding the data outside
        the model object.
      - The CSRF interceptor was also not returning a rejected promise on
        errors. This mistake caused the errors not to be propagated to the
        Auth form controller. Fix #1266.
      - The interaction between the Auth controller, session model changes,
        and scope resets is improved. The timeouts on the auth sheet are
        fixed so that they don't lose the ongoing mode switches and edits
        when the sheet is closed. Fix #1214.
      baf9906d