Commit Graph

443 Commits (cc241edb4b2fa4da8ab247c75534bd54eac418ab)

Author SHA1 Message Date
Peter Vágner 14991afbe5 Merge branch 'develop' into dialog-a11y 2018-02-06 23:04:15 +01:00
lukebarnard 00dc077271 Remove react-dnd, revert fa14bc9 as no longer needed 2018-01-19 13:34:56 +00:00
lukebarnard 16c13fb079 Replace TagPanel react-dnd with react-beautiful-dnd
This new library handles the simple case of an ordered vertical
(or horizontal) list of items that can be reordered.

It provides animations, handles positioning of items mid-drag
and exposes a much simpler API to react-dnd (with a slight loss
of potential function, but we don't need this flexibility here
anyway).

Apart from this, TagOrderStore had to be changed in a highly
coupled way, but arguably for the better. Instead of being
updated incrementally every time an item is dragged over
another and having a separate "commit" action, the
asyncronous action `moveTag` is used to reposition the tag in
the list and both dispatch an optimistic update and carry out
the request as before. (The MatrixActions.accountData is still
used to indicate a successful reordering of tags).

The view is updated instantly, in an animated way, and this
is handled at the layer "above" React by the DND library.
2018-01-15 18:12:27 +00:00
Matthew Hodgson 76ce40715d bump commonmark dep to try to fix https://github.com/vector-im/riot-web/issues/3428 better 2018-01-07 20:32:57 +00:00
Luke Barnard a8a650c24a Move TagTile to separate file, and make it dragable 2017-12-06 11:25:46 +00:00
Peter Vágner f9b0243c8e Merge branch 'develop' into dialog-a11y 2017-12-06 11:10:18 +01:00
Peter Vágner 4f83f6cf25 Move keyboard focus management back to the BaseDialog rather than
leaving it in the Modal manager.
We are using Modal manager to load other components not just BaseDialog
and its subclasses and they might require different keyboard handling.
Also depend on focus-trap-react rather than react-focus-trap for locking
keyboard focus inside the dialog. The experience is much nicer and even
the FocusTrap element it-self no longer gains the focus.
On a side note using the FocusTrap element outside the dialog (on
its parent) stops it from working properly.
2017-12-05 08:50:40 +01:00
Luke Barnard 1a283f90f5 v0.11.3 2017-12-04 12:24:21 +00:00
Luke Barnard 50e227f5c0 Bump js-sdk dep. to 0.9.2 2017-12-04 12:15:19 +00:00
Peter Vágner 5ccbcf02e2 Several changes improving accessibility of the dialogs
- Wrapped all the modals inside a react-focus-trap component disabling
keyboard navigation outside the modal dialogs
- Disabled our custom key handling at dialog level. Cancelling on esc
key is now handled via FocusTrap component.
- Removed onEnter prop from the BaseDialog component. Dialogs that
submit data all now embed a form with onSubmit handler. And since
keyboard focus is now managed better via FocusTrap it no longer makes
sense for the other dialog types. Fixes
https://github.com/vector-im/riot-web/issues/5736
- Set aria-hidden on the matrixChat outer node when showing dialogs to
disable navigating outside the modals by using screen reader specific
features.
2017-12-03 21:38:21 +01:00
Richard van der Hoff a088e559d1 v0.11.2 2017-11-28 10:25:04 +00:00
David Baker 394e450526 v0.11.1 2017-11-17 16:03:50 +00:00
David Baker 8bd040a443 Released js-sdk 2017-11-17 15:58:05 +00:00
Luke Barnard 6fd09bc09a v0.11.0 2017-11-15 11:01:29 +00:00
Luke Barnard 9df169b500 Bump js-sdk to release 0.9.0 2017-11-15 10:59:06 +00:00
Luke Barnard 07f4d0c304 v0.11.0-rc.3 2017-11-14 14:17:22 +00:00
Luke Barnard 21ead6e48e v0.11.0-rc.2 2017-11-10 16:45:30 +00:00
Luke Barnard 07b6c55982 v0.11.0-rc.1 2017-11-10 13:40:17 +00:00
Luke Barnard b68b60c04c Bump js-sdk dep 2017-11-10 13:37:12 +00:00
Richard Lewis d2070a08d8 Replace 'qs' dep. with 'querystring' 2017-11-10 11:42:56 +00:00
Richard Lewis ca1ffdfa9f Remove unused dep. 2017-11-08 17:39:25 +00:00
Richard Lewis 96de72ab44 Switch to using existing dep "qs" and record in package.json 2017-11-07 12:45:12 +00:00
Richard Lewis 6012b35acf Use querystring lib instead of URLSearchParams 2017-10-31 10:22:58 +00:00
Richard Lewis 355d69b024 Add querystring dep. already used by things like url_utils.js. 2017-10-31 10:15:30 +00:00
Richard Lewis 0a7273bf1d Add URL search paramas polyfill 2017-10-27 16:39:04 +01:00
Richard Lewis f4e3e84765 Merge pull request #1338 from matrix-org/rxl881/parallelshell
Rxl881/parallelshell
2017-10-20 17:11:03 +01:00
Richard Lewis a49eabda4c Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into rxl881/parallelshell 2017-10-19 16:26:22 +01:00
David Baker 8a9de7343c Add script to prune unused translations 2017-10-19 12:11:21 +01:00
David Baker 027a70ffe7 Add gen-i18n as a 'binary'
and add appropriate shebang
2017-10-19 10:51:54 +01:00
David Baker 61b05e7ec3 Add i18n script to package.json 2017-10-19 10:19:43 +01:00
Richard Lewis 9442184d0d Updated parallelshell dep to ^3.0.2 to match riot-web. 2017-10-19 10:18:31 +01:00
David Baker 8370c823b6 Script to generate the translations base file
Also replaces the translations base file with the output of the
script.
2017-10-17 19:19:01 +01:00
David Baker f58d89ef80 v0.10.7 2017-10-16 14:45:14 +01:00
David Baker bcb792a412 Released js-sdk 2017-10-16 14:41:23 +01:00
David Baker 3b515cdebe v0.10.7-rc.3 2017-10-13 16:31:35 +01:00
David Baker b95c2368a6 v0.10.7-rc.2 2017-10-13 15:02:37 +01:00
David Baker 9036f786e7 v0.10.7-rc.1 2017-10-13 11:10:21 +01:00
David Baker 289fc230fe js-sdk rc.1 2017-10-13 11:05:58 +01:00
Luke Barnard 6b9a2909df Add rule to enforce spacing in curly brackets in JSX children
This required an updated in version of eslint-plugin-react to 7.4.0.
2017-09-28 11:21:06 +01:00
David Baker 78e806f7f9 Merge branch 'master' into develop 2017-09-21 21:48:08 +01:00
David Baker 3552f08aad v0.10.6 2017-09-21 21:47:28 +01:00
David Baker daac0ebdc0 js-sdk v0.8.4 2017-09-21 21:43:35 +01:00
David Baker c6e4f606f9 Merge branch 'master' into develop 2017-09-21 18:02:16 +01:00
David Baker 99e4221e61 v0.10.5 2017-09-21 18:01:42 +01:00
David Baker a0b4d8a9f8 Clean on prerelease
To avoid any further problems where we ship build files with the
wrong capitalisation because npm is dumb
2017-09-21 17:39:34 +01:00
David Baker 6c5f4983da v0.10.4 2017-09-20 15:13:20 +01:00
David Baker 22271ced0d released js-sdk 2017-09-20 15:09:14 +01:00
David Baker 620ca5f211 v0.10.4-rc.1 2017-09-19 10:50:34 +01:00
David Baker d992d6937e js-sdk rc.1 2017-09-19 10:47:18 +01:00
David Baker 609d61d53c Revert "Implement sticky date separators" 2017-09-06 17:40:58 +01:00
David Baker 5dfd35f730 Merge branch 'master' into develop 2017-09-06 13:26:34 +01:00
David Baker f5cf2aece2 v0.10.3 2017-09-06 13:25:58 +01:00
David Baker c75bc42585 v0.10.3-rc.2 2017-09-05 13:13:02 +01:00
David Baker c07362d7c1 v0.10.3-rc.1 2017-09-01 16:17:22 +01:00
Luke Barnard a29e7da06b Merge branch 'develop' into luke/feature-sticky-date-separators 2017-08-30 14:06:06 +01:00
Luke Barnard d516906b36 Implement sticky date separators
Use `react-sticky` to implement sticky date separators. This will pin a date separator to the top of the timeline panel when the separator scrolls out of the top of the view.

A known issue of this is that the spinner, which is in line with event tiles in the timeline, will appear to push the stuck date separator down. In reality the first date separator after the spinner is in line with event tiles and is not stuck because the spinner forces the timeline to be scrolled slightly further down than it would be otherwise. But also, date separators in the timeline (not "stuck") have a greater height.

Ideally the date separator would be suppressed whilst back paginating, but this will cause the stuck separator to flicker on and off. This is why the suppression has been removed.
2017-08-30 13:52:46 +01:00
Richard Lewis f39f2e525b Update parallelshell version. 2017-08-25 09:52:44 +01:00
David Baker 0e3ae2fa4f v0.10.2 2017-08-24 14:49:41 +01:00
David Baker 1b75470597 Released js-sdk 2017-08-24 14:48:22 +01:00
David Baker 3581f6edaa v0.10.1 2017-08-23 15:56:09 +01:00
David Baker b8e351f489 Released js-sdk 2017-08-23 15:54:06 +01:00
David Baker 85b609608e v0.10.1-rc.1 2017-08-22 18:53:11 +01:00
David Baker 8312cf6ab2 Temporarily bump version
so we compare to 0.10.0-rc.2 rather than 0.9.7
2017-08-22 18:50:33 +01:00
David Baker 3939d948bf js-sdk v0.10.1-rc.1 2017-08-22 18:43:33 +01:00
Luke Barnard 222aed896f js-sdk #develop 2017-08-16 10:06:50 +01:00
Luke Barnard 8f21ba7f7a js-sdk 0.8.0 2017-08-16 09:37:10 +01:00
Luke Barnard 91c96c1c27 Update draft-js-export-* deps to be compatible with draft-js >0.10.0 2017-08-04 15:08:03 +01:00
Luke Barnard 4f0cf7d6ec Update npm dep of draft-js to 0.11.0-alpha 2017-08-03 11:16:32 +01:00
Luke Barnard 1001c39da9 Upgrade draft-js from 0.8.1 to 0.10.1
This fixes vector-im/riot-web#4675

Some APIs have become deprecated in this version but are still usable ( see https://draftjs.org/docs/v0-10-api-migration.html )
2017-08-01 16:02:28 +01:00
Luke Barnard 0118d880ec Attempt to improve test output to be more readable
- Add "logcapture" reporter to capture logs only for failed tests
 - Add "spec" reporter to show each test status individually
 - Add "summary" reporter to show the total number of successful/failed tests
2017-07-27 14:47:22 +01:00
Richard van der Hoff 4d83150855 Transform `async` functions to bluebird promises
It turns out that the assertion made in
https://github.com/matrix-org/matrix-react-sdk/pull/1213 about `async`
functions returning bluebird promises was only correct when babel used an
inline version of the `asyncToGenerator` helper; in react-sdk we are using
`babel-transform-runtime` which means that we use a separate
`babel-runtime/helpers/asyncToGenerator`, which returns a native (or core-js)
Promise.

This meant that we were still in the situation where some methods returned
native Promises, and some bluebird ones, which is exactly the situation I
wanted to resolve by switching to bluebird in the first place: in short,
unless/until we get rid of all code which assumes Promises have a `done` method
etc, we need to make sure that everything returns a bluebird promise.

(Aside: there was debate over whether in the long term we should be trying to
wean ourselves off bluebird promises by assuming all promises are native. The
conclusion was that the complexity hit involved in doing so outweighed any
benefit of a potential future migration away from bluebird).
2017-07-13 17:10:08 +01:00
Richard van der Hoff a06bd84213 replace imports of `q` with bluebird
update `package.json`

```
find src test -name '*.js' |
   xargs perl -i -pe 'if (/require\(.[qQ].\)/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'

find src test -name '*.js' |
   xargs perl -i -pe 'if (/import [qQ]/) { $_ = "import Promise from '\''bluebird'\'';\n"; }'
```
2017-07-12 18:05:08 +01:00
David Baker 3093f2d6fb Merge pull request #1211 from matrix-org/rav/use_react_test_utils
Use matrix-react-test-utils rather than our own impl
2017-07-12 16:44:25 +01:00
Richard van der Hoff 928287b8fc Bump to matrix-react-test-utils 0.1.1
... because 0.1.0 was broken
2017-07-12 00:02:52 +01:00
Richard van der Hoff ab61b6b1b6 Use matrix-react-test-utils rather than our own impl
waitForRenderedDOMComponentWithTag is now in matrix-react-test-utils.
2017-07-11 23:14:56 +01:00
Michael Telatynski 7473c654d5
use npm scripts arg passing instead of $KARMAFLAGS to make cross-compat 2017-07-11 22:54:18 +01:00
David Baker e242e5e714 Merge pull request #1205 from matrix-org/luke/feature-new-emojis
Bump the dep on emojione to 2.2.7 to add 🦈 and others
2017-07-11 14:13:13 +01:00
Luke Barnard 4766447e15 Bump the dep on emojione to 2.2.7 to add 🦈 and others
Also, re-run node scripts/emoji-data-strip.js to update emoji meta data in src/stripped-emoji.json
2017-07-11 13:48:15 +01:00
Luke Barnard f9ee89b2f4 Merge branch 'develop' into matthew/whitelist-uri-schemes 2017-07-10 15:42:03 +01:00
Kegsay e0e321783b Append the scalar_token to the widget URL if the widget URL is a scalar URL (#1182) 2017-07-06 09:28:48 +01:00
Richard van der Hoff f69033c907 Use headless chrome instead of phantomjs for tests 2017-07-05 14:39:02 +01:00
Luke Barnard 30f80b57f2 Instead of making this part of the build process, let the devs generate stripped-emoji.json
With the expectation that when the file needs to be regenerated to include other keys, the developer will run this script.
2017-06-28 13:28:48 +01:00
Luke Barnard 22ddbc63c3 Make lib dir prior to building
-p option will not error if lib already exists
2017-06-28 11:54:05 +01:00
Luke Barnard 2b8da85726 Strip the emoji meta-data for the data we need
This is done at build time by parsing emojione/emoji.json, stripping it and then writing to ./lib/stripped-emoji.json.
2017-06-28 11:36:19 +01:00
Luke Barnard 8ca3b382ed Use emojione/emoji.json because we don't want two sets of emoji meta 2017-06-28 11:19:16 +01:00
Luke Barnard 9d339b96bd Order emojis by standard ordering, add alternate shortnames
Also, increase the maximum number of emoji shown to 20.
2017-06-27 20:13:48 +01:00
David Baker c0e48c72fc Remove dep on liblevenstein
While we don't actually use it
2017-06-23 18:03:32 +01:00
Luke Barnard 87609582c6 Merge branch 'develop' into rte-fixes2
Conflicts:
	package.json
	src/autocomplete/CommandProvider.js
	src/autocomplete/UserProvider.js
	src/components/structures/RoomView.js
	src/components/structures/UserSettings.js
	src/components/views/rooms/MessageComposerInput.js
2017-06-23 15:30:06 +01:00
David Baker f7aad3c422 v0.9.7 2017-06-22 11:57:27 +01:00
David Baker 6881fdf102 js-sdk 0.7.13 2017-06-22 11:52:13 +01:00
David Baker 529e014739 v0.9.6 2017-06-20 13:08:06 +01:00
David Baker 66c3a6d9ca v0.9.5 2017-06-19 13:09:41 +01:00
David Baker faeb40bc0f Released js-sdk v0.7.12 2017-06-19 12:00:53 +01:00
David Baker 12ad9a2c58 v0.9.5-rc.2 2017-06-16 13:28:49 +01:00
David Baker 82436758b2 v0.9.5-rc.1 2017-06-15 17:17:17 +01:00
David Baker 198d85a673 js-sdk 0.7.12-rc.1 2017-06-15 17:15:26 +01:00
David Baker a5aa497287 v0.9.4 2017-06-14 11:17:00 +01:00
David Baker aef0a8025c v0.9.3 2017-06-12 15:50:37 +01:00
David Baker 29355a610f js-sdk 0.7.11 2017-06-12 15:19:52 +01:00
David Baker 336b10daf1 v0.9.3-rc.2 2017-06-09 22:13:54 +01:00