- 26 Jun, 2017 1 commit
-
-
Sean Hammond authored
Fix sidebar app failing to load in Firefox extension.
-
- 23 Jun, 2017 4 commits
-
-
Sean Hammond authored
Convert "flash" service to JS
-
Sean Hammond authored
Enable feature flagging in the annotation layer
-
Sean Roberts authored
-
Robert Knight authored
Angular has a check for Chrome Packaged Apps in its `$sniffer` service which changes the behavior of the $location service and in the Firefox extension, triggers a redirect from `/client/app.html` to `/#client/app.html` on startup, breaking the sidebar app. This commit works around the problem by adding a fake `window.chrome.app` object to convince Angular that the Firefox extension is not a Chrome Packaged App. Issue reported upstream at https://github.com/angular/angular.js/issues/16068
-
- 21 Jun, 2017 1 commit
-
-
Robert Knight authored
Remove `angular.bind` dependency since `Function.prototype.bind` is now ubiquitous.
-
- 20 Jun, 2017 4 commits
-
-
Robert Knight authored
Upgrade Sinon.JS to its latest version
-
Sean Hammond authored
-
Sean Hammond authored
Rename config.app to sidebarAppUrl
-
Sean Hammond authored
The code in `src/boot/` reads the `sidebarAppUrl` setting from `js-hypothesis-config` JSON objects in the host page (defaulting to the value of the build-time `__SIDEBAR_APP_URL__` template variable, if there's no `sidebarAppUrl` setting in the host page). `boot/` then writes `sidebarAppUrl` as the value of the `href` of a `<link type="application/annotator+html">` element that it injects into the host page. Later, the code in `src/annotator/` reads this `<link>` element's `href` in as the `config.app` setting, which it uses as the `src` of the sidebar app's `<iframe>` that it injects into the host page. So the variable that's named `sidebarAppUrl` / `__SIDEBAR_APP_URL__` at boot / build time* gets renamed to `config.app` when it makes it into the `src/annotator` code. Fix this by renaming `config.app` in `src/annotator` to `config.sidebarAppUrl` so that the variable is named consistently. `*` In the build-time code there's also a `defaultSidebarAppUrl` variable, and an `H_SERVICE_URL` environment variable, which also belong to the same sidebarAppUrl config setting.
-
- 19 Jun, 2017 15 commits
-
-
Sean Roberts authored
-
Sean Roberts authored
-
Robert Knight authored
Add showHighlights() settings function
-
Sean Hammond authored
-
Sean Hammond authored
Return null, rather than undefined, if a host page setting isn't defined in the host page. This is because null, rather than undefined, is commonly used in this codebase to explicitly denote "not found".
-
Sean Hammond authored
strictEqual() can tell the difference between null and undefined, whereas equal() can't.
-
Robert Knight authored
Rename H_SERVICE_URL to SIDEBAR_APP_URL
-
Sean Hammond authored
This groups all of the logic for the config.showHighlights setting (both how it's read from the host page, and how the host page's value is transformed afterwards) into one unit-tested place.
-
Sean Hammond authored
The `H_SERVICE_URL` environment variable is only used for one thing: to set the value of the `defaultSidebarAppUrl` variable (to https://hypothes.is/app.html in production or localhost:5000/app.html in dev) by appending `/app.html` to the end of the environment variable's value. For consistency with the config setting and variables that it's used to control, rename `H_SERVICE_URL` to `SIDEBAR_APP_URL` and require the user to include the `/app.html` ending in the environment variable's value. Also rewrite the documentation for this environment variable to make it clearer what it's used for. **Note**: This change means that developers who're using the `H_SERVICE_URL` environment variable in their development environments will need to: 1. Rename `H_SERVICE_URL` it to `SIDEBAR_APP_URL` in their environment 2. Append `/app.html` to the end of the environment variable's value For example: export SIDEBAR_APP_URL="http://localhost:5000/app.html" The developer docs for this environment variable have been updated to reflect this.
-
Robert Knight authored
Remove assetRoot and sidebarAppUrl from annotator
-
Sean Hammond authored
Remove the assetRoot and sidebarAppUrl config settings, which are read from js-hypothesis-config objects in the host page, from the src/annotator code. These settings aren't used in the src/annotator code, they're used in the src/boot code only.
-
Sean Hammond authored
Convert shared Bridge class to JS
-
Sean Hammond authored
Fix warning about loading Angular twice in tests
-
Sean Hammond authored
Convert localStorage service to JS
-
Sean Hammond authored
Remove unused "host" service
-
- 16 Jun, 2017 2 commits
-
-
Sean Hammond authored
-
Sean Hammond authored
-
- 15 Jun, 2017 13 commits
-
-
Sean Hammond authored
This reverts commit 4521cb4d.
-
Sean Hammond authored
Add --force to yarn install command
-
Sean Hammond authored
Attempting to fix this error with the client build on Jenkins: Error during loading "/data/jenkins/workspace/client_master-*/node_modules/karma-phantomjs-launcher" plugin: Path must be a string. Received null
-
Sean Hammond authored
-
Sean Hammond authored
-
Sean Hammond authored
Update docs to mandatory apiUrl field in the service.
-
Sheetal Umesh Kumar authored
-
Robert Knight authored
* Improve JSDoc comments * Remove `initClass` method which is unnecessary since all fields are initialized in the constructor
-
Robert Knight authored
I removed the unnecessary use of Angular DI from the tests.
-
Robert Knight authored
-
Robert Knight authored
Enable reading openLoginForm and openSidebar from the host page
-
Robert Knight authored
The Angular.js bundle was evaluated a second time because a module that required angular was proxyquire-d in session-test.js. When `proxyquire(...)` loads a module, it does so with a fresh, empty module cache [1] which is removed once the `proxyquire(...)` call returns. As a result, every module that is transitively required by the proxyquire'd module will be re-evaluated during the `proxyquire(...)` call. Aside from the performance cost for large modules, this is also bad for any module which has side-effects as part of its evaluation. Angular happens to detect this and abort when evaluated a second time. The fix here is to use Angular's DI system to mock the only stubbed dependencies instead of proxyquire. [1] The _module cache_ is a (module ID/name => exports object) map.
-
Sean Hammond authored
Whitelist the openLoginForm and openSidebar settings as being readable from the host page even when the client is in a browser extension. When you first install the Chrome extension it opens the /welcome page in a tab, and it injects the openLoginForm and openSidebar settings into the /welcome page in order to get the sidebar and login form to automatically open on that page. A previous change to prevent the Chrome extension from reading settings from the page broke this /welcome page behaviour. Fix it again by whitelisting the two required settings. Of course this means that any page on the internet, not just the /welcome page, and control these two settings, which is not what we want, but it will do for now.
-