- 10 Aug, 2018 11 commits
-
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Hide "Public" group for unauthenticated users (alternate implementation)
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Implement a business requirement that the "Public" group should be hidden from the groups list if all these conditions are met: - The user is logged-out - The current document has groups associated with it - The user has not visited a direct-link to an annotation in "Public" --- This requirement introduces a complexity in that deciding which group to focus and fetch annotations for after initially fetching groups now depends on the current profile. However the profile and groups are fetched concurrently to reduce the number of API round-trips before we can show annotations in the client. Fortunately we don't need to know the exact userid to know which group to focus, only whether the list of groups was fetched as a logged-in user or not. This can be determined from the access token that was sent with the `/api/groups` request.
-
Sheetal Umesh Kumar authored
Remove obsolete JSDoc comments
-
Robert Knight authored
Add an option to return metadata in the response as well as just the JSON response from the server. This will initially be used to determine the access token that was used to make the request and therefore whether it was authenticated or not. In future it could also return information from HTTP headers or the status code if useful.
-
Robert Knight authored
-
Robert Knight authored
Remove unnecessary extra `/api/groups` call on startup
-
Robert Knight authored
Respond to PR feedback.
-
- 08 Aug, 2018 4 commits
-
-
Robert Knight authored
-
Robert Knight authored
This event is never broadcast anywhere. A comment referenced this being called when a user leaves a group, but this is handled in the `streamer` service by calling `groups.load()` directly.
-
Robert Knight authored
On startup an initial `FRAME_CONNECTED` event is fired when the main frame connects to the sidebar. This triggered an extra `/api/groups` fetch. Avoid this by recording the main frame URI used in the last groups fetch in `load()`. The existing test in the `FRAME_CONNECTED` handler then skips the `load()` call if this URI has not changed.
-
Robert Knight authored
The group service does not have `add` or `remove` methods any more.
-
- 02 Aug, 2018 7 commits
-
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Fix `groups.focused()` error if localStorage is empty when client loads
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Use a pointer cursor for highlights
-
Robert Knight authored
If the client started and local storage did not contain a saved last-viewed group ID, then `groups.load()` would attempt to call `store.focusGroup(null)`. As a result subsequent calls to `groups.focused()` would return null and code in various places in the application expects that there will always be a focused group. Fix the problem by not setting the focus group after groups are fetched unless the previously-focused group was set and exists in the new groups list. Also improve the behavior of `store.focusGroup` by making it leave the focused group untouched if the specified group has not been loaded, but log an error so we'll know (via Sentry) if it happens again. Fixes #750
-
- 01 Aug, 2018 1 commit
-
-
Dan Siddoway authored
The `annotator-hl` class contains a `cursor: pointer;` rule already, but it only applies to mobile devices (more precisely, devices which lack a sufficiently accurate primary pointer, like a mouse). I simply removed this restriction so that the rule applies across the board. Closes: hypothesis/product-backlog#703
-
- 17 Jul, 2018 2 commits
-
-
Sheetal Umesh Kumar authored
Convert share dialog links to use bouncer instead of via.
-
Robert Knight authored
If the URL is not encoded, a frame URL such as "http://example.com/foo&bar=baz" will generate the page share link "https://hyp.is/go?url=http://example.com/foo&bar=baz" where the "&bar..." part becomes a separate parameter instead of part of the "url" param.
-
- 12 Jul, 2018 1 commit
-
-
Sheetal Umesh Kumar authored
Also remove the check to see if the user is already on a via page. Via inserts a <link rel="canonical" href="{original URL}"> tag in the proxied page and therefore frames[0].uri is the original URL and never https://via.hypothes.is/{original URL} Fixes https://github.com/hypothesis/product-backlog/issues/335
-
- 10 Jul, 2018 4 commits
-
-
Sheetal Umesh Kumar authored
Fix warnings about `Buffer` constructor during `gulp build`
-
Robert Knight authored
Fix warning about deprecated `Buffer` usage in Node 10 at the end of `gulp build`. See https://nodejs.org/api/buffer.html#buffer_buffer_from_buffer_alloc_and_buffer_allocunsafe
-
Robert Knight authored
-
Robert Knight authored
-
- 09 Jul, 2018 1 commit
-
-
Robert Knight authored
`externalContainerSelector` config implementation
-
- 27 Jun, 2018 1 commit
-
-
Robert Knight authored
Fix various failures when running test suite under Chrome
-
- 14 Jun, 2018 8 commits
-
-
Robert Knight authored
Fix 404 warnings from headless Chrome during tests caused by trying to load non-existent image URLs in the anchoring regression tests.
-
Robert Knight authored
The previous method of setting the `__hypothesis_frame` property on the Window did not work. I haven't investigated in detail why, but the alternate method of setting this property used here works instead.
-
Robert Knight authored
Fix adder toolbar tests in browsers (eg. Chrome) which natively support Shadow DOM v1. The test for Shadow DOM v0 failed because the implementation feature-detected and used the Shadow DOM v1 method `Element.prototype.attachShadow` instead. Fix the issue by patching the test element to hide the native Shadow DOM methods if they exist.
-
Robert Knight authored
`uri` is a mandatory property of actual annotations. The absence was causing some tests to fail in Chrome due to the URL constructor being called with `undefined`.
-
Robert Knight authored
`toLocaleTimeString()` in Chrome produces an `hh:mm:ss` output on my system whereas the rendered timestamp only has `hh:mm`. Re-using `format` from date-util avoids this hazard.
-
Robert Knight authored
Add missing arguments to `Element#setAttribute` and `Selection#collapse`. PhantomJS allowed these missing arguments but other browsers, eg. Chrome, do not.
-
Robert Knight authored
-
Robert Knight authored
-