- 11 Nov, 2022 11 commits
-
-
Lyza Danger Gardner authored
In the future, the `NavigationButton` pattern should be extracted Special CSS class is no longer needed (removed).
-
Robert Knight authored
Introduce the concept of "persistent" frames in the sidebar. This is a flag which can be set on a `Frame` in the sidebar's store to prevent annotations from being unloaded when the associated guest unloads. This flag is set in response to a hint provided by the `Guest` in its `documentInfoChanged` message. The guest in turn gets this hint via `Integration.persistFrame`, which returns true for VitalSource content frames. Marking VitalSource content frames as persistent prevents the book's annotations from being unloaded after a chapter navigation, when the old guest goes away, and then the same set of annotations immediately being re-fetched from the server when the new guest connects. This reload of annotations looked ugly but also lost the user's scroll position in the sidebar. With this change the sidebar retains the annotations during a chapter navigation and just re-sends the appropriate ones to the new guest when it connects.
-
Robert Knight authored
This type is for a message sent from the guest to the sidebar, so it belongs with other shared types.
-
Robert Knight authored
Add missing period. Co-authored-by: Lyza Gardner <439947+lyzadanger@users.noreply.github.com>
-
Robert Knight authored
Rewrite the description of this service to state that annotations are synchronized between the sidebar and _guest_ frames, not the host. Also note some (but not all) of the service's additional responsibilities. In the process it becomes clear that the service is tending towards being a little overloaded and it may make sense to split up some of these roles in future.
-
Robert Knight authored
These types are now only used in the PDF integration.
-
Lyza Danger Gardner authored
Refactor the computation of a couple of props set on MenuItem for clarity and improved typing.
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
-
Robert Knight authored
Replace the third-party minification plugin with the one maintained by the Rollup developers.
-
- 10 Nov, 2022 15 commits
-
-
Lyza Danger Gardner authored
-
Robert Knight authored
In order to facilitate a seamless transition after a chapter navigation in VitalSource, it will be necessary for the Guest in the new frame to report document information based on the same `book_as_single_document` feature flag state as for the previous frame. Allow integrations to signal whether the Guest should wait to receive feature flags from the sidebar before sending document info via `documentInfoChanged`, and enable this for VitalSource. We don't enable this for all integrations because it adds latency on the critical path to fetching and displaying annotations.
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
This gives us two assurances: 1. Highlight background colors, if not amazing on dark backgrounds in HTML documents, are at least readable 2. We know the exact contrast between foreground and background text in highlight elements —— think accessibility here in the future
-
Lyza Danger Gardner authored
This will allow us to see how highlighting features work on inverted documents.
-
Lyza Danger Gardner authored
Fixed positioning is always relative to the viewport, so set the top position of the fixed-position highlight controls to take the integration's content container's vertical offset from the viewport into account. Translation: ensure that highlight controls are not obscured by PDFjs' top menu/controls bar.
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
These changes apply CSS classes SVG highlight rects, which will allow for clustered-highlight styling. With these changes: * `hypothesis-highlight` elements always have a `hypothesis-highlight` CSS class, similarly to how SVG highlight rects have always had a `hypothesis-svg-highlight` class. * CSS classes passed to `highlightRange` extend instead of replace CSS classes on `hypothesis-highlight` elements. * CSS classes passed to `highlightRange` are also added to `hypothesis-svg-element` rects.
-
Robert Knight authored
Use the same "vitalsource-content" frame ID for each VitalSource guest frame. When a chapter navigation occurs, this will enable the sidebar to associate the new guest, for the new chapter, with the `Frame` object in the store for the previous guest. This also gives the frame a more helpful human-readable ID for debugging purposes.
-
Robert Knight authored
Make the temporary page loaded during a VitalSource chapter navigation more realistic by: 1. Having a URL that is not `about:blank`. 2. Having content with a `#page-content` element Change (1) enables the `onDocumentReady` helper to realize that the initial `about:blank` URL of the new chapter's iframe is about to navigate to a different URL (the URL of the temporary page). See the `hasBlankDocumentThatWillNavigate` function. Change (2) allows the `onDocumentReady` callback in `VitalSourceInjector` to detect that the temporary page is not the real chapter content, and skip loading the client into it. Together these two changes are steps towards more seamless handling of chapter transitions in the sidebar.
-
dependabot[bot] authored
Bumps [@npmcli/arborist](https://github.com/npm/cli/tree/HEAD/workspaces/arborist) from 5.6.2 to 6.1.1. - [Release notes](https://github.com/npm/cli/releases) - [Changelog](https://github.com/npm/cli/blob/latest/workspaces/arborist/CHANGELOG.md) - [Commits](https://github.com/npm/cli/commits/arborist-v6.1.1/workspaces/arborist) --- updated-dependencies: - dependency-name: "@npmcli/arborist" dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [socket.io-parser](https://github.com/socketio/socket.io-parser) from 4.0.4 to 4.0.5. - [Release notes](https://github.com/socketio/socket.io-parser/releases) - [Changelog](https://github.com/socketio/socket.io-parser/blob/main/CHANGELOG.md) - [Commits](https://github.com/socketio/socket.io-parser/compare/4.0.4...4.0.5) --- updated-dependencies: - dependency-name: socket.io-parser dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
-
Robert Knight authored
Note that the existing tests cover this after removing the null-check for the `document_` argument when `err` is null.
-
Robert Knight authored
Fix a bug in `onDocumentReady` where the callback would fire continuously with an error after the frame either navigated to a cross-origin URL, or was removed from its parent frame. Also emit a more appropriate error message in the case where the frame is disconnected. In the VitalSource integration this issue manifested in an `onDocumentReady` callback firing continuously for the previous chapter's iframe when it was removed from the document. This didn't cause an error because the callback registered by the VS integration does nothing in that case, but it wasted resources.
-
- 08 Nov, 2022 5 commits
-
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
Note that customization was needed on the "clear results" button: The cancel icon SVG (used by `CancelIcon`) is problematic — not a new issue — because it doesn't fill its viewbox and has to be manually sized. This prevents us from using the `icon` prop of the `Button` component for now. Tracked in https://github.com/hypothesis/frontend-shared/issues/675
-
Lyza Danger Gardner authored
Instead of drilling a single `AuthState` object cobbled together by `HypothesisApp` down through a number of components — each of which make use of different properties on the object in different ways — get what's needed in each component using store selectors Resolve related, potentially-confusing duplicate or misleading type names in `version-data`.
-
dependabot[bot] authored
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.41.0 to 5.42.0. - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.42.0/packages/parser) --- updated-dependencies: - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
-
Robert Knight authored
When clicking an annotation in the sidebar that corresponds to a different chapter of a VitalSource book than the one that is currently loaded, navigate the book to the chapter associated with the annotation. - Add `goToCfi` and `goToURL` to the set of `<mosaic-book>` APIs that the client uses, and implementations of these in the VitalSource EPUB demo. - Add optional `navigateToSegment` method for integrations, which triggers a navigation to the segment (eg. EPUB chapter) of a document that matches an annotation's selectors. - Add new `navigateToSegment` sidebar => guest RPC call, which forwards to the integration's `navigateToSegment` implementation. - Change `FrameSyncService.scrollToAnnotation` to accept an annotation rather than just a tag, so the service can conveniently match the annotation against the EPUB chapter information for the guest - Add logic in `FrameSyncService.scrollToAnnotation` to invoke the `navigateToSegment` RPC method instead of `scrollToAnnotation` if the annotation is in a different segment of the document than is currently loaded. Once the navigation to the new segment has completed, the document still needs to be scrolled to the annotation. FrameSyncService service handles this by recording the ID of the annotation in a `_pendingScrollToId` field, and then performing the scroll once the annotation anchors.
-
- 07 Nov, 2022 9 commits
-
-
Lyza Danger Gardner authored
-
Lyza Danger Gardner authored
-
Robert Knight authored
Recent updates to Puppeteer created issues with caching locally and GitHub Actions. See https://github.com/hypothesis/client/pull/4887#issuecomment-1295051454. Rather than work around this, we've decided to try and simplify our tech stack by removing this dependency and using the system's version of Chrome to run tests. This does introduce a risk of issues due to behavior differences between Chrome on one system and another, but it is mature and well-tested software, and such issues have been rare in practice. We also had this mismatch for years when running CI on Jenkins, which used an Alpine-packaged version of Chrome. See also Slack discussion at https://hypothes-is.slack.com/archives/C1M8NH76X/p1667826360220049.
-
dependabot[bot] authored
Bumps [@rollup/plugin-replace](https://github.com/rollup/plugins/tree/HEAD/packages/replace) from 5.0.0 to 5.0.1. - [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-v5.0.1/packages/replace) --- updated-dependencies: - dependency-name: "@rollup/plugin-replace" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [axe-core](https://github.com/dequelabs/axe-core) from 4.5.0 to 4.5.1. - [Release notes](https://github.com/dequelabs/axe-core/releases) - [Changelog](https://github.com/dequelabs/axe-core/blob/v4.5.1/CHANGELOG.md) - [Commits](https://github.com/dequelabs/axe-core/compare/v4.5.0...v4.5.1) --- updated-dependencies: - dependency-name: axe-core dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [reselect](https://github.com/reduxjs/reselect) from 4.1.6 to 4.1.7. - [Release notes](https://github.com/reduxjs/reselect/releases) - [Changelog](https://github.com/reduxjs/reselect/blob/master/CHANGELOG.md) - [Commits](https://github.com/reduxjs/reselect/compare/v4.1.6...v4.1.7) --- updated-dependencies: - dependency-name: reselect dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [sass](https://github.com/sass/dart-sass) from 1.55.0 to 1.56.0. - [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.55.0...1.56.0) --- updated-dependencies: - dependency-name: sass 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 7.17.2 to 7.17.4. - [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/7.17.2...7.17.4) --- updated-dependencies: - dependency-name: "@sentry/browser" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@sentry/cli](https://github.com/getsentry/sentry-cli) from 2.8.0 to 2.8.1. - [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/2.8.0...2.8.1) --- updated-dependencies: - dependency-name: "@sentry/cli" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
-