Commit graph

839 commits

Author SHA1 Message Date
Will Hunt
5206c9d18b Show a warning if the user attempts to leave a room that is invite only 2018-01-19 22:52:43 +00:00
lukebarnard
00dc077271 Remove react-dnd, revert fa14bc9 as no longer needed 2018-01-19 13:34:56 +00:00
Matthew Hodgson
a233af67ea initial pseudocode WIP for e2e online backups 2018-01-15 02:02:48 +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
Matthew Hodgson
fa14bc9b8d don't gutwrench 2017-12-18 22:49:23 +00:00
Matthew Hodgson
e65c67ca15 fix https://github.com/vector-im/riot-web/issues/5841 2017-12-18 22:47:28 +00:00
Luke Barnard
8b11b10531 Avoid NPEs by using ref method for collecting loggedInView in MatrixChat 2017-12-15 15:24:37 +00:00
Luke Barnard
9975941f3c
Merge pull request #1653 from matrix-org/luke/feature-ordered-tag-panel
DnD Ordered TagPanel
2017-12-14 10:36:16 +00:00
David Baker
bb9376098a
Merge pull request #1654 from matrix-org/dbkr/crypto_store_migrate_warning
Warn when migrating e2e data to indexeddb
2017-12-08 16:52:05 +00:00
David Baker
0d38e7510d
Merge pull request #1600 from matrix-org/dbkr/udd_no_auto_show
Don't Auto-show UnknownDeviceDialog
2017-12-08 16:33:25 +00:00
Luke Barnard
8f0774496f Remove redundant MatrixChat 2017-12-08 11:29:21 +00:00
David Baker
aa99b898ce Add that it might not work now either
also a comma
2017-12-06 18:57:48 +00:00
David Baker
4462694438 lint 2017-12-06 16:06:33 +00:00
David Baker
65c210cdde Warn when migrating e2e data to indexeddb 2017-12-06 15:28:20 +00:00
Luke Barnard
7e1f1cdbd9 Move DragDropContext to wrap LoggedInView
Becuase the tests rely on being able to inspect the state of MatrixChat
2017-12-06 15:01:16 +00:00
Luke Barnard
7aa5dcef69 Move DragDropContext to wrap entire app 2017-12-06 13:10:58 +00:00
Luke Barnard
a8594a58e5 Allow guest to see MyGroups, show ILAG when creating a group 2017-11-28 13:32:46 +00:00
Travis Ralston
33a3b07d88 Pull the theme through the default process
This is to ensure the `config` level is respected.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-16 20:52:12 -07:00
David Baker
196eafdc7f Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-16 15:59:16 +00:00
Luke Barnard
b54e563cb6 Merge branch 'develop' into luke/linting-keyword-spacing 2017-11-16 13:23:42 +00:00
Luke Barnard
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
Travis Ralston
022e40a127 Use SettingsStore for default theme
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-15 19:04:49 -07:00
David Baker
f8fc6dc83e Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-15 12:11:33 +00:00
Matthew Hodgson
060a890275
Merge pull request #1516 from turt2live/travis/granular-settings
Granular settings
2017-11-15 10:55:55 +00:00
Matthew Hodgson
e91e94fd42 fix unstyled CSS bug https://github.com/vector-im/riot-web/issues/5601 2017-11-15 09:56:44 +00:00
Travis Ralston
bd4102eb3d Merge branch 'develop' into travis/granular-settings 2017-11-14 19:12:48 -07:00
Matthew Hodgson
546b062d82 automatically and correctly retint when changing theme 2017-11-15 01:45:51 +00:00
Matthew Hodgson
7c98558b6a fix neglible race when loading CSS 2017-11-14 16:07:48 +00:00
Matthew Hodgson
1fd7ac30e4 turns out i made up the .complete property on link elements 2017-11-14 16:04:11 +00:00
Matthew Hodgson
8d6e3dd27d fix lint 2017-11-14 15:37:03 +00:00
Matthew Hodgson
dcfbe93409 fix race when loading CSS
fixes https://github.com/vector-im/riot-web/issues/5590
2017-11-14 15:28:34 +00:00
Travis Ralston
0648b3eae7 Merge branch 'develop' into travis/granular-settings 2017-11-13 12:29:36 -07:00
Travis Ralston
c5c346f0b7 Merge branch 'develop' into travis/granular-settings 2017-11-13 12:18:41 -07:00
David Baker
0659ac1ccb Merge remote-tracking branch 'origin/develop' into dbkr/udd_no_auto_show 2017-11-13 17:45:57 +00:00
Matthew Hodgson
a0cdaf29f9 Merge remote-tracking branch 'origin/develop' into matthew/status 2017-11-10 15:29:42 -08:00
Luke Barnard
0d174ffe9a Fix tests 2017-11-10 11:13:52 +00:00
Luke Barnard
f4428267a1 Refactor onboarding redirect, add groups to the onboarding starters 2017-11-10 10:51:28 +00:00
David Baker
b1ec430523 Remove now-unused dispatches 2017-11-09 16:09:12 +00:00
David Baker
820d9c1c25 Show staus bar on Unknown Device Error
Don't pop up the dialog as soon as we can't send a message.

Also removes dispatches used to keep the RoomStatusBar up to date.
We can get the same events straight from the js-sdk via the
pending events event.
2017-11-09 15:58:15 +00:00
Travis Ralston
f7da5836e1 Make blacklistUnverifiedDevices override the level order
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-08 17:41:32 -07:00
Matthew Hodgson
58ee4d0a76 rewrite the tinter to be ES6, and correctly cache fixups per theme 2017-11-08 06:55:07 -08:00
Matthew Hodgson
e729bc431d Merge remote-tracking branch 'origin/develop' into matthew/status 2017-11-08 04:29:52 -08:00
Travis Ralston
289b0c2b6a
Merge branch 'develop' into travis/granular-settings 2017-11-07 14:55:12 -07:00
Luke Barnard
36cd22663a Open group settings when the group is created 2017-11-06 18:02:50 +00:00
Travis Ralston
781b94c8f4 Appease the linter
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-05 15:37:06 -07:00
Travis Ralston
10519f9465 Fix the tests
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-05 14:56:41 -07:00
Travis Ralston
3958e32672 Ensure blacklistUnverifiedDevices persists reloads
Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-11-04 20:13:23 -07:00
Matthew Hodgson
68115f5b9c tint when theming correctly 2017-11-05 00:40:38 +00:00
Matthew Hodgson
e72e30197a calculate new CSS tinting when we change theme 2017-11-04 23:50:57 +00:00
Travis Ralston
0d3f0eaf98 Convert local settings to granular settings
This breaks language selection.

Signed-off-by: Travis Ralston <travpc@gmail.com>
2017-10-29 16:53:00 -06:00
David Baker
858c3a2548 Merge remote-tracking branch 'origin/develop' into matthew/status 2017-10-27 18:59:57 +01:00
Matthew Hodgson
ac7a94afb2 apply theme tint at launch 2017-10-26 01:43:42 +01:00
Luke Barnard
2f8f2ce76e Swap from ui_opacity to panel_disabled
to simplify the process of disabling panels in the UI.
2017-10-25 11:23:51 +01:00
Matthew Hodgson
37fd19290f concept of default theme 2017-10-20 18:42:29 +01:00
Michael Telatynski
7492f2dffa
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into set_default_federate_by_settings 2017-10-04 22:35:29 +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
Luke Barnard
e9fb5712bd Merge branch 'develop' into dbkr/group_userlist 2017-09-19 13:26:55 +01:00
David Baker
1f837d2ae1 Make /join join again
The auto_join parameter to view_room got broken at some point so
/join took you to the room and then sat there like a lemon.

Fixes https://github.com/vector-im/riot-web/issues/5029
2017-09-14 23:06:00 +01:00
David Baker
3c3328c5f1 Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-09-13 16:34:39 +01:00
Matthew Hodgson
0e8bd856bc remove obsolete this._roomViewStoreToken.remove(); 2017-09-08 20:14:27 +02:00
David Baker
663dc3e513 Don't re-render matrixchat unnecessarily
...on room switch. We were setting most of the state in viewRoom,
but getting the current room ID from the RoomViewStore, but this
meant we did one setState from the RoomViewStore updating,
re-rendered and then setState again in viewRoom causing another
render. This just sets the room ID in viewRoom.
2017-09-08 18:56:57 +01:00
David Baker
d86fe0df6e Merge remote-tracking branch 'origin/develop' into dbkr/group_userlist 2017-08-29 13:29:55 +01:00
David Baker
299db845ff PR feedback 2017-08-25 12:10:13 +01:00
Richard van der Hoff
b65e1769d7 Dispatch incoming_call synchronously
- this should fix a race where if the 'hangup' arrives hard on the tail of the
Call.incoming, we don't ignore it.

(We still have a problem in that we blip the hangup tone and UI, but that is
arguably a separate problem)
2017-08-24 13:05:17 +01:00
Michael Telatynski
bdb2d6b475
Merge remote-tracking branch 'remotes/origin/develop' into set_default_federate_by_settings
# Conflicts:
#	src/components/structures/MatrixChat.js
2017-08-17 13:39:19 +01:00
Michael Telatynski
ca5e26744f
Make dialog more specific and hide options behind advanced spoiler 2017-08-17 13:33:07 +01:00
David Baker
ddf1017799 Make group invites work 2017-08-16 14:58:30 +01:00
David Baker
252ab208e4 Merge pull request #1300 from matrix-org/dbkr/userpicker
Refactor ChatInviteDialog to be UserPickerDialog
2017-08-16 14:29:07 +01:00
David Baker
e1ddd3781d Merge branch 'dbkr/userpicker' into dbkr/group_userlist 2017-08-15 14:10:45 +01:00
David Baker
1b66e88b6e ChatInviteDialog -> UserPickerDialog pt 2
The other changes I forgot to add
2017-08-14 17:43:00 +01:00
Luke Barnard
2844b574d5 Re-add useful comment 2017-08-14 14:41:03 +01:00
Luke Barnard
b59de7964c Wait for first sync before dispatching view_user on /user
the RightPanel will be mounted once we're done doing the first sync, so wait until then and then dispatch a view_user. This is not very nice but it's what we do for view_room.
2017-08-14 14:37:49 +01:00
Luke Barnard
d9e8292a5e Revert "At /user, view member of current room" 2017-08-14 14:06:54 +01:00
David Baker
02217c8bd2 Merge pull request #1290 from matrix-org/luke/fix-user-url-no-middle-panel
At /user, view member of current room
2017-08-11 10:49:22 +01:00
Luke Barnard
89254e77f4 When no member, use null roomId 2017-08-10 15:23:14 +01:00
Michael Telatynski
b19c1010aa
Merge branches 'develop' and 't3chguy/i18n_analytics' of github.com:matrix-org/matrix-react-sdk into t3chguy/i18n_analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/Analytics.js
2017-08-10 13:54:55 +01:00
Michael Telatynski
24599ace32
don't track error messages
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-10 13:49:11 +01:00
Luke Barnard
07633fe67f At /user, view member of current room
With the fallback of existing behaviour, which is UserView (no middle panel and no avatar, display name).

To improve, MemberInfo should probably track the current roomId and userId and then update the view asynchronously by re-fetching the member object when either roomId or userId change.

Also, it should be hitting the profile API to get the user's avatar if a room hasn't been specified.
2017-08-10 13:12:50 +01:00
Richard van der Hoff
38114711fd Make MatrixChat do fewer render cycles during mount
This is mostly with the intent of making the login tests more reliable, but it
seems generally worthwhile:

* keep screenAfterLogin in the object props rather than `state` so that we can
  clear it without triggering a rerender

* also move our record of the window width to the object props, and call
  `handleResize` from componentWillMount rather than componentDidMount so that
  we don't trigger a rerender by updating `state.width`

* Remove update of unused `loading` state
2017-08-08 22:31:40 +01:00
Michael Telatynski
6e39e72849
fix m.federate always being false because value is a string. Y HTML...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-02 14:00:24 +01:00
Michael Telatynski
4b4b730233
fix and i18n the impl
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-08-02 13:41:26 +01:00
Michael Telatynski
fd454b476a
Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into set_default_federate_by_settings 2017-08-02 12:15:00 +01:00
Michael Telatynski
bf98c0da7c
un-i18n Modal Analytics
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-07-27 17:19:18 +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
0254d2b3a2 q(...) -> Promise.resolve
```
find src test -name '*.js' | xargs perl -i -pe 's/\b[qQ]\(/Promise.resolve(/'
```
2017-07-12 18:05: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
29990296d2 Lint 2017-07-11 11:02:23 +01:00
David Baker
925d5bd480 Add featured users to Group View 2017-07-10 19:32:02 +01:00
David Baker
a2ff289ed8 Add 'groups' page 2017-06-28 13:56:18 +01:00
David Baker
6c9716637e Fix linting errors 2017-06-27 13:13:00 +01:00
David Baker
09b1012388 Merge remote-tracking branch 'origin/develop' into erikj/group_server 2017-06-26 17:49:06 +01:00
David Baker
8f3eb89f8b Fix potential race in setting client listeners 2017-06-23 10:48:21 +01:00
David Baker
75ef80ecd4 Merge remote-tracking branch 'origin/develop' into erikj/group_server 2017-06-23 09:51:24 +01:00
David Baker
ac3e039e2a Merge pull request #1019 from matrix-org/t3chguy/updating_stuff
manual check for updates
2017-06-22 17:36:55 +01:00
Richard van der Hoff
fcd945afc2 Fix an incorrect console error
... this error is thrown when registering as guest or loading from
localstorage, not when using tokenparams.
2017-06-22 15:08:30 +01:00
David Baker
72e73c05ac Merge pull request #1127 from matrix-org/t3chguy/reset_favicon_on_logout
reset page subtitle and favicon on_logged_out
2017-06-21 14:58:26 +01:00
David Baker
9ef9d09d44 Fix another race with first-sync
Set the first sync variables in onWillStartClient, as they race if
set on logged in (similar fix to https://github.com/matrix-org/matrix-react-sdk/pull/1124)
2017-06-21 11:27:18 +01:00
Michael Telatynski
7f6a252bcb Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/reset_favicon_on_logout 2017-06-20 18:39:59 +01:00
Richard van der Hoff
cd73139af5 Various logging cleanups
* don't just log errors without any context as to where they came from or what
   they mean
 * avoid the use of '%s' and multi-argument console.log because it looks awful
   under karma.
2017-06-20 17:38:02 +01:00
Michael Telatynski
b712a15a14 move in case it is racey ---- somehow?
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-20 16:15:42 +01:00
Michael Telatynski
04aed416d2 Merge branches 'develop' and 't3chguy/reset_favicon_on_logout' of github.com:matrix-org/matrix-react-sdk into t3chguy/reset_favicon_on_logout
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

# Conflicts:
#	src/components/structures/MatrixChat.js
2017-06-20 15:37:05 +01:00
Michael Telatynski
5460b0f5b2 reset page subtitle on_logged_out
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-20 15:31:12 +01:00
David Baker
a2dc17256a Merge remote-tracking branch 'origin/develop' into t3chguy/updating_stuff 2017-06-20 13:44:27 +01:00
Richard van der Hoff
0c431887b0 Merge pull request #996 from matrix-org/rav/handle_received_room_key_requests
Pop up a dialog when we get a room key request
2017-06-20 13:20:58 +01:00
David Baker
e15aedfeb2 Fix another infinite spin on register
Don't set ready on logging_in, set it before we start the client,
as commented
2017-06-20 12:03:37 +01:00
Richard van der Hoff
a0534e7477 Merge branch 'develop' into rav/handle_received_room_key_requests 2017-06-20 00:25:14 +01:00
Richard van der Hoff
3a6dabdc08 Merge pull request #1116 from matrix-org/rav/no_more_guestcreds
Get rid of guestCreds
2017-06-19 14:34:12 +01:00
Richard van der Hoff
a5d65ee391 Get rid of guestCreds
-- we just keep the MatrixClient running in the background, so it is easy to
resume.
2017-06-19 10:36:25 +01:00
Richard van der Hoff
3b518f2c59 Fix race in registration for pusher config
we no longer immediately create the MatrixClient, so don't assume we do.
2017-06-19 10:22:18 +01:00
Richard van der Hoff
115a3deed9 Merge pull request #1102 from matrix-org/rav/refactor_matrixclient_states
Refactor the state machine in MatrixChat
2017-06-19 08:53:50 +01:00
Richard van der Hoff
cb29d92912 Merge pull request #1110 from matrix-org/rav/fix_token_redirect
Avoid transitioning to loggedIn state during token login
2017-06-19 08:52:22 +01:00
Michael Telatynski
7b4cd31124 make forward_message be friendly with the RVS stuffs
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-16 16:12:52 +01:00
Richard van der Hoff
db3d9c0573 Make Lifecycle.loadSession return an explicit result
- rather than inferring it from the fact it didn't call logging_in.
2017-06-16 15:23:09 +01:00
Richard van der Hoff
5f689b7929 Merge branch 'rav/fix_token_redirect' into rav/refactor_matrixclient_states_tmp 2017-06-16 15:20:47 +01:00
Richard van der Hoff
eb1fc9ae2d Avoid transitioning to loggedIn state during token login
Fixes riot-web#4334

When we do a token login, don't carry on with the normal app startup
(transitioning to the loggedIn state etc) - instead tell the app about the
successful login and wait for it to redirect.

Replace onLoadCompleted with onTokenLoginCompleted so that the app can see what
it's supposed to be doing.
2017-06-16 15:05:53 +01:00
David Baker
236cf1efb2 Merge remote-tracking branch 'origin/develop' into erikj/group_server 2017-06-16 14:19:54 +01:00
Richard van der Hoff
3884c5ccf0 Log an error on unknown state instead of throwing 2017-06-16 11:51:12 +01:00
Richard van der Hoff
5e5639b730 Fix half-written comment 2017-06-16 11:50:53 +01:00
Luke Barnard
82b2da7833 Correctly inspect state when rejecting invite
So that we view_next_room if we're looking at the room we're rejecting
2017-06-16 11:27:47 +01:00
Richard van der Hoff
7b526308fd Rearrange MatrixChat.render for sanity
no-op to make it into a nice simple switch-like arrangement
2017-06-15 17:57:24 +01:00
Richard van der Hoff
90213ce72e MatrixChat: Replace state.{loading,loggedIn,loggingIn} with views
MatrixChat is essentially a glorified state machine, with its states partially
determined by the loading, loggedIn and loggingIn state flags. If we actually
make each of the states implied by those flags an explicit 'view', then
everything gets much clearer.
2017-06-15 17:57:24 +01:00
Richard van der Hoff
ce42a9a06f Replace MatrixChat.state.screen with 'view'
'screen' is overloaded, as it us used for the parameter of `showScreen` (and,
by implication, `state.screenAfterLogin`). Attempt to clear up the confusion by
replacing 'screen' with 'view' and using some constants for the potential
values.

This should be a no-op!
2017-06-15 16:41:17 +01:00
David Baker
8f9bf5f093 Merge branch 'develop' into erikj/group_server 2017-06-15 14:19:46 +01:00
Richard van der Hoff
65f351ff22 Clear Lifecycle.RtsClient on MatrixChat.mount
- otherwise it ends up sitting around and failing later tests.
2017-06-15 02:15:13 +01:00
Richard van der Hoff
498ea53995 Don't create a guest login if user went to /login
This fixes an unintuitive behaviour where, if you follow a link to
riot.im/app/#/login, we take you to the login page, but not before we've
registered a guest account (or restarted the MatrixClient with the stored
creds).

This actually ends up simplifying some of the startup dance, as we special-case
the registration flows earlier on.
2017-06-14 11:02:38 +01:00
Richard van der Hoff
9e70884415 Merge pull request #1085 from matrix-org/rav/clear_storage_on_login
Clear persistent storage on login and logout
2017-06-14 10:34:26 +01:00
Richard van der Hoff
68e1a7be74 Clear persistent storage on login and logout
Make sure that we don't end up with sensitive data sitting around in the stores
from a previous session.
2017-06-13 12:51:47 +01:00
Richard van der Hoff
1ea9ed5d8c remove RoomViewStore listener from MatrixChat on unmount
... to avoid spurious warnings from the tests.
2017-06-13 12:39:26 +01:00
Richard van der Hoff
cc74a09abd Remove start_upgrade_registration dispatch handler
This dispatch is no longer raised anywhere, so we may as well get rid of the
code that it executes, as well as the state which is only set there.
2017-06-12 08:38:29 +01:00
Richard van der Hoff
56efe7d2f2 Merge pull request #1064 from matrix-org/rav/delinting
Delinting
2017-06-12 08:34:58 +01:00
Michael Telatynski
1069bd33f0 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/updating_stuff
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 23:21:50 +01:00
Michael Telatynski
6ead97c7a6 change interface to UpdateCheckBar and change launching mechanism
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-11 19:12:40 +01:00
Luke Barnard
ecc8abbfc9 When ChatCreateOrReuseDialog is cancelled by a guest, go home 2017-06-09 13:46:45 +01:00
David Baker
924c08b143 Merge pull request #1067 from matrix-org/luke/fix-forgetting-last-room
Goto /home when forgetting the last room
2017-06-09 11:03:14 +01:00
Luke Barnard
19bb879fbf Handle only 1 room in the list 2017-06-09 10:54:42 +01:00
Luke Barnard
c7229967a6 Goto /home when forgetting the last room 2017-06-09 10:28:45 +01:00
Luke Barnard
a21b6e61a6 Default to home page when settings is closed
If the current room isn't set.
2017-06-09 10:08:26 +01:00
Richard van der Hoff
105c6b2b87 delint MatrixChat
once more. with feeling.
2017-06-09 03:09:03 +01:00
Luke Barnard
5588e115eb Clarify doc for highlighted 2017-06-08 17:57:37 +01:00
Luke Barnard
9892566007 Highlighted means highlighted 2017-06-08 17:54:41 +01:00
Luke Barnard
2e82bf40fb Explain setting of highlighted in room/$eventId showScreen handling. 2017-06-08 15:34:20 +01:00
Luke Barnard
8ddc38c9b1 Doc _viewRoom highlighted 2017-06-08 15:32:31 +01:00
Luke Barnard
aa20ad706e Remove redundant currentRoomAlias 2017-06-08 15:30:43 +01:00
Luke Barnard
ea97d16aa2 Merge branch 'develop' into luke/fix-event-id-state
Conflicts:
	src/components/structures/MatrixChat.js
2017-06-08 14:33:58 +01:00
Luke Barnard
f320f7d475 Remove redundant action id 2017-06-08 14:30:45 +01:00
Luke Barnard
d3cf78ff5a Control currently viewied event via RoomViewStore
Fix for https://github.com/vector-im/riot-web/issues/4224

Due to the way `MatrixChat` does a state update when the `view_room` dispatch fires and a second update when `RoomViewStore` sends an update, the current event ID and room ID were becoming out of sync. The solution devised was to have the event ID managed by the `RoomViewStore` itself and do any defaulting there (for when we revisit a room that we saved scroll state for previously).

This required a few changes:
 - The addition of `update_scroll_state` in `RoomViewStore` allows the `RoomView` to save scroll state for a room before swapping to another one. Previously the caching of scroll state was done in `RoomView`.
 - The `view_room` dispatch now accepts an `event_id`, which dictates which event is supposed to be scrolled to in the `MessagePanel` when a new room is viewed. It also accepts `event_offset`, but currently, this isn't passed in by a dispatch in the app, but it is clobbered when loading the default position when an `event_id` isn't specified. Finally, `highlighted` was added to distinguish whether the initial event being scrolled to is also highlighted. This flag is also used by `viewRoom` in `MatrixChat` in order to decide whether to `notifyNewScreen` with the specified `event_id`.
2017-06-08 14:17:49 +01:00
Richard van der Hoff
566fb2caeb Add some logging around switching rooms
... which I wish had been there when I was staring at a rageshake.
2017-06-07 22:41:02 +01:00
Richard van der Hoff
27e5098e00 Merge remote-tracking branch 'origin/develop' into rav/handle_received_room_key_requests 2017-06-07 15:44:33 +01:00
Richard van der Hoff
c1151fd31c Merge branch 'develop' into rav/handle_received_room_key_requests 2017-06-07 15:37:38 +01:00
Luke Barnard
53ea41e8a5 Merge branch 'develop' into new-guest-access 2017-06-07 12:08:37 +01:00
Kegan Dougal
4127e7121c Translate src/components/structures
Includes some pluralisation! Tested them manually to make sure they work.
2017-06-07 11:40:46 +01:00
David Baker
9f15e8e152 Merge branch 'master' into develop 2017-06-06 17:41:05 +01:00
David Baker
00ccf4bb51 Revert "Call MatrixClient.clearStores on logout"
This reverts commit c3d37c1ff9.

This commit was introducing a bug where no rooms would be shown if
you want straight to /#/login and logged in (because this causes
a guest session to be created but the indexeddb store not to be
cleared, so the new login picks up the stale indexedb sync data.
2017-06-06 17:33:50 +01:00
Luke Barnard
205fd1fad4 Allow password reset when logged in 2017-06-06 17:22:49 +01:00
David Baker
c27f50207d comment 2017-06-06 11:43:07 +01:00
David Baker
12d2480916 Reset 'first sync' flag / promise on log in
Otherwise on any logins after the first,we always think the first
sync has completed.
2017-06-06 11:36:33 +01:00
David Baker
f8198ba9c9 Merge branch 'develop' into new-guest-access 2017-06-06 10:33:01 +01:00
David Baker
a99f6525c9 Merge pull request #1039 from matrix-org/dbkr/ilag_cancel_action
Cancel deferred actions
2017-06-05 21:27:13 +01:00
Luke Barnard
4ab6dc9ddd Merge branch 'new-guest-access' into luke/ilag-i18n 2017-06-05 20:28:51 +01:00
David Baker
f6cfff9098 Cancel deferred actions
if the set mxid dialog is canceled
2017-06-05 18:37:38 +01:00
David Baker
5924654f9d Defer an intention for creating a room 2017-06-05 17:45:01 +01:00
Erik Johnston
998a55a590 Add basic group view 2017-06-05 17:10:08 +01:00
David Baker
3dbea45426 Comment 2017-06-05 16:50:00 +01:00
David Baker
3c0290588c Always show the spinner during the first sync
Before, we were relying on the fact that `ready` would still have
been false from before. This was not the case, for example, if we
naviagted straight to /#/login (which causes a guest session to be
set up and the sync for that completes after we navigate to the
login screen).

We should always mark ourselves as not-ready after login since we
will always have to wait for the sync.
2017-06-05 16:17:32 +01:00
Luke Barnard
619830617a Merge branch 'develop' into luke/ilag-i18n
In order to get ILAG internationalised

Conflicts:
	src/components/structures/LoggedInView.js
	src/components/structures/MatrixChat.js
	src/components/views/dialogs/ChatCreateOrReuseDialog.js
	src/components/views/dialogs/SetDisplayNameDialog.js
	src/createRoom.js
	src/i18n/strings/en_EN.json
2017-06-05 16:08:03 +01:00
David Baker
c5cd6aecd6 Revert "Call MatrixClient.clearStores on logout"
This reverts commit c3d37c1ff9.

This commit was introducing a bug where no rooms would be shown if
you want straight to /#/login and logged in (because this causes
a guest session to be created but the indexeddb store not to be
cleared, so the new login picks up the stale indexedb sync data.
2017-06-05 15:54:44 +01:00
David Baker
85aa3f6f13 Merge pull request #1032 from matrix-org/luke/fix-welcome-user-background
Only view welcome user if we are not looking at a room
2017-06-05 14:38:55 +01:00
David Baker
d8e3423060 Merge pull request #1031 from matrix-org/luke/fix-deferred-start-chat-settings
Keep deferred actions for view_user_settings and view_create_chat
2017-06-05 14:10:29 +01:00
Luke Barnard
c82e79ab5f Only view welcome user if we are not looking at a room 2017-06-05 14:07:24 +01:00
Luke Barnard
3195b9f964 Keep deferred actions for view_user_settings and view_create_chat
This will bring up the correct UI as intended instead of defaulting to the home page with welcome user in the room list.

Fixes https://github.com/vector-im/riot-web/issues/4162
2017-06-05 13:41:52 +01:00
Luke Barnard
beafb68538 Don't do a deferred start chat if user is welcome user
There's no point in deferring creating a new DM with the welcome user because the setMxId dialog will do so anyway.
2017-06-05 13:14:55 +01:00
Michael Telatynski
0f4dc5c072 first iter of manual update control
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-03 15:49:28 +01:00
Kegan Dougal
bfb313ce9d riot-bot only if english please 2017-06-02 14:13:45 +01:00
Luke Barnard
e88b52fa8f Add comment 2017-06-02 11:42:47 +01:00
Luke Barnard
6a9781f023 Remove redundant state 2017-06-02 11:41:09 +01:00
Luke Barnard
defecb1b14 Implement /user/@userid:domain?action=chat
This is a URL that can be used to start a chat with a user.
 - If the user is a guest, setMxId dialog will appear before anything and a defered action will cause `ChatCreateOrReuseDialog` to appear once they've logged in.
 - If the user is registered, they will not see the setMxId dialog.

fixes https://github.com/vector-im/riot-web/issues/4034
2017-06-02 11:36:18 +01:00
Kegan Dougal
a8ca7c899f Review comments 2017-06-02 11:16:08 +01:00
Kegan Dougal
f54c182eb1 Add remaining strings for vector-im/riot-web#4151 2017-06-02 10:47:08 +01:00
Richard van der Hoff
7d55f3e75d handle room key request cancellations 2017-06-01 18:40:04 +01:00
Richard van der Hoff
d5bc24d9f7 Initial implementation of KeyRequestHandler, KeyShareDialog etc 2017-06-01 18:40:04 +01:00
Richard van der Hoff
c3d37c1ff9 Call MatrixClient.clearStores on logout
... to make sure that we don't have any sensitive data sitting around in the
stores.
2017-05-31 18:28:21 +01:00
Richard van der Hoff
2d73f094ff Delint MatrixChat, again (#979)
grrr.
2017-05-31 15:09:09 +01:00
Matthew Hodgson
e30e45a82c Merge branch 'develop' into new-guest-access 2017-05-30 21:05:07 +01:00
Matthew Hodgson
93a35dc07a Merge branch 'develop' into t3chguy/piwik 2017-05-30 15:58:55 +01:00
Marcel
70e7d81093 More i18n strings (#963)
* Add i18n for E2E import and Export Dialogs

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add various previous missing i18n strings

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Translate CreateRoomButton

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ChatInviteDialog and fix missing to.

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ConfitmRedactDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeactivateAccountDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeviceVerifyDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add SessionRestoreErrorDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add SetDisplayNameDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UnknownDeviceDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add AddressTile translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add DeviceVerifyButtons translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add Dropdown translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UserSelector translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CaptchaForm translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CasLogin translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add CustomServerDialog translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add InteractiveAuthEntryComponents translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add LoginFooter translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add RegistrationForm translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add ServerConfig translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MAudioBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MImageBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add MVideoBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add TextualBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UnknownBody translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add UrlPreviewSettings translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add AuxPanel translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* Add PresenceLabel translations

Signed-off-by: MTRNord <mtrnord1@gmail.com>

* fix syntax error

* weird space :P

* missing ','

* fix missing value

* fix json fail

* remove acidential added file

* fix another json fail
2017-05-30 15:09:57 +01:00
Luke Barnard
2baef643e3 Add /start to show the setMxId above HomePage 2017-05-30 14:27:02 +01:00
Michael Telatynski
7e8123e5fe move all init/enable/disable logic to Analytics/MatrixChat
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-29 14:26:29 +01:00
Matthew Hodgson
df599890c5 add login link to SetMxIdDialog 2017-05-29 01:32:31 +01:00
Matthew Hodgson
5c885922d9 Merge branch 'develop' into new-guest-access 2017-05-28 22:58:18 +01:00
Michael Telatynski
0a1b361141 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/piwik 2017-05-28 13:21:33 +01:00
Matthew Hodgson
accc17a39a Merge pull request #812 from t3chguy/forward_message
Message Forwarding
2017-05-28 02:37:31 +01:00
Michael Telatynski
98c2f9201b initial piwik stuff
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-27 20:47:09 +01:00
Michael Telatynski
4cd7964b58 remove window onFocus handling entirely
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-27 18:43:59 +01:00
Michael Telatynski
8e1db84bee Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/fix-focus-steal 2017-05-27 14:29:06 +01:00
Michael Telatynski
2bcb381aa7 maybe window focus should be ignored so focus is left as what it was
but with this at least clicking on a text input will not make you
be thrown into composer instead

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-27 14:19:34 +01:00
Luke Barnard
fd27d6dab1 Merge pull request #936 from matrix-org/luke/new-guest-access-need-to-set-mx-id-beore-user-settings
Block user settings with view_set_mxid
2017-05-26 18:48:55 +01:00
Matthew Hodgson
3d688a6ada Merge pull request #933 from matrix-org/luke/new-guest-access-set-display-name-to-useridlocalpart
Set the displayname to the mxid once PWLU
2017-05-26 17:17:23 +01:00
Matthew Hodgson
1c7785535f Merge pull request #929 from matrix-org/luke/new-guest-access-fix-view-next-room
Fix view_next_room, view_previous_room and view_indexed_room
2017-05-26 17:09:35 +01:00
Luke Barnard
5e136863b0 Block user settings with view_set_mxid 2017-05-26 13:18:44 +01:00
Luke Barnard
ad3373789f Warn about LifecycleStore not explicitly being used 2017-05-26 11:50:32 +01:00
Luke Barnard
c0f43a14fd Improve comment 2017-05-26 11:47:55 +01:00
Luke Barnard
2dcc03960a Set the displayname to the mxid once PWLU 2017-05-26 11:46:33 +01:00
David Baker
443ab1add7 Put back default strings on dialogs
But make them work by calling _t in render rather than
getDefaultProps().

Also sort out some 'Warning!' strings
2017-05-25 18:20:48 +01:00
Luke Barnard
0849b0e205 Fix view_next_room, view_previous_room and view_indexed_room
These must now make a dispatch to RoomViewStore instead of calling `viewRoom` directly on MatrixChat. This will call both `viewRoom` of MatrixChat _and_ the logic in RVS so there is some redundancy here. It'd be best to move as much as possible of viewRoom out to the RVS itself.

But for now, this fixes a bug that occures when leaving (the viewed room would not change).
2017-05-25 17:10:49 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
Luke Barnard
f3fc459875 Merge pull request #922 from matrix-org/luke/new-guest-access-default-welcome
Implement default welcome page and allow custom URL /w config
2017-05-25 10:08:34 +01:00
Luke Barnard
8fc44a9b66 Add comment to explain sync_state dispatch 2017-05-25 09:31:14 +01:00
Luke Barnard
5f36f797da Implement default welcome page and allow custom URL /w config
This changes the default behaviour of displaying the room directory to instead displaying the default homepage. If specified, the config "welcomePageUrl" can be used to override the default '/home.html'.
2017-05-24 17:55:36 +01:00
Luke Barnard
298c5e4df3 Implement a store for RoomView
This allows for a truely flux-y way of storing the currently viewed room, making some callbacks (like onRoomIdResolved) redundant and making sure that the currently viewed room (ID) is only stored in one place as opposed to the previous many places.

This was required for the `join_room` action which can be dispatched to join the currently viewed room.

Another change was to introduce `LifeCycleStore` which is a start at encorporating state related to the lifecycle of the app into a flux store. Currently it only contains an action which will be dispatched when the sync state has become PREPARED. This was necessary to do a deferred dispatch of `join_room` following the registration of a PWLU (PassWord-Less User).

The following actions are introduced:
 - RoomViewStore:
    - `view_room`: dispatch to change the currently viewed room ID
    - `join_room`: dispatch to join the currently viewed room
 - LifecycleStore:
    - `do_after_sync_prepared`: dispatch to store an action which will be dispatched when `sync_state` is dispatched with `state = 'PREPARED'`
 - MatrixChat:
    - `sync_state`: dispatched when the sync state changes. Ideally there'd be a SyncStateStore that emitted an `update` upon receiving this, but for now the `LifecycleStore` will listen for `sync_state` directly.
2017-05-24 16:56:13 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
Luke Barnard
b0a824c941 Remove double declaration of TextInputDialog 2017-05-22 16:28:23 +01:00
Luke Barnard
05aaa599cc Merge branch 'develop' into new-guest-access
Conflicts:
	src/components/structures/MatrixChat.js
2017-05-22 16:19:10 +01:00
Richard van der Hoff
e3dbf057fb Fix 'missing page_type' error
LoggedInView will complain if it is instantiated without a page_type, so let's
keep showing the syncing spinner until we have one.
2017-05-19 14:09:20 +01:00
Richard van der Hoff
c61294f71c Delintify some of MatrixChat (#907)
... it annoyed me too much.
2017-05-19 13:53:11 +01:00
Michael Telatynski
a2ab36f598 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into forward_message
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:33:36 +01:00
Michael Telatynski
0e7e4d8595 replace weird sidebar snapping with better ui_opacity
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-05-19 00:20:32 +01:00
Luke Barnard
e38437e6ce Invite the welcome user after registration if configured
This will shift focus to the welcome user DM.

We probably don't want to do this for teams, but I shall leave that for another PR that fixes teams WRT to new-guest-access.
2017-05-18 11:14:56 +01:00
Luke Barnard
c6350379dc Merge pull request #881 from matrix-org/luke/user-settings-remove-current-password
Remove "Current Password" input if mx_pass exists
2017-05-16 12:29:23 +01:00
Luke Barnard
eb0041d21a Remove redundant state 2017-05-15 17:03:54 +01:00
Luke Barnard
f73cf772fb Move sessionStore ref from MatrixChat to LoggedInView
MatrixChat didn't actually use the sessionStore, so this is one less prop to pass.
2017-05-15 14:56:05 +01:00
Luke Barnard
da3cb0ee48 SessionStore extends flux.Store 2017-05-15 14:52:19 +01:00
Luke Barnard
683f1b8a1a Invite the welcome user after registration if configured
This will shift focus to the welcome user DM.

We probably don't want to do this for teams, but I shall leave that for another PR that fixes teams WRT to new-guest-access.
2017-05-12 17:39:38 +01:00
Luke Barnard
536724e7c5 ES6 SessionStore 2017-05-12 15:58:44 +01:00
Luke Barnard
5c8187dc8f Explicitly pass thru userHasGeneratedPassword 2017-05-12 15:47:37 +01:00
Luke Barnard
1176573f39 Implement SessionStore
This wraps session-related state into a basic flux store. The localStorage item 'mx_pass' is the only thing managed by this store for now but it could easily be extended to track other items (like the teamToken which is passed around through props a lot)
2017-05-12 12:02:45 +01:00
Luke Barnard
8725ef3863 Remove "Current Password" input if mx_pass exists
If the user is PWLU, do not show "Current Password" field in ChangePassword and when setting a new password, use the cached password.
2017-05-11 17:47:45 +01:00
Luke Barnard
cfa108a28c No need to dispatch, just call setMxId 2017-05-11 17:07:03 +01:00
Luke Barnard
6326a95b39 Prevent ROUs from creating new chats/new rooms
Spawn a SetMxIdDialog instead and do nothing.
2017-05-11 17:04:11 +01:00
Luke Barnard
5151264f60 Merge branch 'develop' into new-guest-access
Conflicts:
	src/component-index.js
2017-05-11 13:22:30 +01:00
David Baker
85ed39b9d8 Put room name in 'leave room' confirmation dialog
https://github.com/vector-im/riot-web/issues/3850
2017-05-08 16:49:40 +01:00
Pablo Saavedra
17262ad80d Added TextInputWithCheckbox dialog 2017-05-08 12:18:31 +02:00
Luke Barnard
6f4eb9d8b1 Show password nag bar when user is PWLU 2017-05-05 16:31:33 +01:00
Luke Barnard
8774100508 Initial implementation: SetDisplayName -> SetMxIdDialog
- Replaces SetDisplayNameDialog with SetMxIdDialog. This new dialog will use InteractiveAuth to authenticate a user with their chosen mxid.

De-scoped:
 - style tweaks for the InteractiveAuth in the dialog (capcha) and error message.
 - checking for mxid availability
2017-04-28 13:22:55 +01:00
Michael Telatynski
3997974f0f remove debug console log (ignore its content pls)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 22:16:15 +01:00
Michael Telatynski
4cf9e0c1ae Create a way to restore last state of the rhs panel.
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-04-24 22:00:59 +01:00
Matthew Hodgson
a2be764681 display err.message to user if available in error msgs 2017-04-23 01:48:27 +01:00
Luke Barnard
a815788af8 Fix issue where teamTokenMap was ignored for guests
This was an issue because guests do not log in with a teamToken, it is implicitly set by MatrixChat when it mounts. The fix is to view_home_page when a login occurs and MatrixChat has this._teamToken set.
2017-04-06 17:10:32 +01:00
Luke Barnard
5f8a7b46a8 Remove redundant setState call, always focus composer after sync 2017-04-06 11:44:25 +01:00
Luke Barnard
95b40a976c Replace sdkReady with firstSyncPromise, add mx_last_room_id
- Create a promise that will serve as a lock to be blocked on by things that need to wait for the first sync before accessing state.
- Use this promise to block `view_room` calls until a sync has occured instead of just dropping them silently if the sync hasn't happened yet.
- Store the current room ID in a localStorage item `mx_last_room_id` when `view_room` fires. This persists the last viewed room ID so that it can be restored on refresh, browser quit. This replaces the previous logic which set the room following a sync based on the most recent unread room.
2017-04-06 11:38:06 +01:00
Luke Barnard
fff83ba234 Fix the onFinished for timeline pos dialog
This was causing a blank RoomView because it was trying to work with `room_id = undefined`.
2017-03-30 17:18:22 +01:00
David Baker
dff79984a6 Merge remote-tracking branch 'origin/develop' into dbkr/remove_session_load_error 2017-03-29 18:24:06 +01:00
David Baker
22b0f69ac9 Merge pull request #782 from matrix-org/dbkr/matrixchat_tidy
Use Login & Register via component interface
2017-03-29 18:23:36 +01:00
David Baker
a6612bb8ad Remove non-functional session load error
MatrixChat was trying to display an error if the session failed to
restore, but it was never actually being shown because it was just
set as a member variable and therefore never actually caused
a re-render for the error to be displayed. Almost all errors are
caught by _restoreFromLocalStorage which displays the fancy dialog
if your session can't be restored, so I'm not convinced this ever
even tried to do anything anyway. Remove it.
2017-03-29 16:23:18 +01:00
David Baker
cee2628b41 Use Login & Register via component interface
Login & Register were being imprted directly for some reason,
rather than going via the normal component interface.

Should be functionally identical.
2017-03-29 15:24:47 +01:00
Luke Barnard
2146e89c09 Attempt to fix the flakyness seen with tests
Specifically:
```

JS 2.1.1 (Linux 0.0.0) joining a room over federation should not get stuck at a spinner FAILED
	Did not find exactly one match (found: 0) for componentType:function (props, context, updater) {
```

actually meant that the room directory wasn't displayed - probably because the dispatch `view_room_directory` ended up on another tick of the event loop, meaning that the directory wasn't displayedi. The fix attempted in ths commit is to use `this._setPage` instead to view the directory. This uses `setState` to set the screen to the directory, so I'm not entirely convinced this will solve the problem (as `setState` may also end up doing things on another tick.

and

```
JS 2.1.1 (Linux 0.0.0) loading: MatrixClient rehydrated from stored credentials: shows a room view if we followed a room link FAILED
	MatrixChat still not ready after 5 tries
	awaitRoomView@/home/travis/build/vector-im/riot-web/test/all-tests.js:201363:90
```

was happening probably because in the handler for the `sync` event in `MatrixChat` (around line 840), there was one case in which the `ready` state may not be true (causing all 5 attempts to fail), and this case relied on `starting_room_alias_payload`. This `starting_room_alias_payload` is now redundant because of `initialScreenAfterLogin`, which was added recently.
2017-03-29 15:02:28 +01:00
Luke Barnard
c650cfffac logged_in -> loggedIn
Also added `loggingIn` to `initialState` and removed some commented code.
2017-03-27 17:14:39 +01:00
Luke Barnard
30c5af35e5 Add state loggingIn to MatrixChat to fix flashing login
To prevent the login screen from flashing when refreshing the app, use some state to indicate that a login is in progress, and OR that with the existing `loading` boolean to show the `<Spinner>` instead of the default `<Login>`.

This might be too invasive, and a default spinner may be better.
2017-03-27 16:39:04 +01:00
Kegan Dougal
4cebded04f Add canResetTimeline callback and thread it through to TimelinePanel 2017-03-22 15:06:52 +00:00
Luke Barnard
5330e47b3f Add null check 2017-03-15 13:05:03 +00:00
Luke Barnard
238e48e4af Do routing to /register _onLoadCompleted
_onLoadCompleted happens straight away because Lifecycle finishes loading the session instantly when registration parameters (client_secret etc.) are set.
2017-03-15 12:02:08 +00:00
Luke Barnard
47958180a6 Add null check to start_login 2017-03-14 15:13:36 +00:00
Luke Barnard
5e93dde0dd Merge pull request #746 from matrix-org/luke/merge-RoomTile-context-menus
Merge the two RoomTile context menus into one
2017-03-14 14:19:36 +00:00
David Baker
30b442515e Merge pull request #743 from matrix-org/luke/fix-screen-after-login
Decide on which screen to show after login in one place
2017-03-14 13:44:08 +00:00
Matthew Hodgson
3aaf37df1a beautify a tonne more errors 2017-03-12 22:59:41 +00:00
Luke Barnard
1f788feacd Merge the two RoomTile context menus into one
This will require riot-web changes https://github.com/vector-im/riot-web/pull/3395
2017-03-09 17:03:57 +00:00
Luke Barnard
c4001b5c5d Use else instead of two returns 2017-03-08 15:11:38 +00:00
Luke Barnard
eca82bdb42 Make sure the screen is set, otherwise ignore screenAfterLogin 2017-03-08 10:45:07 +00:00
Luke Barnard
06a05c351d Decide on which screen to show after login in one place
This follows from a small amount of refactoring done when RTS was introduced. Instead of setting the screen after sync, do it only after login.

This requires as-yet-to-be-PRd riot-web changes.

This includes:
 - initialScreenAfterLogin, which can be used to set the screen after login, and represents the screen that would be viewed if the window.location at the time of initialising Riot were routed.
 - guestCreds are now part of state, because otherwise they don't cause the login/registration views to update when set.
 - instead of worrying about races and using this._setPage, use a dispatch.
2017-03-08 10:25:54 +00:00
David Baker
1bdf213d67 Merge pull request #729 from matrix-org/dbkr/register_ui_auth
Port registration over to use InteractiveAuth
2017-03-03 13:37:41 +00:00
David Baker
0914226327 Actuall pass our proxy makeRegistrationUrl 2017-03-02 14:47:47 +00:00
David Baker
3028b335a4 Oops, re-add referrer param
as Registration was still using it
2017-03-02 14:46:18 +00:00
David Baker
dd762cc835 Add makeRegistrationUrl to proptypes 2017-03-02 14:40:55 +00:00
David Baker
a5cf3a964b doc 2017-03-02 14:39:25 +00:00
David Baker
95cff17698 Merge pull request #721 from matrix-org/luke/fix-refactor-UnknownDeviceDialog
Show UDDialog on UDE during VoIP calls
2017-03-02 13:13:45 +00:00
Luke Barnard
39427839b9 Use ES6 export style 2017-03-01 14:33:25 +00:00
David Baker
dd33624454 Merge remote-tracking branch 'origin/develop' into dbkr/register_ui_auth
(This ended up mostly being merged by hand as git made a complete
mess of the merge)
2017-03-01 10:45:17 +00:00
Luke Barnard
0ef8e2a8f4 Various fixes 2017-02-28 15:18:00 +00:00
Luke Barnard
48a3d0d595 Refactor to not set team token in bad ways
Use the on_logged_in dispatch instead. Call setPage in one place, _onLoggedIn, when deciding which page to view on login. Change some require to import, var to const. Remove onTeamMemberRegistered and just use a nullable argument to onRegistered
2017-02-28 15:05:49 +00:00
David Baker
c22db1db5f Fix race when signup is completed elsewhere
as commented
2017-02-27 18:22:26 +00:00
Luke Barnard
7221900497 Refactor remove resend_all_events and cancel_all_events dispatches 2017-02-27 13:39:12 +00:00
David Baker
51467506f8 Port registration over to use InteractiveAuth
These changes are moved over from the dbkr/msisdn_signin branch
2017-02-24 11:41:23 +00:00
Luke Barnard
e1a40a8ef0 Notify MatrixChat of teamToken after login 2017-02-23 16:30:26 +00:00
Luke Barnard
436e6b36f1 Move UDE handling to a its own file, adjust wording 2017-02-22 16:42:14 +00:00
Luke Barnard
c13ff254b1 Add "Retry" button to UDE 2017-02-22 10:21:43 +00:00
Luke Barnard
878e31eba2 Show UDDialog on m.call.invite failure
Requires https://github.com/matrix-org/matrix-js-sdk/pull/378

Also, refactored UDDialog creation into its own dispatch event, because there will be other parts of the code that will want to spawn one.
2017-02-21 17:22:22 +00:00
Luke Barnard
9eef3c53a3 Allow setting the default HS from the query parameter
Fixes https://github.com/vector-im/riot-web/issues/3207
2017-02-20 16:53:26 +00:00
Luke Barnard
9d2bb70823 If the home page is somehow accessed, goto directory
For example, if someone ends up on /home somehow, just redirect to the directory instead of displaying a very awkward "File not found" plain text in the home page iFrame.
2017-02-16 17:03:22 +00:00
David Baker
973b92b8f6 Merge pull request #694 from matrix-org/dbkr/confirm_ban
Add confirmation dialog to kick/ban buttons
2017-02-14 17:31:51 +00:00
David Baker
6663f5bff0 Remove commented stuff
That I've now broken such that it wouldnt work if it were
uncommented
2017-02-14 16:12:04 +00:00
Luke Barnard
1b8e93d4f2 Treat the literal team token string "undefined" as undefined
Some users appear to have gotten team tokens into their local storage. This fix will treat the literal string "undefined" as undefined.
2017-02-14 12:56:29 +00:00
David Baker
18cba1fe45 Merge pull request #689 from matrix-org/luke/rts-set-team-token-view-home
View /home on registered /w team
2017-02-14 10:21:23 +00:00
Luke Barnard
16e3365240 Use a callback prop instead of window. 2017-02-13 14:36:35 +00:00
Luke Barnard
75deb55844 Null check on teamName 2017-02-13 11:48:03 +00:00
Luke Barnard
bdd031eac2 Enable branded URLs again by parsing the path client-side
Use the first path segment to key off config.teamTokenMap, which contains a mapping to teamTokens. The client then behaves as before, keeping the path in the address bar constant with no redirects required.
2017-02-10 15:09:45 +00:00
Luke Barnard
ec730056d8 Alter comment 2017-02-10 11:39:22 +00:00
Luke Barnard
bab6a0b84a Persist query parameter team token across refreshes 2017-02-10 11:31:04 +00:00
David Baker
fe17e2452b Merge pull request #676 from matrix-org/luke/rts-team-token-login
Get team_token from the RTS on login
2017-02-08 10:54:24 +00:00
Luke Barnard
3d30db81e0 Only init RTS if configured correctly 2017-02-07 15:24:57 +00:00
Luke Barnard
d5f6ecdc49 Use teamToken, not config when doing screen fallback 2017-02-07 13:23:58 +00:00
Luke Barnard
c93b6c3c34 Style, fixes 2017-02-07 13:15:40 +00:00
Luke Barnard
173e80a5de Get team_token from the RTS on login
Use the /login endpoint of the RTS to get the team token when the user has successfully logged in.
2017-02-03 14:34:24 +00:00
Luke Barnard
efae5f6bf1 Use localStorage team token with fall-back on query parameter 2017-02-03 11:48:24 +00:00
Luke Barnard
8c941b11cd Use mx_team_token instead of config 2017-02-02 11:22:40 +00:00
Luke Barnard
acde1f3db7 Merge branch 'develop' into luke/rts-welcome-pages
Conflicts:
	src/components/views/avatars/BaseAvatar.js
2017-02-01 17:22:45 +00:00
Luke Barnard
878e5593ba Implement tracking of referrals (#659)
* Implement tracking of referrals

This also modifies (or fixes) auto-joining.
2017-01-31 11:13:05 +00:00
Luke Barnard
4e0889454a GET /teams from RTS instead of config.json
Now that the RTS contains config for teams, use GET /teams to get that information so that users will see be able to register as a team (but not yet auto-join rooms, be sent to welcome page or be tracked as a referral).
2017-01-30 15:50:31 +00:00
Kegan Dougal
97387db014 Reduce log spam: Revert a16aeeef2a
As per #riot-dev, this is no longer required.
2017-01-24 16:40:26 +00:00
David Baker
18d4d3392a Fix a bunch of linting errors
eslint --fix and a few manual ones
2017-01-20 14:22:27 +00:00
Richard van der Hoff
a16aeeef2a Temporarily add more logging, to try to catch failures on travis 2017-01-20 13:06:06 +00:00
Matthew Hodgson
b76b0f755d fix context menu bg 2017-01-20 02:47:47 +00:00
Richard van der Hoff
a88f9fdd73 (hopefully) fix theming on Chrome
Jump through some hoops to make Chrome behave sensibly on non-default themes.
2017-01-19 15:36:57 +00:00
Matthew Hodgson
4e5689082d correctly load synced themes without NPE 2017-01-18 20:06:54 +00:00
Matthew Hodgson
3d30553b7f review fixes, plus unbreak to work with new webpack layout 2017-01-18 14:06:47 +00:00
Matthew Hodgson
a0bbe3a306 Merge branch 'develop' into matthew/postcss 2017-01-18 12:52:59 +00:00
Luke Barnard
5ef5204c8c Implement simple team-based registration (#620)
* Implement simple team-based registration

Config required goes in the `teams` top-level property in config.json. This consists of an array of team objects:
```json
{
  "name": "University of Bath",
  "emailSuffix": "bath.ac.uk"
}
```
These can be selected on registration and require a user to have a certain email address in order to register as part of a team. This is for vector-im/riot-web#2940. The next step would be sending users with emails matching the emailSuffix of a team to the correct welcome page as in vector-im/riot-web#2430.
2017-01-18 12:48:28 +01:00
Matthew Hodgson
8288eb730c a rather hacky implementation of theme switching 2017-01-17 19:13:23 +00:00
David Baker
13a5337e0f Fix 'create account' link in 'forgot password'
Fixes https://github.com/vector-im/riot-web/issues/2853
2017-01-10 15:16:39 +00:00
Mark Haines
81e429eb14 Fix e2e attachment download by using iframes. (#562)
* Render attachments inside iframes.

* Fix up the image and video views

* Fix m.audio

* Comments, and only use the cross domain renderer if the attachment is encrypted

* Fix whitespace

* Don't decrypt file attachments immediately

* Use https://usercontent.riot.im/v1.html by default

* typos

* Put the config in the React context.

Use it in MFileBody to configure the cross origin renderer URL.

* Call it appConfig in the context

* Return the promises so they don't get dropped
2016-12-02 14:21:07 +00:00
David Baker
8547d00f32 Don't default the page_type to room directory
As it breaks the behaviour of redirecting to /#/directory
2016-11-24 16:39:48 +00:00
David Baker
2aba646acd Clear room alias etc. on logout 2016-11-24 14:58:37 +00:00
David Baker
0069393650 Go back to same room after logging in 2016-11-24 13:28:51 +00:00
David Baker
0bc4659fe0 Fix crash on logging in
If you arrived at the page via a link to a room.

Fixes https://github.com/vector-im/vector-web/issues/2634
2016-11-24 12:33:31 +00:00
Matthew Hodgson
a967ddd1cb quick and dirty support for custom welcome pages, with an example for geektime techfest 2016-11-13 14:10:46 +00:00
Richard van der Hoff
cb5b311e44 Move saveScrollState into RoomView
It fits much more naturally here than in LoggedInView.
2016-11-04 09:28:35 +00:00
Richard van der Hoff
f85a37c667 Factor out LoggedInView from MatrixChat
The idea here is to make a layer which sits around for as long as we have a
valid MatrixClient. Also it makes a plausible split for the render of
MatrixChat, even if they are much too tightly bound for now.
2016-11-03 18:59:32 +00:00
David Baker
3c4370c180 Move 'new version' support into Platform
Also adds support for the platform providing a changelog
2016-11-02 15:58:17 +00:00
David Baker
f433f9ca32 Move platform-specific functionality into Platform
Platform classes are provided by the application via
PlatformPeg.set().
2016-11-02 15:10:21 +00:00
David Baker
91771ec17d Ce n'est pas Python 2016-10-01 10:34:21 +01:00
David Baker
6abf6c9ec0 Merge pull request #505 from matrix-org/dbkr/dont_replacestate
Fix version going blank after logging in
2016-09-30 14:32:01 +01:00
David Baker
be99f17ee0 Oops, right variable 2016-09-30 14:05:01 +01:00
David Baker
8aeb0cfb68 Dedicated function for resetting screen state 2016-09-30 11:56:32 +01:00
David Baker
c41a8da4be Argh, there's more 2016-09-30 11:40:27 +01:00
David Baker
2f7366cb8a Comment state fields 2016-09-30 11:37:50 +01:00
David Baker
d5af2d2c52 Use 'Sign In' / 'Sign Out' universally
Rather than a mix of 'sign in/out' and 'log in/out'
2016-09-29 17:38:52 +01:00
David Baker
8cbddfcf28 Fix version going blank after logging in
Don't use replaceState in MatrixClient: there's lots of stuff in
MatrixClient's state now (including the app version) so replacing
the entire state doesn't really make sense (and also blows away
all of the nice defaults we set in getInitialState). Instead,
setState of the things we actually care about wherever we used
replaceState.

Also add a couple of state variables to getInitialState that were
missing.

Fixes https://github.com/vector-im/vector-web/issues/2322
2016-09-29 17:23:07 +01:00
David Baker
746aad9a18 Oops, missed one 2016-09-19 14:47:08 +01:00
David Baker
1341ffca59 Merge pull request #479 from matrix-org/dbkr/directory_network_selector
Pass through config for Room Directory
2016-09-16 17:08:44 +01:00
Matthew Hodgson
ff00474aa5 show RightPanel when people click on users 2016-09-16 02:37:06 +01:00
David Baker
44fa851275 Pass through config for Room Directory 2016-09-15 17:18:53 +01:00
Matthew Hodgson
8508e006f0 Merge pull request #469 from matrix-org/wmwragg/chat-multi-invite
Wmwragg/chat multi invite
2016-09-13 19:30:02 +01:00
Matthew Hodgson
17cf2fc745 Merge pull request #470 from matrix-org/matthew/right-panel-collapse
Matthew/right panel collapse
2016-09-13 19:09:18 +01:00
David Baker
5450e93df1 Verbiage 2016-09-13 16:56:53 +01:00
David Baker
3741768a3a Add modal dialog on new room button
https://github.com/vector-im/vector-web/issues/2178
2016-09-13 16:40:15 +01:00
wmwragg
2db8f4ae67 Added pass through of roomId 2016-09-13 14:30:37 +01:00
wmwragg
ca1bb0f700 Added new Invite button in the RHS footer which calls the new 'view_invite' action 2016-09-13 14:28:03 +01:00
Matthew Hodgson
3b52081092 wip for collapsable RHS 2016-09-13 12:18:22 +01:00
wmwragg
99dfcb4ed2 It's no longer a onde to one chat dialog, as you can invite multiple people 2016-09-13 10:33:15 +01:00
wmwragg
7dfb8857d8 Merge branch 'develop' into wmwragg/one-to-one-chat 2016-09-07 17:22:10 +01:00
David Baker
df1cc8748f Change references to MatrixTools to Rooms
or remove where they were unused
2016-09-07 11:33:58 +01:00
wmwragg
d9c6448a0f Adding better deafults and ErrorDialog message 2016-09-05 14:29:21 +01:00
wmwragg
9c0f51fb82 Merge branch 'develop' into wmwragg/one-to-one-chat 2016-09-05 12:06:31 +01:00
wmwragg
ca443e01d8 Initial commit of the new ChatInviteDialog 2016-09-05 12:03:16 +01:00
wmwragg
67c623d410 Rename the action to make it clearer what it is doing 2016-09-05 10:29:03 +01:00
Richard van der Hoff
b4521bc44c review feedback 2016-09-01 22:45:09 +01:00
wmwragg
e7d4ef74d0 Placeholder for one to one chat dialog and functionality 2016-09-01 16:45:24 +01:00
Richard van der Hoff
ba341c11fb Show session restore errors on the login screen
If we are unable to load the matrix session on startup, don't just get stuck at
a spinner; instead, show the error on the login screen.
2016-09-01 11:08:40 +01:00
Matthew Hodgson
5e105e1be6 make /user URLs work 2016-08-28 14:04:11 +01:00
Matthew Hodgson
de82ac3bc0 don't change URL bar when clicking on linkified rooms or users.
be aware of /user paths.
2016-08-28 02:05:31 +01:00
Matthew Hodgson
ad873c2b60 handle matrix.to links correctly. add partial support for #/user URLs 2016-08-28 01:55:42 +01:00
Aviral Dasgupta
ff39d52431 add fancy changelog dialog 2016-08-16 03:33:47 +05:30