- 04 Feb, 2016 7 commits
-
-
Robert Knight authored
If a session load fails, subsequent calls to session.load() would trigger another request immediately. Together with feature flag checks triggering session.load(), this could result in a cycle if no network connection was present: 1. App loads during initial digest cycle, 'flag.featureEnabled()' is called to test whether to show certain UI elements 2. session.load() is triggered 3. session.load() fails and the HTTP response error triggers a digest cycle 4. GOTO 1 This commit resolves the problem by automatically retrying session.load() calls with an exponential backoff.
-
Christof Dorner authored
Standalone websocket server
-
Nick Stenning authored
Group page update
-
Lena Gunn authored
-
Nick Stenning authored
Add help text to nipsa form
-
Nick Stenning authored
Fix client-side router on site
-
Nick Stenning authored
Don't 404 if a user visits an activation link twice
-
- 03 Feb, 2016 9 commits
-
-
Sean Hammond authored
Do not update the group for existing annotations on edit
-
Nick Stenning authored
Fix flash of 'Create Account' banner in stream
-
Nick Stenning authored
Admin account deletion
-
Nick Stenning authored
Remove the need to specify the Chrome extension ID when building with bundled assets
-
Robert Knight authored
Whenever an annotation was edited, its current group was set to whichever group was focused in the UI. Our current model does not allow for moving annotations between groups however. The only time when annotations should have their groups set is when the annotation is newly created and when switching groups before saving the annotation. We already have separate logic to deal with both of these cases. Fixes #2902
-
Robert Knight authored
Fix user annotation query in admin panel
-
Robert Knight authored
The JS for the group share page failed to load because of an incorrect comparison of the result of String.match() against a number and also because of an attempt to load Bootstrap unnecessarily on this pages. This commit fixes the issue and prepares us for adding new pages in future by: * Adding a client-side micro-router to simplify running page-specific JS * Only loading the Bootstrap components on pages that actually need it. Fixes #2867
-
Robert Knight authored
Make connecting the WebSocket optional
-
Nick Stenning authored
In preparation for splitting the hosting of the WebSocket server into a separate process, make it possible to run the client without attempting to connect to the WebSocket. If the `websocketUrl` setting is missing, we will not attempt to connect.
-
- 01 Feb, 2016 2 commits
-
-
Robert Knight authored
The WebSocket only accepts connections from a whitelist of origins. When connecting to a local H service, provide a useful hint when connections (eg. from a local Chrome extension build with bundled assets) are rejected due to the H service not having the sidebar app's origin whitelisted.
-
Nick Stenning authored
Add YAPF config and docs for automatic formatting of Python source code
-
- 26 Jan, 2016 4 commits
-
-
Nick Stenning authored
Double the truncation threshold height for annotations
-
Nick Stenning authored
Prevent double-posting of new annotations
-
Robert Knight authored
As per https://trello.com/c/7QtpfMB5/ increase the threshold so that only very long annotation bodies are truncated.
-
Robert Knight authored
When the user clicks the 'Post' button to create an annotation, optimistically switch the card back to View mode but display a 'Saving...' indicator in place of the Reply/Edit/Delete links. This makes the UI appear more responsive when the user clicks the Post button and also prevents an issue where the user could click 'Post' multiple times during the save and create multiple annotations. * Fix a possible inconsistency between the 'Post' button's enabled state and whether or not the save() function can succeed. The hasContent() and isShared() methods also already have tests, so this lets us remove several redundant tests. * Fix inconsistency in the return type of the save() function - always return a promise. * Treat negative status values as network errors as well as 0. If the server is unreachable, the real status value may be -1. Fixes #2864
-
- 25 Jan, 2016 2 commits
-
-
Nick Stenning authored
Decouple sidebar app HTML / embed JS template rendering from Pyramid
-
Robert Knight authored
Don't open "welcome page" when installed by admin policy
-
- 22 Jan, 2016 12 commits
-
-
Nick Stenning authored
Decouple the Hypothesis service URL from the app's base URI
-
Robert Knight authored
Make these links work when the app is hosted at a different base URL from the Hypothesis service.
-
Robert Knight authored
Make these links work when the app is hosted at a different base URL from the Hypothesis service.
-
Robert Knight authored
When the Share dialog is hosted in the Chrome extension and the <base> URI is not set to point to the Hypothesis service, the share links need to have a scheme set explicitly.
-
Robert Knight authored
Remove the assumption in the sign-in menu that the baseURI for the page is the same as the Hypothesis service. Also use controllerAs and bindToController for consistency with recently updated directives.
-
Robert Knight authored
Previously the 'New Groups' link opened '/groups/new' in a new window, which only worked if <base> URL matched the URL of the Hypothesis service. Instead explicitly use the serviceUrl from settings. Also remove an empty set of tests for the group list controller. The tests are now all done at the directive level.
-
Robert Knight authored
Previously the URL set as the <base> tag was used indirectly to specify the URL of the Hypothesis service that various links referred to. Make things clearer by adding an explicit 'serviceUrl' attribute to the Hypothesis client settings and use that in place of the baseURI. The custom template whitelist configuration has been removed because all of the templates are embedded in app.html, so the default value of ['self'], allowing templates to be loaded only from the same domain as the page, is fine.
-
Nick Stenning authored
Fix canceling edits reverting to the first-loaded version of an annotation
-
Nick Stenning authored
Extract the login form into its own directive
-
Robert Knight authored
This makes the login form consistent with other recently written components by having the controller and directive in a single file and using an element directive in the main app.
-
Nick Stenning authored
Only show the 'Create Account' banner in the sidebar
-
Nick Stenning authored
Recognize 'group' as a valid parameter name in search queries
-
- 21 Jan, 2016 4 commits
-
-
Nick Stenning authored
Remove the static blocklist
-
Robert Knight authored
The configuration option for defining a static blocklist of sites on which Hypothesis should not load has never been used and we're not anticipating doing so.
-
Nick Stenning authored
Remove the incomplete Firefox extension
-
Robert Knight authored
A recent successful prototype of a Firefox extension based on the new WebExtensions API highlighted that as the way forwards for Hypothesis on Firefox, as it lets us offer feature parity with much easier maintenance. If we decide that we want to support the extension for Firefox pre-45, we may do that by shimming the Chrome APIs using the JPM SDK APIs, similar to what https://github.com/einaregilsson/Redirector have done. This commit removes the legacy incomplete Firefox extension which is missing all of the recent improvements and tests for the Chrome extension.
-