Commit graph

1231 commits

Author SHA1 Message Date
Luke Barnard
b21f016d37 Add "Export E2E keys" option to logout dialog
Fixes https://github.com/vector-im/riot-web/issues/3184
2017-03-16 14:18:18 +00:00
David Baker
67757a16f3 Don't remove the line that gets the error message 2017-03-16 12:54:18 +00:00
David Baker
d292a627d8 Handle no-auth-flow error from js-sdk 2017-03-15 16:44:56 +00:00
David Baker
648ad8d66c Merge pull request #753 from matrix-org/luke/fix-register-not-routing
Do routing to /register _onLoadCompleted
2017-03-15 13:18:34 +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
Richard van der Hoff
3325dd6ede Merge pull request #747 from matrix-org/luke/increase-scrollback-window
Double UNPAGINATION_PADDING again
2017-03-15 11:46:34 +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
Luke Barnard
17c9fcbb85 Merge branch 'develop' into luke/UDE-file-upload 2017-03-14 13:59:04 +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
David Baker
878413f6a4 Support msisdn signin
Changes from https://github.com/matrix-org/matrix-react-sdk/pull/742
2017-03-14 11:50:13 +00:00
Luke Barnard
d8a30aa848 Double UNPAGINATION_PADDING again 2017-03-13 13:48:15 +00:00
Matthew Hodgson
3aaf37df1a beautify a tonne more errors 2017-03-12 22:59:41 +00:00
Matthew Hodgson
71e0780eee beautify search fail error 2017-03-12 22:24:16 +00:00
Matthew Hodgson
b7d5d2fd56 beautify UserSettings error msg
fix up default dialog cancel button
2017-03-12 20:03:14 +00:00
Richard van der Hoff
2786fb0f46 Revert "Support registration & login with phone number (#742)"
This reverts commit 0269562383.

This breaks against the current synapse release. We need to think more
carefully about backwards compatibility.
2017-03-09 18:32:44 +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
David Baker
0269562383 Support registration & login with phone number (#742)
* WIP msisdn sign in

* A mostly working country picker

* Fix bug where you'dbe logged out after registering

Stop the guest sync, otherwise it gets 401ed for using a guest
access token for a non-guest, causing us to beliebe we've been
logged out.

* Use InteractiveAuth component for registration

* Fix tests

* Remove old signup code

* Signup -> Login

Now that Signup contains no code whatsoever related to signing up,
rename it to Login. Get rid of the Signup class.

* Stray newline

* Fix more merge failing

* Get phone country & number to the right place

* More-or-less working msisdn auth component

* Send the bind_msisdn param on registration

* Refinements to country dropdown

Rendering the whole lot when the component was rendered just makes
the page load really slow, so just show 2 at a time and rely on
type-to-search.

Make type-to-search always display an exact iso2 match first

* Propagate initial inputs to the phone input

* Support msisdn login

* semicolon

* Fix PropTypes

* Oops, use the 1qst element of the array

Not the array of object keys which has no particular order

* Make dropdown/countrydropdown controlled

* Unused line

* Add note on DOM layout

* onOptionChange is required

* More docs

* Add missing propTypes

* Don't resume promise on error

* Use React.Children to manipulate children

* Make catch less weird

* Fix null dereference

Assuming [0] of an empty list == undefined doesn't work if you're
then taking a property of it.
2017-03-09 10:59:22 +00:00
Luke Barnard
4f7914813d Make UDD appear when UDE on uploading a file
This has highlighted the fact that an unsent image looks very much like a sent image (https://github.com/vector-im/riot-web/issues/3391). Also, the "Resend" status bar doesn't appear when an image is unsent.
2017-03-09 10:44:09 +00:00
David Baker
676c5c21c1 Merge pull request #739 from matrix-org/luke/visible-redactions
Show message redactions as black event tiles
2017-03-09 09:41:31 +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
341f978743 Fix the team server registration
Pass extra info from the UI auth process as a second parameter to
onAuthFinished. Allows the email sid & client secret to be used
outside of the UI auth process.
2017-03-06 17:31:21 +00:00
Luke Barnard
c0fc3ba3fe Make redactions appear when the event has been redacted (on Room.redaction) 2017-03-06 14:20:24 +00:00
Luke Barnard
edccfeb20b No text required, do not continuate after redacted even
It's curious, however, that a continuation occured after a redacted event, given that the event shouldn't have a sender
2017-03-06 10:26:26 +00:00
Luke Barnard
2bd9885288 Start to show redacted events 2017-03-03 15:42:24 +00:00
David Baker
62d9439530 Remove old import & pass through result
in InteractiveAuthDialog
2017-03-03 14:31:52 +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
977b8a7379 Make UIAuth Dialog show an error
when auth fails
2017-03-03 12:08:26 +00:00
David Baker
8522231d4f Revery unintentional change
to when teamToken was returned
2017-03-03 10:28:10 +00:00
David Baker
9c6782af6f Oops, lost trackPromise 2017-03-02 15:08:15 +00:00
David Baker
91ef26a7f8 makeRegistrationUrl is required 2017-03-02 15:04:10 +00:00
David Baker
51b2001f70 Remove todo which is now done! 2017-03-02 15:03:24 +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
770c1ce11f Remove redundant prop 2017-03-02 14:35:08 +00:00
David Baker
8be66d0f04 Merge pull request #730 from Half-Shot/hs/video-gif-autoplay
Autoplay videos and GIFs if enabled by the user.
2017-03-02 13:41:30 +00:00
David Baker
0035a91596 Merge pull request #731 from matrix-org/luke/warn-users-e2e-first-time
Warn users about using e2e for the first time
2017-03-02 13:28:15 +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
David Baker
9c5fb00da4 Fix syntax 2017-03-01 18:33:45 +00:00
David Baker
ef5d2bca91 Get errorText from error in stageUpdated 2017-03-01 16:59:25 +00:00
David Baker
c9ef879afa PR feedback: Move the email token request here 2017-03-01 16:04:15 +00:00
Luke Barnard
b7bd93c613 var -> const 2017-03-01 15:55:15 +00:00
Luke Barnard
187c91b76a Adjust warning message 2017-03-01 15:42:05 +00:00
Luke Barnard
6d296a0e7a Warn users about using e2e for the first time 2017-03-01 15:41:13 +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
Will Hunt
1995c16013 Add a user option to enable autoplaying gifs and videos. 2017-02-27 22:17:43 +00:00
David Baker
c22db1db5f Fix race when signup is completed elsewhere
as commented
2017-02-27 18:22:26 +00:00
David Baker
e5853a6571 Put back server picker for registration
* Also fix bug where you couldn't picxk a different server if
   you were already registered as a guest (because it still sent
   the access token which the new server rejected)
 * Propagate errors from UI auth back to registration so it goes
   back to the registration screen
2017-02-27 17:24:28 +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
454aa0757a Poll for authentication completion
on registration (both for email validation and completion of the
whole auth session).
2017-02-24 17:24:10 +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
David Baker
fd3c1ab9e1 Merge pull request #718 from matrix-org/luke/ignore-no-tile-events
Do not push a dummy element with a scroll token for invisible events
2017-02-23 10:17:16 +00:00
David Baker
8737112a8c Merge pull request #715 from matrix-org/luke/mels-scrolling-fix
MELS: check scroll on load + use mels-1,-2,... key
2017-02-23 10:12:26 +00:00
Luke Barnard
f92708fbe6 In practice the MELS-1,2,3 solves nothing, revert it 2017-02-22 16:54:32 +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
f230b0a3c0 Fix status bar expanded on tab-complete
This had regressed when `_getSize` was introduced. It didn't consider tab completing.
2017-02-22 14:03:30 +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
581c8c138e Do not push a dummy element with a scroll token for invisible events
If an event does not `wantTile`, do not add a dummy element with a scroll token, as this can be unperformant with 1000s of events.
2017-02-21 15:01:18 +00:00
Luke Barnard
995e59b973 Merge pull request #716 from matrix-org/luke/feature-default-hs
Allow setting the default HS from the query parameter
2017-02-21 14:43:36 +00:00
Matthew Hodgson
aabf9255d2 anchor the authcache on LoggedInView to prevent it persisting over logouts 2017-02-21 01:03:22 +00:00
Matthew Hodgson
6af0b9618a first cut of improving UX for deleting devices.
This adds a 5 minute auth cache to speed up the process of deleting
old devices.  It has the following nastinesses (mainly due to being
written on a flight whilst juggling kids):
 * the auth cache is done as context attached to MatrixChat.
   one could argue that it should be per-client instead, but we don't
   yet have multiple clients.
 * the auth cache is only maintained currently in DevicesPanelEntry
   (i.e. set & invalidated).  One could argue that it might be better
   maintained in InteractiveAuth.js or a dedicated cache object
   abstraction, but given the only use I can think of is when managing
   devices, perhaps this is good enough for now.
2017-02-21 00:19:49 +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
6fead66f89 MELS: check scroll on load + use mels-1,-2,... key
To fix https://github.com/vector-im/riot-web/issues/2916, force the checking of scroll position by calling _onWidgetLoad (might need renaming...) when a MELS is expanded/contracted.

Also use an keying scheme for MELS that doesn't depend on the events contained, but rather a simple incrementing index based on the order of the MELS as it appears amongst all MELS.
2017-02-20 10:59:11 +00:00
Matthew Hodgson
8990e770b7 fix colouring in voip dark theme 2017-02-20 01:43:55 +02:00
David Baker
10534e7df4 Merge pull request #709 from matrix-org/dbkr/show_when_banned
Show when you've been kicked or banned
2017-02-17 16:48:59 +00:00
Kegsay
5abcb91e0d Merge pull request #708 from matrix-org/kegan/clear-cache
Add a 'Clear Cache' button
2017-02-17 15:51:08 +00:00
David Baker
de4773ba93 Show when you've been kicked or banned
Update the room state when you've been kicked or banned, and show
a message in the preview bar, including the reason.
2017-02-17 15:50:30 +00:00
Kegan Dougal
8d6c3cd3f4 Review comments 2017-02-17 15:37:49 +00:00
Kegan Dougal
0a31efa0b7 Add a 'Clear Cache' button
This deletes the IndexedDB database and reloads the page.

This solely exists as a get-out clause for users in case the indexedDB instance
gets corrupted. Hopefully we won't ever need to point users to it.
2017-02-17 15:16:28 +00:00
David Baker
a3746ea1b6 Merge remote-tracking branch 'origin/develop' into dbkr/update_on_room_name 2017-02-17 14:41:54 +00:00
David Baker
b2344ceb74 Update the room view on room name change 2017-02-17 11:44:56 +00:00
David Baker
4753552ddc Merge pull request #706 from matrix-org/luke/fix-team-token-referral-link
Make UserSettings use the right teamToken
2017-02-16 18:12:46 +00:00
Luke Barnard
406c34b715 Make UserSettings use the right teamToken
This threads the correct teamToken through to UserSettings for generating the referral section.
2017-02-16 18:00:52 +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
Luke Barnard
6945e7c154 Merge pull request #699 from matrix-org/luke/fix-avatar-initials
Display avatar initials in typing notifications
2017-02-16 14:06:05 +00:00
Luke Barnard
74487c655d If a referrer hasn't been specified, use empty string
This is interpretted by the RTS as a non-referred team member who still needs the team token to access their welcome page etc.
2017-02-16 09:22:44 +00:00
Luke Barnard
8067bb627f Display avatar initials in typing notifications
It seems they don't overlap hawkwawdly anymore, so this displays them always.

Fixes https://github.com/vector-im/riot-web/issues/3084
2017-02-15 16:29:08 +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
17b08aedfc Merge pull request #691 from matrix-org/dbkr/interactive_auth_nondialog
Split out InterActiveAuthDialog
2017-02-14 10:55:12 +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
David Baker
36d126f3a9 PR feedback 2017-02-13 19:09:43 +00:00
David Baker
8fc3104507 Replace submit button with a spinner when busy
and update test accordingly
2017-02-13 18:52:33 +00:00
David Baker
79d9deb339 Split out InterActiveAuthDialog
Into a component that does Interactive Auth and a dialog that
wraps it, so we can do interactive auth not necessarily in a
dialog.

As a side effect:
 * Put the buttons for each auth stage in the stage itself.
   Some stages don't have submit buttons (and it's very possible
   other stages may have other buttons entirely, like 'resend')
   so it makes more sense for the buttons to live in the stage
   components themselves. Plus it saves the slightly evil
   calling-functions-on-react-children thing we were doing (and
   indeed extending that to show the submit button at all).
 * Give all BaseDialogs a cross in the top right to cancel. They
   were all dismissable by clicking outside or pressing esc, so
   this adds a more visually obvious way of dismissing them. Plus,
   it means our InteractiveAuthDialog can have a way of canceling
   the whole operation separate from buttons for the individual
   stages.
2017-02-13 16:03:21 +00:00
Luke Barnard
16e3365240 Use a callback prop instead of window. 2017-02-13 14:36:35 +00:00
Luke Barnard
a21e71f59d Merge pull request #688 from matrix-org/luke/rts-use-sid-client-secret
Instead of sending userId, userEmail, send sid, client_secret
2017-02-13 13:49:23 +00:00
David Baker
b45da45457 Merge pull request #686 from matrix-org/luke/rts-enable-branded-urls
Enable branded URLs again by parsing the path client-side
2017-02-13 13:38:55 +00:00
Luke Barnard
75deb55844 Null check on teamName 2017-02-13 11:48:03 +00:00
Luke Barnard
4ac769168a View /home on registered /w team 2017-02-10 17:17:58 +00:00
Luke Barnard
29f5e88f6a Instead of sending userId, userEmail, send sid, client_secret
This has the benefit of being possible from the _second_ riot instance, which may not actually have the email of the user registering. With these parameters, the RTS can get the email and user ID itself.

(see https://github.com/matrix-org/riot-team-server/pull/15)
2017-02-10 16:50:25 +00:00
David Baker
33fc4f7d8d Merge pull request #680 from matrix-org/luke/rts-fix-reg-icon
Use new method of getting team icon
2017-02-10 16:39:11 +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
Luke Barnard
45f5b8b3a9 Thread teamToken through to LeftPanel for "Home" button
This means the riot-web will use the same teamToken used by sdk components. This includes cases where only the fragment query parameter has been provided.

Fixes matrix-org/riot-web#3185
2017-02-10 09:57:28 +00:00
Luke Barnard
69add8fd64 Actually use the RTS URL 2017-02-09 13:16:46 +00:00
Luke Barnard
103710728f Do not show "+1 other"
Instead show a user name or avatar.
2017-02-09 10:30:06 +00:00
Luke Barnard
553054409f Use (props,state) ordering of arguments
There was a bug here that meant that sometimes arguments were given in the wrong order; presumably leading to the status bar not appearing for calls etc.
2017-02-09 10:01:59 +00:00
Luke Barnard
cc69e982a7 Use single state to set both avatars and typing notif 2017-02-09 10:01:51 +00:00
Luke Barnard
747c0c44a6 Use new method of getting team icon
This was necessary because the team token may not be known when registering, but domain is. Storing the icon under the "common" directory is the chosen solution to this.
2017-02-09 09:24:46 +00:00
Matthew Hodgson
ad2710ec5d fix CSS for import/export buttons 2017-02-09 02:00:58 +00:00
Matthew Hodgson
ea50acfc87 fix dark theme for uploadbar 2017-02-09 01:26:53 +00:00
Luke Barnard
c2d5b72d68 Set referrer qp in nextLink
This is so that when the verification link is clicked from an email, the referrer is set on the new instance of riot when /rts/register is hit
2017-02-08 17:58:40 +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
David Baker
96539a4054 Merge pull request #666 from matrix-org/luke/rts-welcome-pages
RTS Welcome Pages
2017-02-07 13:42:47 +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
Richard van der Hoff
77f76db68b UserSettings: s/vector-web/riot-web/
vector is dead, long live riot
2017-02-06 09:50:14 +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
Richard van der Hoff
5df5fed6f5 Merge pull request #675 from matrix-org/dbkr/fix_timeline_notifs_empty
Fix timeline & notifs panel spuriously being empty
2017-02-03 11:35:28 +00:00
Richard van der Hoff
2b67c1245f Merge pull request #636 from matrix-org/matthew/blacklist-unverified
UI for blacklisting unverified devices per-room & globally
2017-02-03 11:32:24 +00:00
David Baker
470e760e42 Fix timeline & notifs panel spuriously being empty
Only claim there's nothing to display once we've failed to back
paginate, otherwise we'll show the empty message instead of the
MessagePanel and therefore never try to back-paginate.
2017-02-03 11:11:37 +00:00
Matthew Hodgson
e825a4af3c show better error msg after UnkDevDialog
should fix https://github.com/vector-im/riot-web/issues/3122
2017-02-03 00:45:33 +00:00
Matthew Hodgson
be41462f3a merge 2017-02-02 22:05:44 +00:00
Matthew Hodgson
8799891e0e hopefully fix key array warning 2017-02-02 18:47:15 +00:00
Matthew Hodgson
2cf24c17e2 double scrollback window on roomview 2017-02-02 18:27:21 +00:00
Matthew Hodgson
4ab479594b temporarily stop hiding the statusbar
as per https://github.com/vector-im/riot-web/issues/1991#issuecomment-276953915
2017-02-02 17:48:54 +00:00
Matthew Hodgson
08ad69847c show placeholder of timeline empty 2017-02-02 16:32:10 +00:00
Luke Barnard
b9bc8eefd0 Typo 2017-02-02 13:56:54 +00:00
Luke Barnard
2aaf77974d Pass RTS URL through 2017-02-02 11:57:56 +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
f8d7902d2e Merge pull request #662 from matrix-org/luke/rts-handle-errors
Throw errors on not 'ok' status codes from RTS, swap to `whatwg-fetch` for sending requests to RTS.
2017-02-01 11:44:04 +00:00
Luke Barnard
fa1981ce09 Use whatwg-fetch instead of browser-request 2017-02-01 10:39:52 +00:00
David Baker
6f53b2de2c Merge pull request #663 from matrix-org/rav/fix_tests
Make tests pass on Chrome again
2017-02-01 10:20:30 +00:00
Richard van der Hoff
cd1cf09dc9 Make tests pass on Chrome again
It seems that a number of the tests had started failing when run in
Chrome. They were fine under PhantomJS, but the MegolmExport tests only work
under Chrome, and I need them to work...

Mostly the problems were timing-related, where assumptions made about how
quickly the `then` handler on a promise would be called were no longer
valid. Possibly Chrome 55 has made some changes to the relative priorities of
setTimeout and sendMessage calls.

One of the TimelinePanel tests was failing because it was expecting the contents
of a div to take up more room than they actually were. It's possible this is
something very environment-specific; hopefully the new value will work on a
wider range of machines.

Also some logging tweaks.
2017-01-31 22:40:53 +00:00
Luke Barnard
c261ca1f5e Allow base referral URL to be configurable 2017-01-31 15:17:43 +00:00
Luke Barnard
c2b0c603c0 Add referral section to user settings
This allows those who have registered to referrer other students to Riot and have their referral counted for the campaign competition.
2017-01-31 13:17:01 +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
4e9229e936 Get rid of dupl. declaration 2017-01-30 16:37:16 +00:00
Luke Barnard
1e279d2335 Finish with .done() 2017-01-30 16:35:34 +00:00
Luke Barnard
f5efc8e765 Use const, not var 2017-01-30 16:33:16 +00:00
Luke Barnard
eb4d7f04e7 Use busy spinner when requesting teams 2017-01-30 16:23:52 +00:00
Luke Barnard
318d871097 Formatting 2017-01-30 16:13:57 +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
Luke Barnard
d9a8acd431 Redo team-based registration (#657)
For compatibility with referral campaign flows, re-implement team registration such that the team is selected through providing an email with a known team domain. The support email is now only shown when an email that _looks_ like a UK/US university email address, but is not known.
2017-01-27 16:31:36 +00:00
Luke Barnard
f462bd8f99 Expand status *area* unless status *bar* not visible (#655) 2017-01-26 18:07:42 +00:00
Luke Barnard
9c99dafba5 Guard onStatusBarVisible/Hidden with this.unmounted 2017-01-26 17:03:01 +00:00
Richard van der Hoff
67bd2cf9dd Merge branch 'matthew/warn-unknown-devices' into matthew/blacklist-unverified 2017-01-26 14:09:25 +00:00
Kegan Dougal
bea6df88e0 Move BugReportDialog to riot-web 2017-01-25 16:33:00 +00:00
Kegan Dougal
602ce37ba7 Merge branch 'develop' into kegan/rageshake-ui 2017-01-25 15:52:00 +00:00
Richard van der Hoff
dc7a169779 Merge pull request #647 from matrix-org/rav/megolm_backup_ui
Import and export for Megolm session data
2017-01-25 15:43:15 +00:00
Richard van der Hoff
9cadc2f55f Merge pull request #613 from matrix-org/luke/fix-join-part-collapsing-causality
Overhaul MELS to deal with causality, kicks, etc.
2017-01-25 15:20:30 +00:00
Richard van der Hoff
ebe6cddd21 Merge remote-tracking branch 'origin/develop' into rav/megolm_backup_ui 2017-01-25 15:13:14 +00:00
Richard van der Hoff
69b55fd9d1 Merge pull request #650 from matrix-org/dbkr/fix_alt_up_down
Re-add dispatcher as alt-up/down uses it
2017-01-25 15:10:56 +00:00
David Baker
b34f63d3e7 Re-add dispatcher as alt-up/down uses it
Alt-up/down still doesn't go through rooms in the right order,
but it should probably not error.
2017-01-25 14:59:18 +00:00
Kegan Dougal
b00e090600 Do not show the bug report section if there is no bug_report_endpoint_url 2017-01-25 14:43:47 +00:00
David Baker
e567162d28 Merge pull request #648 from matrix-org/rav/fix_set_displayname
Fix SetDisplayNameDialog
2017-01-25 14:32:52 +00:00
David Baker
f66e412d3a Merge pull request #643 from matrix-org/luke/fix-typing-indication
Sync typing indication with avatar typing indication
2017-01-25 11:13:55 +00:00
David Baker
fc9987a827 Merge pull request #646 from matrix-org/matthew/password-reset-warning
Warn users of E2E key loss when changing/resetting passwords or logging out
2017-01-25 11:04:35 +00:00
Richard van der Hoff
29b4dde878 Fix SetDisplayNameDialog
SetDisplayNameDialog got broken by the changes to support asynchronous loading
of dialogs.

Rather than poking into its internals via a ref, make it return its result via
onFinished.

Fixes https://github.com/vector-im/riot-web/issues/3047
2017-01-25 08:01:45 +00:00
Richard van der Hoff
770820e6fa Fix a bunch of lint complaints 2017-01-24 22:41:52 +00:00
Matthew Hodgson
6a40abbbf0 actually, move signout warning to UserSettings.js
also, kill off the inexplicably useless LogoutPrompt in favour of a normal QuestionDialog.
This in turn fixes https://github.com/vector-im/riot-web/issues/2152
2017-01-24 23:18:25 +01:00
Richard van der Hoff
b85f53cadd Implement Megolm key importing 2017-01-24 21:50:24 +00:00
Richard van der Hoff
e23deac1bb Implement e2e export 2017-01-24 21:50:24 +00:00
Matthew Hodgson
5b61d00533 warn users that changing/resetting password will nuke E2E keys 2017-01-24 22:36:55 +01:00
Richard van der Hoff
6dd46d532a Merge remote-tracking branch 'origin/develop' into rav/hotkey-ux 2017-01-24 20:47:24 +00:00
Luke Barnard
a92fff9da7 Fix linting warnings 2017-01-24 17:18:56 +00:00
Luke Barnard
4186a769ca Default prop for whoIsTypingLimit 2017-01-24 17:16:26 +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
Luke Barnard
9a360a48d2 Use the same property to limit avatars 2017-01-24 16:04:37 +00:00
Luke Barnard
7c66d1c867 Sync typing indication with avatar typing indication
Follow the same rules for displaying "is typing" as with the typing avatars.
2017-01-24 16:01:39 +00:00
Kegan Dougal
3b9a112136 Add bug report UI 2017-01-24 14:47:11 +00:00
Luke Barnard
ce7434984b Expand timeline in situations when _getIndicator not null
The status bar will now be expanded when:
 - props.numUnreadMessages
 - !props.atEndOfLiveTimeline
 - props.hasActiveCall
2017-01-24 14:32:52 +00:00
Luke Barnard
bd106968ce Merge branch 'develop' into luke/fix-join-part-collapsing-causality
Conflicts:
	src/components/structures/MessagePanel.js
2017-01-24 14:22:18 +00:00
Luke Barnard
a06ecb87bc Hide RoomStatusBar when it displays nothing (#615)
Use CSS class `mx_RoomView_statusArea_expanded` to indicate an expanded status bar. Without this, the status bar may be hidden from view. A 10s debounce will prevent it from bouncing frequently.
2017-01-23 16:01:39 +01:00
Luke Barnard
d97fc0a99a Fix typing avatars displaying "me" 2017-01-23 10:25:33 +00:00
Matthew Hodgson
7bc3fc8696 make UnknownDeviceDialog work again, other than the mess of vector-im/vector-web#3020 2017-01-22 01:28:43 +01:00
Matthew Hodgson
39c122fe4f fix local storage idiocy 2017-01-21 22:27:55 +01:00
Matthew Hodgson
3071fc0ddc UI for blacklisting unverified devices per-room & globally
(written blind; untested as yet)
2017-01-21 17:39:39 +00:00
Matthew Hodgson
937f13d578 fix a bunch of dark-theme buttons 2017-01-20 21:00:22 +00:00
Luke Barnard
0c5762b91d Implement "someone is typing" avatars (#631)
When users are typing, their avatars can be seen instead of "..." in the RoomView StatusBar
2017-01-20 17:51:35 +01: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
2637ae3af3 Merge pull request #630 from matrix-org/rav/fix_themes
(hopefully) fix theming on Chrome
2017-01-19 17:34:36 +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
David Baker
9e0c7a11d0 Merge pull request #628 from matrix-org/luke/feature-team-reg-auto-join-rooms
Implement auto-join rooms on registration
2017-01-19 11:44:37 +00:00
lukebarnard
e9eb38fd74 Update propTypes and do null checks 2017-01-19 11:05:08 +01:00
lukebarnard
e06dd6e34a Implement auto-join rooms on registration
Also: This fixes registration with a team: only the email localpart was being used to register.

When a registration is successful, the user will be joined to rooms specified in the config.json teamsConfig:

"teamsConfig" : {
  "supportEmail": "support@riot.im",
  "teams": [
    {
      "name" : "matrix",
      "emailSuffix" : "matrix.org",
      "rooms" : [
        {
          "id" : "#irc_matrix:matrix.org",
          "autoJoin" : true
        }
      ]
    }
  ]
}

autoJoin can of course be set to false if the room should only be displayed on the (forthcoming) welcome page for each team, and not auto-joined.
2017-01-19 10:56:04 +01:00
Matthew Hodgson
4e5689082d correctly load synced themes without NPE 2017-01-18 20:06:54 +00:00
Matthew Hodgson
4df968ecdf fix css snafu 2017-01-18 20:06:44 +00:00
Matthew Hodgson
fc63067237 improve commentary 2017-01-18 16:36:27 +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