- 08 Aug, 2018 3 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.
-
- 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 10 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
-
Robert Knight authored
Convert PdfSidebar to JS
-
Robert Knight authored
Fix "No results for {query}" message
-
- 12 Jun, 2018 1 commit
-
-
Robert Knight authored
Usage of `vm.search.query` in the `<sidebar-content>` template was incorrect. `vm.search` is always set and `query` is a function that returns a string, not a string. Fixes #9
-
- 08 Jun, 2018 4 commits
-
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Handle non percent-encoded URLs when replacing links with media embeds
-
Steel Wagstaff authored
When a user pastes a link to a video or audio file in an annotation, handle the case where the link contains non-ASCII characters but the link's text has not been percent-encoded. In that case the link's text content will be the unencoded form of the URL, but the `link.href` property will return the percent-encoded form, so the two do not compare equal and therefore the link was not replaced.
-
- 06 Jun, 2018 1 commit
-
-
Robert Knight authored
ES 6 does not provide a direct equivalent for CoffeeScript's static class properties so the initialization of `options` has been refactored to use `Object.assign()` as a more idiomatic way to combine the config args passed to the constructor with the defaults for `PdfSidebar`.
-
- 29 May, 2018 3 commits
-
-
Juan Corona authored
- Set a new `externalFrame` property when the external container config is provided. - Use the new instance var is over the existing `frame` var. - This was done to isolate the new usage from the existing usage of `frame` - The existing usage of `frame` applies control over the sidebar frame, which works against what we want with `externalFrame` - Make the uses of `frame` conditional. - These are the statements that are not invoked when the external container is specified. - The one case where we do want to use either frame is when emitting `onLayoutChange` - Refactor the Sidebar tests to test for the added implementation and usage
-
Juan Corona authored
- Add logic that removes the plugins conditionally based on the config. - Move the existing logic for the `theme` config to be grouped with the above. - The new location for the existing logic is better for testing. - Add tests for the new and existing logic.
-
Juan Corona authored
-
- 28 May, 2018 1 commit
-
-
Robert Knight authored
Convert annotator/plugin/document.coffee to JS
-