- 02 Mar, 2022 8 commits
-
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Add a workaround for the scroll-into-view package for XHTML documents, including EPUBs. In these documents `scrollIntoView` failed to detect the <body> element correctly when finding scrollable ancestors of the target element. As a result the client did not scroll to the correct location for a highlight when clicking on annotation cards or bucket bar items. The workaround is to make `document.body.tagName` behave the same in XHTML documents as it does in HTML documents, and rely on this being unlikely to break any of the page's own JavaScript.
-
Robert Knight authored
Extract the logic for smoothly scrolling an element into view into the scrolling utility module, in preparation for adding a workaround for an issue with XHTML documents. This will also provide a place to configure common defaults and enable us to swap out the underlying implementation more easily in future.
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Use the `preserveScrollPosition` utility that was created for HTML / EPUB side-by-side mode to preserve scroll position when side-by-side mode is toggled in VitalSource PDFs. - Add a way to synchronously update the hidden text layer in VS PDFs - Wrap image size updates in VS PDFs in `preserveScrollPosition`
-
- 01 Mar, 2022 5 commits
-
-
Robert Knight authored
VitalSource PDF books currently create very tall iframes. When a user scrolls through a PDF page, they are scrolling the _parent_ frame rather than the iframe itself. The bucket bar and scrolling logic in the client don't support this. The result is that: - Bucket bar buckets are in the wrong location and don't scroll as the user scrolls the parent frame - Clicking on an annotation / bucket tries to scroll only the iframe, not the parent frame. To resolve this we need to do at least one of: 1. Support these tall iframes in the client generally 2. Forcibly change the height of the iframe and enable the iframe to scroll 3. Persuade VitalSource to change the iframe layout so that the content frame scrolls, rather than the parent frame. They previously did this for EPUBs already. This commit implements a version of (2). If VS later apply (3) then we can remove this workaround.
-
Robert Knight authored
Add missing types found while trying to typecheck src/annotator with `noImplicitAny` enabled.
-
Lyza Danger Gardner authored
-
Robert Knight authored
- Use "contains" rather than "returns" to describe tests of objects or object properties - Avoid deeply nested `describe` blocks that only contain a single test. This is just a preference not to have too many levels of nesting unless there are tests that benefit from grouping. - Revise description of tests for link properties (`link`, `documentFingerprint`, `favicon`) since these cover properties other than just `link`.
-
Eduardo Sanz García authored
I have created a few additional `describe` sub-sections and re-grouped tests by the resulting metadata property. This allow for a more atomic testing.
-
- 28 Feb, 2022 20 commits
-
-
Robert Knight authored
Many classic texts that are freely available in VitalSource use `<div class="para">` elements for paragraphs of text, instead of `<p>` elements. Modify the logic for finding the main content of an HTML document to consider these. We will probably want to make these selectors a configurable argument to `guessMainContentArea` in future. Since there are only two of them and it is unlikely to have ill effects outside of VitalSource books, I made it a general feature of the HTML side-by-side mode implementation.
-
Robert Knight authored
Fix an issue where the client failed to inject into some VitalSource book chapters, by revising the tests used to decide whether a content frame should have the client injected into it. The previous logic worked for most EPUBs and PDF books, but failed for: - EPUB chapters which had no paragraph content (eg. only an image, table or list) - "Great Book" format EPUBs, which are used for many of the free classic texts available in VitalSource. These use `<div class="para">` elements for paragraphs instead of `<p>` elements (sigh).
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
Add a couple of test HTML documents in the local dev server that demonstrate how the client renders in situations where the host page's root font size is set tiny (10px) or huge (24px). These test pages will help with solving https://github.com/hypothesis/client/issues/4248
-
Lyza Danger Gardner authored
Add a README to the `styles` directory to help avoid confusion during transition from SASS -> Tailwind.
-
dependabot[bot] authored
Bumps [@sentry/cli](https://github.com/getsentry/sentry-cli) from 1.72.2 to 1.73.0. - [Release notes](https://github.com/getsentry/sentry-cli/releases) - [Changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-cli/compare/1.72.2...1.73.0) --- updated-dependencies: - dependency-name: "@sentry/cli" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [rollup](https://github.com/rollup/rollup) from 2.67.3 to 2.68.0. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v2.67.3...v2.68.0) --- updated-dependencies: - dependency-name: rollup dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@rollup/plugin-commonjs](https://github.com/rollup/plugins/tree/HEAD/packages/commonjs) from 21.0.1 to 21.0.2. - [Release notes](https://github.com/rollup/plugins/releases) - [Changelog](https://github.com/rollup/plugins/blob/master/packages/commonjs/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/commonjs-v21.0.2/packages/commonjs) --- updated-dependencies: - dependency-name: "@rollup/plugin-commonjs" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.1077.0 to 2.1082.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.1077.0...v2.1082.0) --- updated-dependencies: - dependency-name: aws-sdk dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@rollup/plugin-virtual](https://github.com/rollup/plugins/tree/HEAD/packages/virtual) from 2.0.3 to 2.1.0. - [Release notes](https://github.com/rollup/plugins/releases) - [Changelog](https://github.com/rollup/plugins/blob/master/packages/virtual/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/run-v2.1.0/packages/virtual) --- updated-dependencies: - dependency-name: "@rollup/plugin-virtual" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@sentry/browser](https://github.com/getsentry/sentry-javascript) from 6.17.9 to 6.18.0. - [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.17.9...6.18.0) --- updated-dependencies: - dependency-name: "@sentry/browser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [enzyme-adapter-preact-pure](https://github.com/preactjs/enzyme-adapter-preact-pure) from 3.3.0 to 3.4.0. - [Release notes](https://github.com/preactjs/enzyme-adapter-preact-pure/releases) - [Changelog](https://github.com/preactjs/enzyme-adapter-preact-pure/blob/master/CHANGELOG.md) - [Commits](https://github.com/preactjs/enzyme-adapter-preact-pure/compare/v3.3.0...v3.4.0) --- updated-dependencies: - dependency-name: enzyme-adapter-preact-pure dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [sass](https://github.com/sass/dart-sass) from 1.49.8 to 1.49.9. - [Release notes](https://github.com/sass/dart-sass/releases) - [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md) - [Commits](https://github.com/sass/dart-sass/compare/1.49.8...1.49.9) --- updated-dependencies: - dependency-name: sass dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.28.0 to 7.29.2. - [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases) - [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md) - [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.28.0...v7.29.2) --- updated-dependencies: - dependency-name: eslint-plugin-react dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@rollup/plugin-babel](https://github.com/rollup/plugins/tree/HEAD/packages/babel) from 5.3.0 to 5.3.1. - [Release notes](https://github.com/rollup/plugins/releases) - [Changelog](https://github.com/rollup/plugins/blob/master/packages/babel/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/babel-v5.3.1/packages/babel) --- updated-dependencies: - dependency-name: "@rollup/plugin-babel" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 13.3.2 to 13.4.0. - [Release notes](https://github.com/puppeteer/puppeteer/releases) - [Changelog](https://github.com/puppeteer/puppeteer/blob/main/CHANGELOG.md) - [Commits](https://github.com/puppeteer/puppeteer/compare/v13.3.2...v13.4.0) --- updated-dependencies: - dependency-name: puppeteer dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [eslint](https://github.com/eslint/eslint) from 8.9.0 to 8.10.0. - [Release notes](https://github.com/eslint/eslint/releases) - [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md) - [Commits](https://github.com/eslint/eslint/compare/v8.9.0...v8.10.0) --- updated-dependencies: - dependency-name: eslint dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/HEAD/packages/replace) from 3.1.0 to 4.0.0. - [Release notes](https://github.com/rollup/plugins/releases) - [Changelog](https://github.com/rollup/plugins/blob/master/packages/replace/CHANGELOG.md) - [Commits](https://github.com/rollup/plugins/commits/url-v4.0.0/packages/replace) --- updated-dependencies: - dependency-name: "@rollup/plugin-replace" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [postcss](https://github.com/postcss/postcss) from 8.4.6 to 8.4.7. - [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.4.6...8.4.7) --- updated-dependencies: - dependency-name: postcss dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
- 25 Feb, 2022 7 commits
-
-
Robert Knight authored
Support side-by-side mode in PDF books by simply resizing the content of the page. This is similar to how side-by-side mode works in PDFs. The width of the page in the VS PDF demo has been increased so that it better matches the actual VS viewer, and also so that it triggers the heuristics in the Guest class for detecting an iframe that fills the parent frame.
-
Robert Knight authored
This allows the client to detect, in most supported browsers, changes in the size and position of the PDF book image which don't affect the window size. This will be needed to support side-by-side mode for VS PDF books. It may also help if VS resizes the book image for any other reason. For Safari < 13.4, we fall back to using window resize events.
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Toggling side-by-side mode in a web page reflows the content. If the absolute scroll position stays the same, the logical position in the document will change and the user would have to scroll to find the content they were previously reading. To avoid this add logic which picks content in the viewport to use as a _scroll anchor_, before the document is resized. After the document is resized, the scroll position is changed so that the vertical position of the scroll anchor in the viewport is the same as before. This keeps most of the content on screen. The scroll anchor is currently chosen by picking the first _word_ (non-whitespace substring of a text node) which is visible in the viewport, represented as a DOM Range. This fine-grained scroll anchor is chosen rather than eg. just a DOM element, because long paragraphs may change in size substantially relative to the viewport after resizing the document, so just preserving the location of the paragraph element would not preserve the content that is on screen. - Add `preserveScrollPosition` helper in html-side-by-side.js which picks a scroll anchor, invokes a callback and then restores the position of the scroll anchor. - Make the HTML integration use `preserveScrollPosition` to preserve the scroll position after activating and de-activating side-by-side mode - Add helper functions in src/annotator/util/geometry for comparing DOMRect objects
-
Robert Knight authored
-
Robert Knight authored
When computing the amount of free space between the right edge of the main content and the edge of the sidebar, allow for the padding allocated between the sidebar and the content. This fixes an issue where the main content would touch the sidebar exactly instead of having a margin between it and the content. Also tweak the padding value slightly to be a multiple of the 4px grid cell size used in the design system.
-