- 21 Jan, 2016 4 commits
-
-
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
-
- 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 9 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
-
Sean Hammond authored
This was preventing the sidebar from loading.
-
Sean Hammond authored
Fixes #2848.
-
- 11 Jan, 2016 6 commits
-
-
Robert Knight authored
Fix #2845 unsafe eval on GitHub
-
Sean Hammond authored
Don't use the node module 'has', it requires 'function-bind' which does the equivalent of an eval() which doesn't work with some Content Security Policies. Fixes #2845.
-
Sean Hammond authored
We don't have (or need) the "isarray" module in our dependencies
-
Sean Hammond authored
-
Robert Knight authored
* Wrap error reporting of sidebar injection failures so that we can stub it during tests and in future get them reported back to us * Silence warnings about WebSocket disconnections during the socket test. * Disallow console warnings during tests. In future it is likely that we may end up wrapping console reporting from the main app in the same way as in the Chrome extension but for the moment it is still useful to log exceptional issues
-
Robert Knight authored
Add a dismissable tutorial in the sidebar
-
- 08 Jan, 2016 1 commit
-
-
Sean Hammond authored
-