- 09 May, 2016 10 commits
-
-
Sean Hammond authored
These are used when the datetime in question is more than 24 hours ago but still in the current year, and when it's not in the current year, respectively. They replace a few different datestring formats that were previously being used for datetimes in this range.
-
Sean Hammond authored
This produces "1 days ago" which is wrong, will be fixed later.
-
Sean Hammond authored
-
Sean Hammond authored
-
Sean Hammond authored
-
Sean Hammond authored
-
Sean Hammond authored
In date strings on annotation cards.
-
Sean Hammond authored
In date string formatting functions. Will enable more diverse formatting.
-
Sean Hammond authored
In time.js replace format strings like '{} minutes ago' with functions like nMinutesAgo(delta) that return strings. The format strings only support datetime string formats of the type "n seconds/minutes/hours/days/months/years ago". Although we don't take advantage of it yet with format functions we can format datetime strings any way we want, for example "16 April" for a date more than 24 hours ago or "16 Apr 2016" for a date more than a year ago.
-
Sean Hammond authored
Although we're not taking advantage of it yet, this should allow us to use more complex logic such as "within the current year" to select a date format.
-
- 04 May, 2016 9 commits
-
-
Robert Knight authored
This is the first part of the new threading UI implementation whose design is outlined at https://github.com/hypothesis/h/pull/3176/ build-thread implements the logic for constructing an immutable view model for a list of conversations (a 'Thread') from a list of annotations and replies plus an object describing the current UI state. This view model is then rendered by an <annotation-thread> component. Once the other parts of the new implementation are ready, this will replace 'threading', 'thread-filter' and the JWZ script.
-
Nick Stenning authored
Make nipsa work with Postgres feature flag
-
Nick Stenning authored
Sync PG annotations to ES
-
Robert Knight authored
Using custom element names for the adder's container is a simple trick to reduce the likelihood of the adder's styling being affected by CSS selectors in the containing page, such as example.com's `div` selector.
-
Nick Stenning authored
Remove compass-mixins dependency
-
Nick Stenning authored
Build Firefox WebExtensions during Travis builds
-
Robert Knight authored
This is a global available in the extension and content scripts.
-
Robert Knight authored
* Use wildcard origin when sending messages to or from app.html served from a background page. * In embed.js, access the 'chrome' global via 'chrome' rather than window.chrome. In Firefox the 'chrome' global is not attached to the `window` object. * Work-around difference in how content script results are reported in Firefox (an object) vs Chrome (an array of objects, one per frame). * Avoid trying to call APIs which do not exist in Firefox.
-
Nick Stenning authored
Publish events in response callback
-
- 03 May, 2016 5 commits
-
-
Robert Knight authored
The immediate problem this dependency causes is that it it fails to build with the current version of node-sass (see https://github.com/Igosuki/compass-mixins/issues/84) which in turn means that H cannot be built with Node 6.0. Removing this dependency allows the node-sass dependency to be unpinned so that the current version can be used. The primary functionality that compass-mixins was used for was vendor prefixing, which is now taken care of by autoprefixer, plus CSS fixes for browsers which we no longer support (IE < 10). For the remaining handful of mixins for resets and color mixing which we are still using, this commit just extracts the few lines of code for each from the compass documentation and includes it directly in our SCSS files.
-
Sean Hammond authored
Convert AnnotationViewerController to JS
-
Sean Hammond authored
Show adder if user makes a selection and then launches the plugin.
-
Alice Wyan authored
Clean up reply notifications code
-
Sean Hammond authored
Make client test page load embed from same hostname as test page
-
- 01 May, 2016 1 commit
-
-
- 29 Apr, 2016 5 commits
-
-
Robert Knight authored
-
Robert Knight authored
Try to avoid showing the adder above the selected text where possible by showing the adder above or below the selection depending on whether the selection was made forwards, in which case the focus point is assumed to be at the bottom of the selection, or backwards, in which case the focus point is assumed to be at the top of the selection.
-
Robert Knight authored
If the last line of the selection is very close to the top of the screen then show the adder pointing up at the text rather than down at it. Also constrain the adder's position so that it never appears outside the viewport.
-
Robert Knight authored
Extract the adder styles and logic into separate files for easier testing and extension. Also extract the styling for positioning the arrow out into a a helper class so we can more easily reposition the arrow depending on the available space.
-
If a user selects some text, and then realises that Hypothesis isn't active, their first reaction will probably be to activate Hypothesis. In this scenario, we should pop up the adder near the selection on launch. * If there is a selection when the 'ready' event fires, show the adder at the focus point of the selection. * For consistency, show the adder at the focus point of the selection after a selection whilst Hypothesis is active. * Add 'range-util' module which provides utility functions to get the coordinates at the end of the selection. 'range-util' uses the DOM Range, Selection and NodeIterator APIs directly rather than Annotator's Range functions for several reasons: 1) Given that H now requires IE >= 10, all of our target browsers have all the APIs that we need. 2) Using the DOM APIs directly proved easier to debug and test.
-
- 28 Apr, 2016 3 commits
-
-
Lena authored
Fix front-end build - pin node-sass dependency to v3.4.x
-
Robert Knight authored
Fix build by pinning node-sass dependency (used indirectly via gulp-sass) to v3.4.x until https://github.com/Igosuki/compass-mixins/pull/86 is resolved.
-
Robert Knight authored
Previously the live reload server at http://localhost:3000 hardcoded the embed script to 'http://localhost:5000' which would cause the embed to fail to load if accessing the live reload server via a different IP. This happens when accessing the server through a VirtualBox Guest when using the default networking settings or when accessing it from a say, a mobile device on the same WiFi network as a laptop serving the dev environment. Instead use the same hostname for the live reload WebSocket server and embed script as the client test page is served from.
-
- 27 Apr, 2016 2 commits
-
-
Nick Stenning authored
Update front-end testing dependencies to current versions and switch to mocha reporter
-
Nick Stenning authored
Fix a couple of slow front-end tests and enable slow test reporting
-
- 26 Apr, 2016 5 commits
-
-
Robert Knight authored
-
Robert Knight authored
This should help to catch slow tests in development before they become flakey failures on Travis.
-
Robert Knight authored
* Avoid `assert.includes()` in Bridge test, since this does a deep equality comparison which is much more expensive than necessary (50-60ms to execute on a desktop system with no contention. I think this might explain the very occassional failure seen on Travis). * Use the correct name for the `retries` option in a retryPromiseOperation() test. This test should have failed but because the min timeout value was set so low, the test was taking < 2 seconds to run even though it was retrying 10 times with an expontentially increasing timeout.
-
Robert Knight authored
-
Robert Knight authored
When running tests in `gulp watch` mode, the initial run passed but subsequent changes resulted in an error in the `merge-descriptors` package, related to PhantomJS. I haven't looked deeply into the problem but it does look like a familiar issue related to Proxyquire trying to 'call through' to the original imports in the module. Adding the '@noCallThru' flag in guest-test.coffee resolves the issue.
-