- 22 Jan, 2016 6 commits
-
-
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
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 6 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.
-
Robert Knight authored
Move configuration of ES index into search
-
Nick Stenning authored
Use raven-js for client-side error capture and reporting
-
- 20 Jan, 2016 1 commit
-
-
Robert Knight authored
The backend already supports searches for 'group:hashid' but this was not supported on the stream because 'group' was not recognized as a valid parameter so it was passed to the backend in the 'any' field.
-
- 14 Jan, 2016 5 commits
-
-
Robert Knight authored
For browsers that support it (currently only Chrome >= 49), catch unhandled promise rejections and report them to Sentry.
-
Robert Knight authored
This also fixes an issue with incorrect subclassing of the base Error type in errors.js
-
Nick Stenning authored
Strip Via prefixes in URL normalization
-
Nick Stenning authored
Add a small hysteresis threshold for annotation quotes
-
Robert Knight authored
If an annotation quote requires 2 or 3 lines of text, it will not be truncated, otherwise it will be truncated to 2 lines.
-
- 13 Jan, 2016 15 commits
-
-
Robert Knight authored
Capture exceptions reported via Angular's $exceptionHandler service and window.onerror and report them via Raven. The client currently uses the same Sentry DSN as the main application, which gets the DSN from the SENTRY_DSN environment variable. * Add a <script> tag to all pages on the site which defines a window.RAVEN_CONFIG variable which provides the DSN and release string needed to configure Raven JS on the client * Configure and setup RavenJS in the main site JS, Chrome extension and the sidebar. For the sidebar, Angular integration is configured using Raven's Angular plugin. * Configure the user ID associated with Sentry reports when the session state is received * Extract the code which builds the sidebar/extension config dictionary out of the template into its own module for easier sharing between the Chrome extension and the sidebar's code.
-
Nick Stenning authored
Implement a hysteresis threshold in excerpts
-
Robert Knight authored
Allow the excerpt's contents to exceed the collapsed height by a threshold set with the 'overflow-hystersis' attribute before the excerpt's contents are truncated. This fixes a problem where the contents of an annotation body could exceed the threshold by only a couple of pixels, resulting in a 'More' link which resulted in only half a line of extra text being revealed.
-
Nick Stenning authored
Fix annotation thread collapsing
-
Sean Hammond authored
-
Sean Hammond authored
-
Sean Hammond authored
This makes it possible to unit test it easily
-
Sean Hammond authored
As far as I can tell this $watch() doesn't do anything. Its purpose appears to be to uncollapse a thread if that thread contains an annotation that's being edited. But after deleting it, that uncollapsing still seems to happen (for example: edit an annotation but don't save or cancel it yet, change to another group, change back to the first group - the thread containing the annotation you were editing is uncollapsed). This code was added before the groups feature existed, so I don't know what use-case it was intended for.
-
Sean Hammond authored
This was broken by all the recent annotation directive refactoring: annotation threads are now shown uncollapsed by default (should be collapsed) and the buttons to collapse/uncollapse them do nothing. vm/ctrl.editing became a method vm/ctrl.editing() but some code in the link function wasn't updated. This fixes them to be collapsed by default and gets the collapse/uncollapse buttons working but I'm not sure if the collapse behaviour is correct with nested threads. Fixes #2823.
-
Nick Stenning authored
Refactor badge count fetching in Chrome extension
-
Robert Knight authored
Paginate groups admin
-
Nick Stenning authored
Add "create account or sign in" banner
-
Nick Stenning authored
Show correct hostname in 'Add to your site' instructions
-
Nick Stenning authored
Fix warnings during client test execution
-
Sean Hammond authored
Also remove the "Sign in / Create an account" tabs from the "sign in" panel. They're no longer needed because the new "To annotate this document create a free account or sign in" banner to the top of the sidebar has both links. Also add a "Sign up" link to the top bar.
-
- 12 Jan, 2016 7 commits
-
-
Robert Knight authored
Faster docker builds
-
Robert Knight authored
Show the annotation's group not the focused group
-
Robert Knight authored
Fill hole in groups dropdown button
-
Sean Hammond authored
Work around a bug in Chrome, see https://gist.github.com/robertknight/8450c09b280564df03f9#file-transform-inline-click-bug-html Fixes #2852.
-
Sean Hammond authored
In AnnotationController use domainModel.group instead of groups.focused() to determine which group to display on the annotation. groups.focused() works fine as long as the group that the annotation belongs to is always the currently focused group. This is true when in the sidebar, but not on the stream or on individual annotation pages. On those pages the most recently focused group the last time the sidebar was shown is displayed on every annotation, instead of the actual groups of the annotations. This means that we now need to update the domainModel.group of new annotations when the focused group changes, to support this use: 1. Create a new annotation but don't click save yet 2. Change the focused group 3. Save the annotation The annotation is correctly saved with the currently (and not the previously) focused group, and also after the focused group the name of the newly focused group is displayed on the annotation before it's saved. Fixes #2839.
-
Robert Knight authored
Merge pull request #2849 from hypothesis/2848-TypeError-Cannot-read-property-show_sidebar_tutorial-of-undefined Don't crash if session.state is {}
-
Robert Knight authored
Fix "angular not defined" crash
-