- 21 May, 2021 6 commits
-
-
Eduardo Sanz García authored
We have been replacing default exports from services. We only allow default exports on preact components.
-
Eduardo Sanz García authored
-
Eduardo Sanz García authored
The styles in `notebook.scss` really belonged to the `NotebookModal` component. I moved these styles into their own file in the component folder. The are no changes in the look an feel. The styles were copied almost verbatim from `notebook.scss`.
-
Robert Knight authored
Update the Alpine version used by the Docker container that Jenkins uses. This updates Node from v12 to v14 amongst other changes.
-
Robert Knight authored
Recent releases on GitHub do not have the expected release notes, although the `create-github-release.js` script appears to be running without errors. Add logging to the script to show what the release description and version should be before asking GitHub to create it.
-
Robert Knight authored
Per the example in https://github.com/octokit/core.js/#rest-api-example the value for the `auth` property in the `Octokit` constructor is now just the personal access token, not `token $TOKEN`. The old format still works with a recently generated token though. To test: ```sh export GITHUB_TOKEN=$TOKEN node scripts/generate-change-list.js $PREV_CLIENT_VERSION ``` Where `$TOKEN` is a token generated at https://github.com/settings/tokens and `$PREV_CLIENT_VERSION` is the previous released version of the client to use as a starting point for the change list.
-
- 20 May, 2021 2 commits
-
-
Eduardo Sanz García authored
This PR ensures that the annotation header is always shown, even if the top-level annotation is hidden by a filter. The annotation header contains the document target. This information is specially important in the context of the notebook, where annotations from different documents are displayed together. I created a wrapper around the `AnnotationHeader` component. I couldn't use it directly because I needed a couple of methods from the store to mimic 100% the same behaviour as when `AnnotationHeader` is called through `Annotation` component.
-
Eduardo Sanz García authored
1. Added an option (`allowFlagging`) in the service configuration to enable/disable flagging. 2. Added logic in `AnnoationActionBar` component to hide the flag icon if the service configuration has the option `allowFlagging`. Closes https://github.com/hypothesis/product-backlog/issues/1126
-
- 17 May, 2021 11 commits
-
-
Robert Knight authored
These methods are short and only called in one place, so there is not a lot of value in having them as separate methods.
-
Robert Knight authored
Follow up the initial conversion of `StreamerService` from a function to a class but converting instance fields from local variables in the constructor to properties and methods from closures to object methods. In the process some unused public APIs were removed: - Remove the public `reconnect` method - Remove the public `configMessages` field - Rename the internal `_connect` helper to `_reconnect` and make it always close the existing connection if open
-
dependabot[bot] authored
Bumps [aws-sdk](https://github.com/aws/aws-sdk-js) from 2.903.0 to 2.907.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.903.0...v2.907.0) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@hypothesis/frontend-shared](https://github.com/hypothesis/frontend-shared) from 1.13.0 to 2.0.0. - [Release notes](https://github.com/hypothesis/frontend-shared/releases) - [Changelog](https://github.com/hypothesis/frontend-shared/blob/main/CHANGELOG.md) - [Commits](https://github.com/hypothesis/frontend-shared/compare/v1.13.0...v2.0.0) 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.14.1 to 7.14.2. - [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.2/packages/babel-preset-env) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [sass](https://github.com/sass/dart-sass) from 1.32.12 to 1.32.13. - [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.12...1.32.13) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [postcss](https://github.com/postcss/postcss) from 8.2.14 to 8.2.15. - [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.14...8.2.15) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [katex](https://github.com/KaTeX/KaTeX) from 0.13.9 to 0.13.11. - [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.9...v0.13.11) 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.14.0 to 7.14.2. - [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.2/packages/babel-core) Signed-off-by: dependabot[bot] <support@github.com>
-
dependabot[bot] authored
Bumps [@sentry/browser](https://github.com/getsentry/sentry-javascript) from 6.3.6 to 6.4.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.3.6...6.4.0) Signed-off-by: dependabot[bot] <support@github.com>
-
Eduardo Sanz García authored
- Observe changes in `enable-annotation` attribute. Currently, if an existing iframe adds the attribute it won't be detected. - `sidebar` or `notebook` iframes are shadow DOMed so they are not returned by `querySelector...` or `getElement...` (from elements outside the shadow root). Therefore, it is not necessary to filter these iframes out.
-
- 14 May, 2021 2 commits
-
-
Robert Knight authored
-
Robert Knight authored
Specify the type of `window.PDFViewerApplication` in src/types/pdfjs.js add various missing properties required by `PDFIntegration` as well as adding checks for potentially null/undefined values that were missing previously. - Add a fallback for older versions of PDF.js where `PDFViewerApplication` did not have an `appConfig` property [1] - Add a missing check for `getPageView` returning `null` Fixes https://github.com/hypothesis/product-backlog/issues/1205 [1] The property was introduced in https://github.com/mozilla/pdf.js/commit/b6c74f20561b04573cd00dd924484be7f80a09ce
-
- 13 May, 2021 1 commit
-
-
Lyza Danger Gardner authored
Add a temporary class name prefix to the local `Panel` component styles. This will avoid conflicts with the styling for the new `Panel` component in the `frontend-shared` package. In the future: * This local `Panel` will be supplanted by the shared variant, and * Shared component classnames will be prefixed to avoid future conflicts
-
- 12 May, 2021 3 commits
-
-
Robert Knight authored
All of the components use selector methods now instead of accessing the store's internal state directly.
-
Robert Knight authored
Remove the last remaining usage of `store.getState()` outside of the store implementation in favor of the `store.allAnnotations()` selector method. This allows simplifying the state structure in the fake store that the `FrameSyncService` tests create.
-
Robert Knight authored
Convert the `store/index.js` and `store/create-store.js` modules to use named rather than default exports per our current conventions, and revise the documentation. The goal of the revised documentation is to more clearly describe what the store is and how it is used within the sidebar/notebook app, assuming that the reader is likely have at least some familiarity with Redux (or can read the "Introduction" section of the linked website if not). In particular I have tried to convey: - The separation between the "base" `createStore` function which is not application-specific and the `createSidebarStore` function and the modules it uses which are - How the store in the sidebar app differs from a standard/base Redux store - Best practices around using the store from other parts of the app (use `useStoreProxy` in UI components, use selector and action methods rather than `getState` and `dispatch`)
-
- 11 May, 2021 11 commits
-
-
Robert Knight authored
Replace the usage of `document.title` as a way to get the document title if the PDF has no embedded title in either its _document info dictionary_ or _metadata stream_. In top-level frames using `document.title` (where `document` is the global HTML document, not the PDF) works because PDF.js sets the title based on the first non-empty value from: 1. The embedded title 2. The filename from the `Content-Disposition` header 3. The last segment of the URL's path (eg. "test.pdf" in "https://example.com/test.pdf") When PDF.js is embedded in an iframe however, it does not set `document.title` by default. As a result, documents were ending up in Hypothesis with a generic "PDF.js viewer" title. This commit implements (roughly) the same logic that PDF.js uses to determine the value used to set `document.title`, in the case where the PDF has no embedded title. This means implementing steps (2) and (3) from the above list. The `Content-Disposition` filename is not exposed as a public property on `PDFViewerApplication`, so `PDFMetadata#getMetadata` was refactored to call the `pdfDocument.getMetadata` instead. Fixes https://github.com/hypothesis/client/issues/3372
-
Robert Knight authored
I ignored one path that is only used in local development.
-
Robert Knight authored
Part of https://github.com/hypothesis/client/issues/3298 Convert the `streamer` service to an ES class, modernize the code (functions => arrow functions, Promise chains => async/await) and improve the class documentation. There are no significant changes to the internal logic or API.
-
Robert Knight authored
This makes it more obvious what is going on at a glance. Refactoring the code in this way revealed to TS a hazard where `newGroupId` could, at least based only on local reasoning, be null. In practice this shouldn't happen due to the contexts when the method is called, but I've added a check to be safe and keep TS happy.
-
Robert Knight authored
Re-order the arguments based on an alphabetic sorting of the `@param` lines, which results in sorting by import path. This will make it more obvious where to slot in any new dependencies in future. Also sort the field initialization to match.
-
Robert Knight authored
-
Robert Knight authored
- Convert the `groups` service to an ES class and the many closures in the constructor to private or public methods. - Remove the unused `all` and `get` methods of the groups service. These were trivial wrappers around store methods. UI components should use the store methods directly.
-
Robert Knight authored
- Clarify what a "non-file URL" means and add an additional test case for HTTPS URLs - Add a comment to clarify the precedence order of titles. The tests could more directly check that the expected precedence order is respected, but the logic here is expected to change very soon, so just add a comment for now.
-
Robert Knight authored
Convert remaining promise chains in `PDFMetadata` tests to async/await.
-
Robert Knight authored
- Convert promise chains to async/await - Add missing tests to check that the PDF URL and fingerprint URL appear in the object returned by `getMetadata`. These were previously tested indirectly in other tests. - Change tests to only check the specific properties of the returned object that are of interest. This reduces the changes needed when tests change unrelated parts of the output.
-
Robert Knight authored
Refactor the setup steps in PDFMetadata tests to make it easier to customize the PDF metadata exposed by the fake PDF.js environment. Instead of creating a fake `PDFViewerApplication` and `PDFMetadata` instance before each test, provide a helper function that creates both using the provided metadata.
-
- 10 May, 2021 4 commits
-
-
dependabot[bot] authored
Bumps [@sentry/browser](https://github.com/getsentry/sentry-javascript) from 6.3.5 to 6.3.6. - [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.5...6.3.6) Signed-off-by: dependabot[bot] <support@github.com>
-
Eduardo Sanz García authored
-
Eduardo Sanz García authored
-
dependabot[bot] authored
Bumps [prettier](https://github.com/prettier/prettier) from 2.2.1 to 2.3.0. - [Release notes](https://github.com/prettier/prettier/releases) - [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md) - [Commits](https://github.com/prettier/prettier/compare/2.2.1...2.3.0) Signed-off-by: dependabot[bot] <support@github.com>
-