- 03 May, 2021 24 commits
-
-
Robert Knight authored
This uses the real `Intl.DateTimeFormat` API but with a fixed locale to ensure consistent output across systems. This is a more complete test than the previous one. The test assumes that output is consistent across browsers for the date given. In testing with Safari, Firefox and Chrome this was the case for the en-US locale. We accept some small risk that the exact format might change slightly in future releases of one of these browsers.
-
Robert Knight authored
Previously `decayingInterval` exhibited reasonable behavior if the date was invalid by never invoking the callback. However this was not easy to see from the code and not tested. Add explicit checks in `nextFuzzyUpdate` to make this more obvious.
-
Robert Knight authored
- Combine `sidebar/util/date.js` and `sidebar/util/time.js`. It was confusing to have two separate modules when there wasn't a clear separation of "time utilities" vs "date utilities". This also eliminates some redundant caching logic. - Rename `toFuzzyString` and `format` to `formatRelativeDate` and `formatDate` respectively to make the differnce between them more obvious - Add missing test for `formatDate` - Remove the fallback code paths for old browsers that don't support `Intl.DateTimeFormat`. All of our currently supported browsers do. - Remove unused `date` parameter from `decayingInterval` callback. The only consumer in `AnnotationTimestamps` didn't use it. - Improve types in `time.js`
-
dependabot[bot] authored
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.12 to 8.2.13. - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](https://github.com/postcss/postcss/compare/8.2.12...8.2.13) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.13.3 to 0.13.5. - [Release notes](https://github.com/KaTeX/KaTeX/releases) - [Changelog](https://github.com/KaTeX/KaTeX/blob/master/CHANGELOG.md) - [Commits](https://github.com/KaTeX/KaTeX/compare/v0.13.3...v0.13.5) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@sentry/browser](https://github.com/getsentry/sentry-javascript) from 6.3.1 to 6.3.5. - [Release notes](https://github.com/getsentry/sentry-javascript/releases) - [Changelog](https://github.com/getsentry/sentry-javascript/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-javascript/compare/6.3.1...6.3.5) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.13.15 to 7.14.0. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.14.0/packages/babel-preset-env) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [gulp-replace](https://github.com/lazd/gulp-replace) from 1.1.1 to 1.1.2. - [Release notes](https://github.com/lazd/gulp-replace/releases) - [Commits](https://github.com/lazd/gulp-replace/compare/v1.1.1...v1.1.2) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.11.0 to 3.11.2. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/zloirock/core-js/commits/v3.11.2/packages/core-js) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.13.16 to 7.14.0. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.14.0/packages/babel-core) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [sass](https://github.com/sass/dart-sass) from 1.32.11 to 1.32.12. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/master/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.32.11...1.32.12) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.1.4 to 4.2.0. - [Release notes](https://github.com/dequelabs/axe-core/releases) - [Changelog](https://github.com/dequelabs/axe-core/blob/develop/CHANGELOG.md) - [Commits](https://github.com/dequelabs/axe-core/compare/v4.1.4...v4.2.0) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.892.0 to 2.897.0. - [Release notes](https://github.com/aws/aws-sdk-js/releases) - [Changelog](https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js/compare/v2.892.0...v2.897.0) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.2.7 to 2.2.8. - [Release notes](https://github.com/cure53/DOMPurify/releases) - [Commits](https://github.com/cure53/DOMPurify/compare/2.2.7...2.2.8) Signed-off-by: dependabot[bot] <support@github.com>
-
Robert Knight authored
`uorigin` is un-idiomatic naming in our codebase, though the meaning was fairly obvious in context.
-
Robert Knight authored
Modernize the `RPC` class in `src/shared/frame-rpc` that serves as both the client and server for RPC requests between frames. This code was originally imported from https://github.com/substack/frame-rpc but now that we've adopted it, it makes sense to modernize it to match the conventions and requirements of the rest of our code. - Convert `frame-rpc.js` to modern syntax - Update JSDoc documentation for methods and class - Convert `RPC` class to a named rather than default export - Inline the `apply` method into the `call` method, since only `call` was used externally - Remove unused option for `methods` constructor argument to be a function - Rename `src` and `dest` public fields to the more explicit `sourceFrame` and `destFrame`
-
Robert Knight authored
-
Robert Knight authored
Convert this service to a class and expand the documentation slightly. This is a straightforward conversion with no API or internal changes. Part of https://github.com/hypothesis/client/issues/3298
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
The current error handling is not that useful in practice because it just results in a console error. With a test in place we can more easily change/refactor this in future though.
-
Robert Knight authored
- Document parameters and return types - Add a link to the documentation for the available options. We currently only ever use `minTimeout` - Add a note about why the code calls `operation.retry()` even if the operation was successful
-
Robert Knight authored
- Convert closures into methods - Remove the `profileFetchRetryOpts` field that was used only to shorten the delay between retries in tests, in favor of mocking `retryPromiseOperation` in tests to remove the delay between retries. - Change `SessionService` instance creation in tests to allow individual tests to run custom setup logic before the service is constructed. This was needed due to allow the `serviceConfig` mock to take effect when the `SessionService` constructor runs - Remove unnecessary custom Sinon sandbox in tests
-
Robert Knight authored
This is a straightforward conversion, except for the removal of an unused `state` property on the instance. Part of https://github.com/hypothesis/client/issues/3298
-
- 29 Apr, 2021 5 commits
-
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
-
Eduardo Sanz García authored
First scenario tests the injection of the client on child iframe. The child iframe is made annotatable, by having an `enable-annotation="true"` attribute and sharing the same origin. The injection of the annotator happens after the the sidebar is created, thus testing if the child iframe is able to discover the sidebar iframe and communicate with it via postMessages. In the second scenario, the host page contains two children iframes, each with its own client. Every annotator/sidebar combo on each frame should work independently from each other and shouldn't pass any message across frames.
-
Robert Knight authored
The name was vestigial. Rename it to `_bucketsContainer` to be more meaningful and indicate that it is private. Several other private fields have also been prefixed accordingly.
-
- 28 Apr, 2021 1 commit
-
-
Robert Knight authored
When a PDF page transitions from a rendered to non-rendered state the text layer element is removed and existing highlights in that layer briefly become disconnected from the document. As a result they have an empty/zero client rect as returned by `element.getBoundingClientRect()`. This caused the bucket-building logic to think that the anchor had moved to the top of the screen as the `top` and `bottom` coordinates of the anchor box became zero. This could lead to anchors which should be in the "below screen" bucket briefly jumping to the "above screen" bucket. Once re-anchoring completes and the highlight is anchored into a placeholder element for the non-rendered page, its anchor box becomes non-empty again and the anchor "jumps back" to the "below screen" box. This commit adds logic to ignore any highlights which have zero height, including highlight elements that are disconnected from the document.
-
- 27 Apr, 2021 7 commits
-
-
Eduardo authored
Co-authored-by: Robert Knight <robertknight@gmail.com>
-
Eduardo Sanz García authored
Delegator does no longer exits. The new comment explains the source of the events and its final destination.
-
Eduardo Sanz García authored
A few lines have been removed as a result of the code simplification.
-
Robert Knight authored
If the user hovered an annotation card before anchoring in the document completed, or if an annotation was re-anchored in a PDF after the card was hovered, then the highlight in the document was incorrectly shown in an un-focused rather than focused state. Fix the issue by keeping track of the current set of focused annotations in the Guest and setting the focus state correctly for new highlights added by `anchor`. Part of https://github.com/hypothesis/client/issues/3269
-
Robert Knight authored
- Revise the documentation for `createPlaceholder` to better explain what a placeholder is and the 1:N relationship between placeholders and highlights for a given page. Also clarify what the "approximate location" means - Rename a variable `isPlaceholder` => `inPlaceholder` as this is more accurate
-
Robert Knight authored
Fix incorrect result if the passed node has no parent.
-
Robert Knight authored
Several different parts of the code need to know about placeholder elements used to anchor annotations that refer to not-yet-rendered pages of a document in a PDF. Centralize the logic for creating placeholders and testing whether a node is inside a placeholder in one module. A trivial changes it that the "Loading annotations" text now ends with an ASCII "..." instead of unicode ellipsis "…". This is easier to type since the text is not intended to be seen by the user.
-
- 26 Apr, 2021 3 commits
-
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Move the logic for scrolling the content to the highlights associated with an anchor from `Guest` to the content-type specific integration (`HTMLIntegration`, `PDFIntegration`). The implementations of this logic in `HTMLIntegration` and `PDFIntegration` are currently the same as before, but in future this will allow adapting the scrolling logic to the content type. In the case of PDFs the logic will need to allow for the fact that an annotation may be re-anchored to a different element as the document is scrolled due to the page containing the annotation changing between an un-rendered and rendered state. - Add `scrollToAnchor` method to `Integration` interface and implement it for `HTMLIntegration`, `PDFIntegration` - Replace `scrollIntoView` call in guest with a call to the active integration's `scrollToAnchor` method
-