Travis Ralston
5333114d7b
Give a route for retrying invites for users which may not exist
...
Fixes https://github.com/vector-im/riot-web/issues/7922
This supports the current style of errors (M_NOT_FOUND) as well as the errors presented by MSC1797: https://github.com/matrix-org/matrix-doc/pull/1797
2019-01-10 21:43:21 -07:00
Travis Ralston
987ad0b0db
Check if users exist before inviting them and communicate errors
...
Fixes https://github.com/vector-im/riot-web/issues/3283
Fixes https://github.com/vector-im/riot-web/issues/3968
Fixes https://github.com/vector-im/riot-web/issues/4308
Fixes https://github.com/vector-im/riot-web/issues/1597
Fixes https://github.com/vector-im/riot-web/issues/6790
This does 3 things:
* Makes the `MultiInviter` check for a user profile before attempting an invite. This is to prove the user exists.
* Use the `MultiInviter` everywhere to avoid duplicating the logic. Although a couple places only invite one user, it is still worthwhile.
* Communicate errors from the `MultiInviter` to the user in all cases. This is done through dialogs, where some existed previously but were not invoked.
Specifically to the 403 error not working: What was happening was the `MultiInviter` loop was setting the `fatal` flag, but that didn't resolve the promise it stored. This caused a promise to always be open, therefore never hitting a dialog.
2018-11-29 15:05:53 -07:00
Luke Barnard
023daef4b7
Refactor GroupStores into one global GroupStore
...
Take a step closer to a flux-like architecture for group data, for
the purposes of providing features that require it.
Now the app has a single GroupStore that can be poked to fetch
updates for a particular group.
2018-05-01 11:24:17 +01:00
Luke Barnard
7ec4010881
Make GroupStore use MatrixClientPeg
...
To avoid weirdness with using a cached matrix client
2017-11-28 11:54:05 +00:00
Luke Barnard
0799e5cde4
Refresh group member lists after inviting users
2017-10-23 16:04:26 +01:00
David Baker
ddf1017799
Make group invites work
2017-08-16 14:58:30 +01:00
David Baker
81273ec855
Move non-invite specific stuff to UserAddress
2017-08-15 13:42:23 +01:00
David Baker
7cfef04c1f
Remove other promise notify
2017-07-18 11:27:21 +01:00
David Baker
b261c89a63
Fix inviting multiple people to a room
...
Removes the promise notify as bluebird doesn't support it. It's
also not used anywhere now.
Fixes https://github.com/vector-im/riot-web/issues/4614
2017-07-18 11:11:42 +01:00
Richard van der Hoff
0d7cc59d99
replace q method calls with bluebird ones
...
```
find src test -name '*.js' |
xargs perl -i -pe 's/q\.(all|defer|reject|delay|try|isFulfilled)\(/Promise.$1(/'
```
2017-07-12 18:05:40 +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
2fd9e2a98f
Pull out multi-inviting from MultiInviteDialog
...
MultiInviteDialog would otherwise use this, but is about to go away, so it has been left.
2016-09-13 14:47:56 +01:00