- 14 Sep, 2018 11 commits
-
-
Robert Knight authored
This causes the client to fetch settings from an ancestor frame on startup if necessary.
-
Robert Knight authored
Implement `fetchConfig` function which fetches config from the host page / embedding web app and merges it with config rendered into the sidebar HTML page. This function supports a new method of fetching config from the embedder by performing a "requestSidebarConfig" RPC call to the origin set with the "requestSidebarConfigFromFrameWithOrigin" setting. That setting must itself by set in the page where the embed.js script is loaded. Also extract the `assertPromiseIsRejected` helper into `promise-util.js` for re-use and add a note about needing to return the result.
-
Robert Knight authored
Read sidebar app config asynchronously on startup
-
Robert Knight authored
Add client for making JSON-RPC calls over postMessage
-
Robert Knight authored
In preparation for introducing an optional new postMessage-based method for the sidebar app to fetch configuration from its embedder, make the setting fetch flow async. - Move the Angular app startup logic into a function which receives settings as an argument. - Add a function to merge config rendered into the sidebar app HTML page with config fetched asynchronously from a host frame.
-
Robert Knight authored
Add "requestConfigFromFrame" string setting
-
Robert Knight authored
Without this field all the test cases still pass, but for the wrong reason, since the origin field is checked before other event properties.
-
Robert Knight authored
Replace "var" with "const" or "let" everywhere
-
Robert Knight authored
-
Robert Knight authored
This setting will cause the sidebar app to fetch its configuration via a postMessage request to frames with the given origin on startup. The setting is not actually used yet. This is coming in future commits.
-
Robert Knight authored
We need a way for the client to request configuration from an embedding frame over `postMessage`. JSON-RPC is a well-known, simple and convenient format for RPC messages. There are several npm packages which claim to offer this functionality but at the time of writing, none appeared to be sufficiently well tested/supported/documented. There is an existing partial postMessage JSON-RPC server implementation in src/sidebar/cross-origin-rpc.js. The non-app specific parts of that will be moved into this module in future.
-
- 13 Sep, 2018 5 commits
-
-
Robert Knight authored
To ensure consistency going forwards, enforce usage of const/let
-
Robert Knight authored
Fix the uses which js-codemod's "no vars" transform was unable to change automatically.
-
Robert Knight authored
This is the result of using jscodeshift [1] to apply the "no-vars" transform from js-codemod [2] on all code in scripts/ and to gulpfile.js [1] https://github.com/facebook/jscodeshift [2] https://github.com/cpojer/js-codemod
-
Robert Knight authored
-
Robert Knight authored
This is the result of using jscodeshift [1] to apply the "no-vars" transform from js-codemod [2] on all code in src/ except for src/{annotator, sidebar}/vendor. [1] https://github.com/facebook/jscodeshift [2] https://github.com/cpojer/js-codemod
-
- 04 Sep, 2018 1 commit
-
-
Sean Hammond authored
Add documentation for externalContainerSelector
-
- 30 Aug, 2018 1 commit
-
-
Robert Knight authored
Update to Node 10 for Jenkins and Travis builds
-
- 22 Aug, 2018 5 commits
-
-
Robert Knight authored
-
Robert Knight authored
The official Docker node builds now have Yarn preinstalled, so use that instead of a community-provided image.
-
Robert Knight authored
Use `yarn version --minor` to bump the package version. This requires Yarn >= v1.7.0.
-
Robert Knight authored
-
Robert Knight authored
-
- 21 Aug, 2018 1 commit
-
-
Sean Hammond authored
Inject a default organization into groups objects without organizations
-
- 15 Aug, 2018 2 commits
-
-
Lyza Danger Gardner authored
-
Hannah Stepanek authored
Create annotation when clicking "Annotate" button label
-
- 10 Aug, 2018 11 commits
-
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Hide "Public" group for unauthenticated users (alternate implementation)
-
Robert Knight authored
-
Robert Knight authored
-
Robert Knight authored
Implement a business requirement that the "Public" group should be hidden from the groups list if all these conditions are met: - The user is logged-out - The current document has groups associated with it - The user has not visited a direct-link to an annotation in "Public" --- This requirement introduces a complexity in that deciding which group to focus and fetch annotations for after initially fetching groups now depends on the current profile. However the profile and groups are fetched concurrently to reduce the number of API round-trips before we can show annotations in the client. Fortunately we don't need to know the exact userid to know which group to focus, only whether the list of groups was fetched as a logged-in user or not. This can be determined from the access token that was sent with the `/api/groups` request.
-
Sheetal Umesh Kumar authored
Remove obsolete JSDoc comments
-
Robert Knight authored
Add an option to return metadata in the response as well as just the JSON response from the server. This will initially be used to determine the access token that was used to make the request and therefore whether it was authenticated or not. In future it could also return information from HTTP headers or the status code if useful.
-
Robert Knight authored
-
Robert Knight authored
Remove unnecessary extra `/api/groups` call on startup
-
Robert Knight authored
Respond to PR feedback.
-
- 08 Aug, 2018 3 commits
-
-
Robert Knight authored
-
Robert Knight authored
This event is never broadcast anywhere. A comment referenced this being called when a user leaves a group, but this is handled in the `streamer` service by calling `groups.load()` directly.
-
Robert Knight authored
On startup an initial `FRAME_CONNECTED` event is fired when the main frame connects to the sidebar. This triggered an extra `/api/groups` fetch. Avoid this by recording the main frame URI used in the last groups fetch in `load()`. The existing test in the `FRAME_CONNECTED` handler then skips the `load()` call if this URI has not changed.
-