1. 18 Aug, 2015 1 commit
  2. 17 Aug, 2015 2 commits
  3. 14 Aug, 2015 6 commits
  4. 13 Aug, 2015 4 commits
    • Randall Leeds's avatar
      Switch to scroll-into-view · 9cfad021
      Randall Leeds authored
      New version released has a my fix for height 100% html and body tags.
      Restores scroll-to-annotation in PDFs.
      9cfad021
    • Randall Leeds's avatar
      Give the bucket indicators an explicit height · 2e09b261
      Randall Leeds authored
      This makes the code easier to understand because it makes explicit
      the relationship to the line height of the label.
      2e09b261
    • Randall Leeds's avatar
      Improve use of BucketBar constants · cc81396f
      Randall Leeds authored
      Close #2421
      cc81396f
    • Randall Leeds's avatar
      Improve symmetry for AnnotationSync · 50775462
      Randall Leeds authored
      This change simplifies the AnnotationSync events and improves the
      frame symmetry by giving the guest its own AnnotationSync setup
      function, alongside its AnnotationUISync setup, that mirrors the
      way its handled in the widget.
      
      Previously, the `loadAnnotations` and `deleteAnnotations` events
      were treated specially by AnnotationSync so that it didn't cause
      endless loops. Instead, fully embrace the fact that the guest is
      not responsible for loading or deleting annotations.
      
      - Remove the setupAnnotation and deleteAnnotation methods, as they are
        no longer used.
      
      - Factor out everything but the event publication of deleteAnnotation
        into a detach method that is the inverse of the anchor method.
      
      - Subscribe to annotationsLoaded and annotationDeleted and invoke anchor
        and detach accordingly.
      50775462
  5. 12 Aug, 2015 5 commits
    • Randall Leeds's avatar
      Symmetry in AnnotationSync for loadAnnotations · c9544eff
      Randall Leeds authored
      Like all the other calls, this should invoke its callback.
      c9544eff
    • Randall Leeds's avatar
      Emit a sync event from AnnotationSync · 57c4253c
      Randall Leeds authored
      This ensures there's a digest cycle on the angular side after
      the client state is synchronized and brings this into symmetry
      with the other RPC calls defined by AnnotationSync.
      57c4253c
    • Randall Leeds's avatar
      Don't call loadMore except from stream · 35a8ec1f
      Randall Leeds authored
      This causes unnecessary network traffic and momentarily blanks the
      ephemeral properties of the annotation set on the client.
      35a8ec1f
    • Randall Leeds's avatar
      Refactor anchoring interface and sorting · 6e41b134
      Randall Leeds authored
      Make setupAnnotation into a tiny compatibility wrapper around a new
      method #anchor() method that returns a promise of the anchors. This
      is cleaner than trying to store the anchors on the annotation itself,
      which creates circular references, and it means there's no need to
      strip these properties when serializes annotations across the frame
      boundary.
      
      Sort annotations by TextPositionSelector in the widget display. This
      provides greater visual stability -- cards don't change positions
      after anchoring -- at the cost of potentially out of order cards when
      anchors have moved.
      6e41b134
    • Randall Leeds's avatar
      Remove unnecessary timezone stuff · f2ae1a5b
      Randall Leeds authored
      We're not displaying time in any timezones other than the browser
      local one. Therefore, we don't need to parse and convert time zone
      names. Moment will pull the timezone offset itself from the current
      browser by using Date.prototype.getTimezoneOffset().
      
      This eliminates 251kB (43kB gzipped) of minified code from our
      application bundle. Wow!
      f2ae1a5b
  6. 11 Aug, 2015 1 commit
    • Randall Leeds's avatar
      Replace scroll-into-view with scroll-to-element · 7bd702c9
      Randall Leeds authored
      The new choice is simpler. It does not deal with scrollable elements
      below the window. On the other hand, this also makes it less liable
      to choke on edge cases when scrolling the window would be just fine.
      7bd702c9
  7. 10 Aug, 2015 7 commits
  8. 07 Aug, 2015 2 commits
  9. 06 Aug, 2015 2 commits
  10. 05 Aug, 2015 4 commits
    • Sean Hammond's avatar
      Implement "Share a group" functionality · ac28b0dd
      Sean Hammond authored
      Group pages show a "Login to join group" link (opens in a new tab) if
      you're not logged in.
      If you're logged in they show a "Click to join group" button, posts to
      new join() callable that adds the user to the group.
      If you're already a member they show a "Share this link to invite people" link.
      
      The groups dropdown list has new share icon links to the group's page,
      for each group.
      ac28b0dd
    • Randall Leeds's avatar
      Once logged in, set the auth promise to resolved · fd8cc47b
      Randall Leeds authored
      This ensures that after logging in the token getter resolves
      properly.
      fd8cc47b
    • Randall Leeds's avatar
      Don't block API requests on the auth dialog · 74652f5d
      Randall Leeds authored
      The auth dialog waits for the background authentication check to fail,
      but it shouldn't replace that promise with its own. It is perfectly
      fine for the application to proceed while the user is entering
      credentials.
      
      In particular, this makes sure that a search without any authorization
      can be performed even when the firstrun flag causes the login dialog
      to show.
      74652f5d
    • Randall Leeds's avatar
      Partially revert polyfill changes · b96f8364
      Randall Leeds authored
      It turns out IE10 doesn't have the URL constructor and somehow I
      misinterpreted the MDN docs.
      
      The bind polyfill still isn't needed, except by PhantomJS.
      
      It also seems silly not to just include wgxpath without npm. Save
      the browserify-ing step.
      b96f8364
  11. 04 Aug, 2015 2 commits
  12. 03 Aug, 2015 4 commits