- 16 Jun, 2016 3 commits
-
-
Christof Dorner authored
Record approximate time-in-queue info for "realtime"
-
Christof Dorner authored
Add some timers to the streamer code
-
Robert Knight authored
Fixes #3264 with whitespace: no-wrap and flex-shrink: 0
-
- 15 Jun, 2016 7 commits
-
-
Christof Dorner authored
Disable a contradictory pep257 rule
-
Robert Knight authored
Adds hashtag #annotated to web intent
-
Lena Gunn authored
-
Robert Knight authored
When displaying a standalone annotation page for replies, display the entire conversation thread which that reply is in, including the original annotation. Previously standalone annotation pages for replies were broken because only the reply itself was fetched, the the existence of the top-level annotation was inferred from the reply's `references` field but because it was missing, a blank "Message not available" card was shown instead. Showing the entire thread fixes this problem and also allows the user to see the complete context of the conversation. Also refactor the tests to be less tied to the implementation details of the class and expressed more in terms of what the view does from a user's point of view. Fixes #3367
-
Ben Zichettello authored
-
Sean Hammond authored
Add a NIPSA service to replace h.nipsa.logic
-
Nick Stenning authored
Allow admins to toggle specific features for a features cohort
-
- 13 Jun, 2016 9 commits
-
-
Ben Zichettello authored
-
Robert Knight authored
`selections()` tried to listen for a 'ready' event on the DOM Document object. The 'ready' event however is jQuery-specific however so that never gets triggered. Instead change the `selections()` function to perform an initial check for a selection on the next tick and emit a null|DOMRange. Fixes #3452
-
Robert Knight authored
Make the styling of quoted snippets of the page consistent with the styling of block quotes in annotation bodies. The styling for `<del>` and `<ins>` elements in quotes has been removed because it is not currently used. Fixes #3435
-
Nick Stenning authored
Load annotations from DB for /api/search
-
Robert Knight authored
Set the annotation cursor to a pointer for annotation cards to indicate that it is clickable (it scrolls the page to that annotation) except for the body which has a text cursor to indicate that the text is selectable.
-
Robert Knight authored
Several places in the <annotation> component assumed that the `tags` field was an array, as did <tag-editor>. The `tags` and `text` fields are always set by the server for annotations received from the API but are not set by Annotator when creating new annotations in the page. It would be better to initialize all of the required fields for annotations when they are loaded into the app rather than in the <annotation> directive. For now however keep the initialization of all required fields in the same place. This fixes an error when saving new annotations.
-
Christof Dorner authored
Do not use query property in Feature.{all,remove_old_flags}
-
Christof Dorner authored
Do not use query property in Subscriptions.get_subscriptions_for_uri
-
Christof Dorner authored
Remove query property usage in h.groups
-
- 10 Jun, 2016 14 commits
-
-
Nick Stenning authored
Extract tag editor into separate component and update ng-tags-input
-
Robert Knight authored
This fixes some issues with Angular 1.5.x. See https://github.com/mbenford/ngTagsInput/blob/master/CHANGELOG.md Fixes #3324
-
Robert Knight authored
As part of an effort to simplify the <annotation> directive and make testing easier, split this out.
-
Sean Hammond authored
Pg cleanup
-
Robert Knight authored
Add options page to extension, allow disabling badge
-
Robert Knight authored
The idiomatic way to create derived data structures from data in the Redux state store is to do: derivedData = transform(select(store.getState())) Where the `select` function extracts the relevant fields from the state and the `transform` function then computes the derived data. Both `select` and `transform` can be trivially memoized to avoid unnecessary recalculations. This simplifies `root-thread` by avoiding inheritance from EventEmitter and in future will make it easier to avoid rebuilding the thread if none of the relevant application state has changed.
-
Sean Hammond authored
Do not use query property in User.get_by_username
-
Nick Stenning authored
Extract timestamp out into its own component
-
Robert Knight authored
The util.createDirective() test helper assumes that directives have controllers and reports an error if it fails to find one. The simplest solution is just to add no-op controllers to the affected directives.
-
Robert Knight authored
This makes it easier to test the refresh logic directly and decouples it from the rest of the annotation display.
-
Robert Knight authored
This brings support for lifecycle hooks which get called when components are mounted, when their inputs are changed and when they are destroyed. See https://github.com/angular/angular.js/commit/9cd9956d Angular patch releases have historically been pretty safe WRT breaking changes, so this loosens the version strictness slightly.
-
Robert Knight authored
Rather than imperatively adding a 'keydown' event handler in the <annotation> link function, use `ng-keydown` to set up an event handler instead. With this we no longer need a link function.
-
Nick Stenning authored
Persist in-place mutations of annotation tags and extras
-
Sean Hammond authored
Do not use query property in Blocklist model
-
- 09 Jun, 2016 7 commits
-
-
Robert Knight authored
Remove path for local pdf files.
-
Sheetal Umesh Kumar authored
Currently, when annotating a local PDF, the `file://` URL will be submitted to the server. It is not appropriate to submit local file paths to the server. Since entries in document.link should be URIs, omit the URL in the case of local files. https://trello.com/c/K8t2kl9m/331-don-t-save-file-urls-in-document-metadata 53725fd
-
Sean Hammond authored
Do not use query property in Token.get_by_{userid,value}
-
Alice Wyan authored
Add Hypothesis-driven property-based tests for query builder
-
Robert Knight authored
Use PDF fingerprint as primary search URI for PDFs instead of url.
-
Robert Knight authored
The `actual` value is always the first argument to `assert` functions. Also add an explicit separate test that checks that PDFMetadata functions resolve immediately if the document is already loaded.
-
Nick Stenning authored
Consider the following situation: - A PDF with fingerprint (F) exists at multiple URLs (U1, U2, ...) - A user visits the PDF at U1 and annotates it - A second user visits the PDF at U2 Prior to this commit, due to the way document equivalence for PDFs functions, the annotations made at U1 will not be loaded, because the initial search is made for U2 only. (If the second user subsequently makes annotations at U2, and then reloads the page, the annotations made at U1 will then show up, as the association between U2 and F will have been made). This commit improves the situation here by treating the PDF fingerprint as the "primary URI" for the document, much as we treat <link rel="canonical"> URLs as "primary" if we find them in an HTML page. This means that the initial search will be made for the fingerprint F, which will match the annotations made at U1. For more, see: https://trello.com/c/DVUemKwi/329-use-pdf-fingerprint-as-primary-search-uri-for-pdfs
-