- 16 Jan, 2019 2 commits
-
-
dependabot[bot] authored
Bumps [cached-path-relative](https://github.com/ashaffer/cached-path-relative) from 1.0.1 to 1.0.2. **This update includes security fixes.** - [Release notes](https://github.com/ashaffer/cached-path-relative/releases) - [Changelog](https://github.com/ashaffer/cached-path-relative/blob/master/History.md) - [Commits](https://github.com/ashaffer/cached-path-relative/commits) Signed-off-by: dependabot[bot] <support@dependabot.com>
-
Robert Knight authored
Update AngularJS to 1.7.x
-
- 15 Jan, 2019 1 commit
-
-
Robert Knight authored
Upgrade to gulp 4
-
- 09 Jan, 2019 3 commits
-
-
Robert Knight authored
-
Robert Knight authored
In Angular 1.6 the behavior where inputs to components ("bindings") were accessible in the controller's constructor was deprecated [1] but a switch was made available to re-enable the old behavior to assist migration. This switch has been removed in Angular 1.7, so we need to stop relying on it before we can upgrade. The correct thing to do is to put all init logic which accesses bindings (`this.someBindingName`) in the `$onInit` lifecycle method. This commit makes the minimal amount of changes to enable the app and tests to run without requiring pre-assigned bindings. [1] https://toddmotto.com/angular-1-6-is-here
-
Robert Knight authored
This should make future maintenance easier since Gulp v4 has better documentation [1], more checks for incorrect usage and a simpler API for expressing what should run in parallel vs sequentially during build steps. This also eliminates a bunch of old transitive dependencies that gulp v3 had, which sometimes caused problems (eg. with Node upgrades). Changes required: - Make sure `gulp.task` functions return a value, so Gulp knows when the task is finished - `gulp.watch` now requires a function rather than a task name - Task no longer support a list of dependencies but need a task function. Dependencies are expressed using `gulp.series` or `gulp.parallel` to compose other functions - Give several functions names so that there are fewer `<anonymous> {starting, finished}` messages in log output. [1] https://gulpjs.com/docs/en/api/concepts
-
- 13 Dec, 2018 2 commits
-
-
Robert Knight authored
Refactor Makefile
-
Sean Hammond authored
Refactor Makefile to be the same as for our other projects: $ make help make help Show this help message make dev Run the app in the development server make lint Run the code linter(s) and print any warnings make test Run the unit tests make docs Build docs website and serve it locally make checkdocs Crash if building the docs website fails make clean Delete development artefacts (cached files, dependencies, etc) Other make commands that our other projects have but the client doesn't yet: `make shell` -- Not relevant to the client? (Unless we can get a useful JavaScript shell in the terminal.) `make sql` -- Not relevant. `make format` and `checkformatting` -- We can't use Black code formatting for the client of course but maybe we could use Prettier or something else. (Our Python apps could also be extended to have `make format` format the JavaScript code as well.) `make coverage` and `codecov` -- Print the unit test coverage report to the terminal, and post it to codecov. These should be doable?
-
- 11 Dec, 2018 4 commits
-
-
jenkins-hypothesis authored
-
Robert Knight authored
Ignore invalid URLs in `<link>` and `<meta>` tags
-
jenkins-hypothesis authored
-
Robert Knight authored
Fix selection of annotations when bucket bar indicators are clicked
-
- 06 Dec, 2018 5 commits
-
-
jenkins-hypothesis authored
-
Robert Knight authored
Delete only invalid highlight when anchor has multiple highlights
-
Robert Knight authored
Websites may put unparseable URLs in `<link>` and `<meta>` tags [1]. We could choose to preserve the URL string as-is (which `HTMLLinkElement#href` does for example) or not include it at all. I've opted to skip over such URLs to make life easier for code consuming the parsed links as it can rely on them being parseable as URLs. [1] https://github.com/hypothesis/product-backlog/issues/742
-
Robert Knight authored
Instead of modifying the `<head>` of the document which is shared with all other tests, create a new temporary document fragment and populate that for each test. This isolates these tests from each other and from unrelated tests.
-
Robert Knight authored
Clean up `DocumentMeta#_getLinks` by removing several unnecessary variables and narrowing the scope of several others. In the process, avoid trying to normalize the URIs for `<link>` elements which are going to be ignored anyway because of their `rel` values. As a side effect this should fix https://github.com/hypothesis/lms/issues/375 because the `<link>` elements shown in https://github.com/hypothesis/lms/issues/375#issuecomment-444637947 will never get parsed. This doesn't close that issue because invalid URIs could still occur in the remaining `<link>` tags which are parsed.
-
- 05 Dec, 2018 1 commit
-
-
Robert Knight authored
A typo, `annotator` instead of `@annotator`, caused this functionality to break when `window.annotator` (which was the same object as `@annotator`) was removed in 0033f774. Correct the typo and add tests. The tests operate at the DOM level so they should be easy to adapt if the BucketBar implementation is rewritten or changed substantially in future. Fixes https://github.com/hypothesis/product-backlog/issues/704
-
- 04 Dec, 2018 4 commits
-
-
jenkins-hypothesis authored
-
Sean Hammond authored
Support groupids in `groups` config setting
-
Robert Knight authored
Co-Authored-By: seanh <seanh@users.noreply.github.com>
-
Sean Hammond authored
Although the list of groups to be shown (the service setting `groups`) to identify groups using either their `groupid` or their `id` (pubid). Previously only pubids worked. Supporting groupids makes the LMS app's job a lot simpler.
-
- 01 Dec, 2018 1 commit
-
-
jenkins-hypothesis authored
-
- 30 Nov, 2018 1 commit
-
-
Robert Knight authored
Hide non-applicable tutorial steps for third party users
-
- 29 Nov, 2018 2 commits
-
-
Robert Knight authored
Hide steps in the sidebar tutorial which are not available to third-party users. It is expected that the conditions under which these actions are available may change in future, but they will still be unavailable in at least some contexts. Fixes https://github.com/hypothesis/product-backlog/issues/842
-
Lu Di authored
-
- 21 Nov, 2018 2 commits
-
-
jenkins-hypothesis authored
-
Robert Knight authored
Disable groups drop-down menu when using third-party accounts and there is only one group
-
- 20 Nov, 2018 8 commits
-
-
dwolfe authored
Merge branch 'dissable-groups-drop-down' of https://github.com/hypothesis/client into dissable-groups-drop-down
-
dwolfe authored
-
dwolfe authored
-
jenkins-hypothesis authored
-
Robert Knight authored
Enable third-party authorities to globally disable annotation share links
-
Robert Knight authored
`groups` is a list with only one element, but it is still a list not a single group. Also fix a typo in a test description.
-
Robert Knight authored
In the context of the LMS app, the client is embedded inside a Via iframe, which is inside an LMS app iframe, which is inside Canvas. There is currently no mechanism in place to propagate the focused annotation down the frame hierarchy. As a result, share links show up but do not work. As a simple way to resolve that for an initial version of the LMS app, provide it with a way to globally disable annotation share links. In future we may move this responsibility to the "h" service, so that the availability (or not) of share links is correctly reflected in h API responses. Part of https://github.com/hypothesis/product-backlog/issues/843
-
jenkins-hypothesis authored
-
- 19 Nov, 2018 4 commits
-
-
Robert Knight authored
Support recent versions of PDF.js
-
Robert Knight authored
Recent versions of PDF.js emit a "documentloaded" event when the document finishes loading. Older versions emit "documentload". Listen for both events to support both versions.
-
Robert Knight authored
`PDFViewerApplication.documentFingerprint` was removed in recent versions of PDF.js [1]. This issue causes loading the bookmarklet into Firefox 63+ to fail because the client thinks the PDF is still loading. `PDFViewerApplication.pdfDocument.fingerprint` is the replacement mentioned in the commit that removed the property and it also appears to be more clearly a part of PDF.js' documented API. This change is backwards-compatible with the version of PDF.js that currently ships with Via. [1] https://github.com/mozilla/pdf.js/commit/e522b2d87e8eb3d4eb8a391a098a0f6f157e8c12
-
Robert Knight authored
Use a class which provides a consistent fake PDFViewerApplication implementation for use by different PDF metadata tests. This will make it easier to change the fake in order to reflect changes in PDF.js' API, or the parts of it that we use.
-