Commit graph

452 commits

Author SHA1 Message Date
Luke Barnard
6ec9e5f670
Merge pull request #1866 from matrix-org/luke/luke/group-store-refactor
Refactor GroupStores into one global GroupStore
2018-05-01 12:33:06 +01: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
David Baker
025bffb4e9 Merge remote-tracking branch 'origin/dbkr/fix_session_restore_fail_dialog_ux' into dbkr/bug_report_dialog_basedialog 2018-04-30 16:20:12 +01:00
David Baker
e28a927da9 lint 2018-04-30 14:34:14 +01:00
David Baker
c3420c37fd Indentation 2018-04-30 14:25:42 +01:00
David Baker
54cccab0c7 Factor out clearStorageButton 2018-04-30 14:22:18 +01:00
David Baker
5d46efc3e8 Get docs right on hasCancel 2018-04-30 14:17:21 +01:00
David Baker
dcaacfd204 Merge remote-tracking branch 'origin/develop' into dbkr/fix_session_restore_fail_dialog_ux 2018-04-30 14:06:32 +01:00
David Baker
a9b6db3f2e Lint 2018-04-30 13:41:04 +01:00
David Baker
37cb8abf13 Fix UX issues with bug report dialog
* Make it use BaseDialog / DialogButtons (also gives it has a top-right 'x' &
   escape to cancel works)
 * Stop misusing the 'danger' CSS class on the buttons. There is nothing dangerous
   about submitting logs.
 * Continued campaign against 'Click here' links.

Fixes https://github.com/vector-im/riot-web/issues/6622
2018-04-30 13:39:46 +01:00
David Baker
fc136607f1 UI fixes in SessionRestoreErrorDialog
* Make the 'delete my data' button not the default
 * Make it red
 * Give it a confirmation dialog
 * Remove the 'cancel' button: what does it mean to cancel an error?
   In this case, it tried again and almost certainly got the same error.
 * Remove the top-right 'x' and don't cancel on esc for the same reason.
 * Move 'send bug report' to a button rather than a 'click here' link
 * Add a 'refresh' button which, even if it's no more likely to work,
   will at least look like it's doing something (it's mostly so if you
   don't have a bug report endpoint, there's still a button other
   than the one that deletes all your data).
2018-04-30 13:39:46 +01:00
David Baker
873993a7ca Clarify, hopefully 2018-04-27 17:56:33 +01:00
David Baker
d3c368e19f typo 2018-04-27 17:53:11 +01:00
David Baker
27b18c457e Lint 2018-04-27 15:56:28 +01:00
David Baker
6d9e07580b UI fixes in SessionRestoreErrorDialog
* Make the 'delete my data' button not the default
 * Make it red
 * Give it a confirmation dialog
 * Remove the 'cancel' button: what does it mean to cancel an error?
   In this case, it tried again and almost certainly got the same error.
 * Remove the top-right 'x' and don't cancel on esc for the same reason.
 * Move 'send bug report' to a button rather than a 'click here' link
 * Add a 'refresh' button which, even if it's no more likely to work,
   will at least look like it's doing something (it's mostly so if you
   don't have a bug report endpoint, there's still a button other
   than the one that deletes all your data).
2018-04-27 12:38:49 +01:00
David Baker
0323f8ed0c Wrap exception handling around all of loadSession
The user might (probably does) have a session even if we haven't actually tried
to load it yet, so wrap the whole loadSession code in the error handler we were
using for restoring sessions so we gracefully handle exceptions that happen
before trying to restore sessions too.

Remove the catch in MatrixChat that sent you to the login screen.  This is
never the right way to handle an error condition: we should only display the
login screen if we successfully determined that the user has no session, or
they explicitly chose to blow their sessions away.
2018-04-27 11:25:13 +01:00
David Baker
db1401f484 Pass false to onFinished from BaseDialog
Everywhere else, onFinished takes a boolean indicating whether the
dialog was confirmed on cancelled, and had function that were
expecting this variable and getting undefined.
2018-04-27 11:19:14 +01:00
David Baker
f70096b8fa Fix error handling on session restore
Fix a number of failures that meant the excellent error handling
we had for failing to restore a session didn't work.

1. .catch on the promise rather than try/catch: it's async
2. Explicit cancel method in SessionRestoreErrorDialog that invokes
   onFinished with `false` because even with the catch fixed, this
   was getting the event as its first arg which is truthy, so
   clicking cancel still deleted your data.
3. DialogButtons: Don't pass onCancel straight into the button event
   handler as this leaks the MouseEvent through as an argument.
   Nothing is using it and it exacerbates failures like this
   because there are surprise arguments.

Fixes https://github.com/vector-im/riot-web/issues/6616
2018-04-26 17:07:58 +01:00
Matthew Hodgson
ce809e16d9 fix i18n thinko on createTrackedDialog 2018-04-17 16:51:17 +01:00
Matthew Hodgson
cb5ff404e1 fix missing i18n 2018-04-15 23:16:31 +01:00
Matthew Hodgson
13765632e9 use new rageshake location 2018-04-13 01:36:41 +01:00
Matthew Hodgson
40a67ca8fe point imports at the new locations 2018-04-13 00:43:44 +01:00
Matthew Hodgson
8ab8f76254 move non-Riot-specific components over from riot-web 2018-04-11 23:58:04 +01:00
Luke Barnard
b80568b1c5 Wrap GeminiScrollbar in a component, enabled forceGemini
Fixes https://github.com/vector-im/riot-web/issues/6294
2018-03-27 13:04:26 +01:00
David Baker
580b68a1b6
Merge pull request #1652 from pvagner/dialog-a11y
Dialog a11y
2018-03-20 11:35:57 +00:00
Luke Barnard
a95f6a9804 Implement transparent RoomTile for use in some places
where a transparent appearance is required (i.e. in MemberInfo
or ChatCreateOrReuseDialog)
2018-03-05 12:36:02 +00:00
Peter Vágner
5e9368e794 Add comments explaining our non standard usage of aria-described-by 2018-02-12 21:13:53 +01:00
Peter Vágner
8f97e9479d Ooops, restore a bit of RoomCreateDialog content I have accidentally
removed while trying to solve merge conflicts (thx @dbkr)
2018-02-08 21:16:57 +01:00
lukebarnard
c1649d1b75 Give dialogs a matrixClient context
Dialogs are mounted outside of the main react tree of MatrixChat,
so they won't have its child context.
2018-02-07 09:45:36 +00:00
Peter Vágner
14991afbe5 Merge branch 'develop' into dialog-a11y 2018-02-06 23:04:15 +01:00
David Baker
6162c0b360 Fix key bindings in address picker dialog
Another regression from https://github.com/matrix-org/matrix-react-sdk/pull/1674

Fixes https://github.com/vector-im/riot-web/issues/5994
2018-02-06 15:01:14 +00:00
Michael Telatynski
2705397bf6 Add local GID==='' check, because Synapse says Group rather than Community
Reset createError when doing check because it is now stale

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-20 13:16:33 +00:00
David Baker
99a72b5b2b Fix autofocus broken in https://github.com/matrix-org/matrix-react-sdk/pull/1674
'focus' attribute was on the wrong thing
2018-01-12 10:52:51 +00:00
David Baker
aa5d42d045 Remove spurious dot 2018-01-12 10:32:36 +00:00
David Baker
292a6c5767
Merge pull request #1674 from aidalgol/rebase-dialogs
Normalise dialogs
2018-01-11 10:49:40 +00:00
David Baker
4c101628b5 Add 'send without verifying' to status bar
Fixes other part of https://github.com/vector-im/riot-web/issues/5936
2018-01-09 13:52:37 +00:00
Aidan Gauland
35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Aidan Gauland
9531b219d2 Remove unused imports 2017-12-26 12:53:01 +13:00
Aidan Gauland
e6dbc3b863 Use DialogButtons in UnknownDeviceDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
2674fcb6d3 Use DialogButtons in TextInputDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
a11146f39d Use DialogButtons in SessionRestoreErrorDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
93b789438b Use DialogButtons in ConfirmUserActionDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
7a761dbf6b Use DialogButtons in ChatCreateOrReuseDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
aecb4650bc Correct order of buttons in CreateGroupDialog
We can't use DialogButtons because the primary button is an <input> element.
2017-12-23 17:02:19 +13:00
Aidan Gauland
c863dbfc76 Use DialogButtons in CreateRoomDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
0f6125e749 Use DialogButtons in AddressSelector
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
3b2c61e456 Use DialogButtons in QuestionDialog
Use DialogButtons to eliminate duplicate button code.
2017-12-23 17:02:19 +13:00
Aidan Gauland
9ebd58852c Rebase DeactivateAccountDialog on BaseDialog 2017-12-23 17:02:19 +13:00
Aidan Gauland
c5284eb070 Allow BaseDialog to take a class for the title <div>
Some dialogs need to set additional classes on the `mx_Dialog_title` `div`
element (for example `danger`).
2017-12-23 17:02:19 +13:00
Aidan Gauland
8bb16466d6 Rebase AddressSelector on BaseDialog 2017-12-23 17:02:19 +13:00