Commit graph

2205 commits

Author SHA1 Message Date
Will Hunt
4509901592 image (gifs) and video messages will autoplay if enabled. 2017-02-27 22:16:56 +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
Luke Barnard
5be2c62011 Fix a couple of issues with RRs
- Shift to the left _before_ adding an avatar so that there are always `MAX_READ_AVATARS` visible, instead of there being `MAX_READ_AVATARS + 1` avatars displayed following the first "collapse".
- Use `right` instead of `left` so that double-digit remainders don't get overlapped.
2017-02-27 11:16:13 +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
76b381b849 Spurious newline 2017-02-24 12:01:06 +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
439bde309e General ChatInviteDialog optimisations
- Use avatar initial instead of "R" or "?"
- Use Fuse.js to do case-insensitive fuzzy search. This allows for better sorting of results as well as search based on weighted keys (so userId has a high weight when the input starts with "@").
- Added debounce of 200ms to prevent analysis on every key stroke. Fuse seems to degrade performance vs. simple, non-fuzzy, unsorted matching, but the debounce should prevent too much computation.
- Move the selection to the top when the query is changed. There's no point in staying mid-way through the items at that point.
2017-02-23 12:12:25 +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
David Baker
0a76e0f621 Merge pull request #723 from matrix-org/luke/fix-e2e-input-placeholder
Fix message composer placeholders
2017-02-23 10:09:07 +00:00
Luke Barnard
8bd42693f7 Fix message composer placeholders 2017-02-23 09:05:26 +00:00
Luke Barnard
b41787c335 Initial work on improving invite dialog 2017-02-23 09:03:20 +00:00
Luke Barnard
b68b0e25c8 Merge Matthew's wording patch 2017-02-22 16:59:45 +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
David Baker
2b91b0d9c4 Merge pull request #720 from matrix-org/luke/clarify-e2e-input-box
Clarify non-e2e vs. e2e /w composers placeholder
2017-02-22 16:20:26 +00:00
Luke Barnard
816e0be3a0 Retry->Send anyway 2017-02-22 16:17:49 +00:00
Luke Barnard
799e5ee0e9 Less jargon 2017-02-22 14:40:07 +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
fd146a732b Clarify non-e2e vs. e2e /w composers placeholder
For E2E rooms, display "Send an encrypted message…" otherwise display "Send a plaintext message…" as the placeholder for the input box in [old] message composer.
2017-02-21 15:33:44 +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
629f8caad7 oops, remove unneeded import 2017-02-21 09:50:10 +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
Matthew Hodgson
5ac76acc05 limit avatar uploads to images 2017-02-19 02:07:08 +02:00
David Baker
db4b9691cc Support reasons for kick / ban
Don't ban me for fun, girl
Let me be the one, girl
Ban me for a reason
Let the reason be love.
2017-02-17 17:27:46 +00: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
David Baker
b18473ccb2 Handle there being no member event when banned
Here, and also in MemberEventListSummary where this also broke.
2017-02-17 16:35:18 +00:00
David Baker
1f5fdf7945 Get a member object, not the user object 2017-02-17 16:14:51 +00:00
David Baker
a3aea6ba2d Swap rejoin / forget 2017-02-17 16:11:20 +00:00
David Baker
9f9de46b10 Add onForgetClick proptype 2017-02-17 16:09:25 +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
Richard van der Hoff
97722af3d6 Merge pull request #698 from matrix-org/dbkr/add_unban_button
Add a button to un-ban users in RoomSettings
2017-02-17 12:46:00 +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
Richard van der Hoff
bdb8f9d052 Don't force-logout the user if reading localstorage fails
Give them a modal dialog to give them a chance to abort.
2017-02-15 19:33:39 +00:00
David Baker
8698d40d3c Fix docs & add MatrixClient check
Addresses PR feedback without breaking RoomSettings
2017-02-15 19:01:00 +00:00
David Baker
a5a056292d Revert c082827fc7
Revert the WithMatrixClient change: RoomView calls methods on
the RoomSettings component and this breaks when RoomSettings is
wrapped in a WithMatrixClient.
2017-02-15 18:58:59 +00:00
David Baker
c082827fc7 Fix docs & use WithMatrixClient 2017-02-15 17:58:50 +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
Richard van der Hoff
42bb26925d Merge branch 'develop' into dbkr/add_unban_button 2017-02-15 13:19:22 +00:00
Richard van der Hoff
a5325ee14a Merge pull request #697 from matrix-org/dbkr/missed_accessiblebuttons
Convert some missed buttons to AccessibleButton
2017-02-15 13:10:14 +00:00
David Baker
431e7a875d Copyright 2017-02-14 18:10:40 +00:00
David Baker
1e1ae5c950 Merge pull request #696 from matrix-org/dbkr/ban_becomes_unban
Make ban either ban or unban
2017-02-14 18:00:15 +00:00
David Baker
87516fb950 Add a button to un-ban users in RoomSettings
https://github.com/vector-im/riot-web/issues/3091
2017-02-14 17:54:57 +00:00
David Baker
e1cb34e255 Merge remote-tracking branch 'origin/develop' into dbkr/missed_accessiblebuttons 2017-02-14 17:45:30 +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
6fc70415cb s/onBan/onBanOrUnban/ 2017-02-14 17:29:40 +00:00
Luke Barnard
3d4a831624 Merge pull request #695 from matrix-org/luke/fix-scalar-popup
Fix typo with Scalar popup
2017-02-14 17:13:55 +00:00
David Baker
f38b2dee78 Convert some missed buttons to AccessibleButton
In RoomSettings
2017-02-14 17:06:16 +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
David Baker
ec0ce76d87 Clarify docs 2017-02-14 16:09:02 +00:00
David Baker
a1c990a2ea Make ban either ban or unban
depending on whether the user is banned already

Mostly gives some feedback that the ban has actually taken effect.
2017-02-14 16:03:30 +00:00
Luke Barnard
0303a42fc7 Fix typo with Scalar popup 2017-02-14 15:35:14 +00:00
David Baker
5e232d8500 Argh, ES6 import syntax 2017-02-14 14:33:21 +00:00
David Baker
ff61b76bf7 Fix imports 2017-02-14 13:58:29 +00:00
David Baker
689972f023 Copyright 2017-02-14 13:57:22 +00:00
David Baker
8001c0b16b Add confirmation dialog to kick/ban buttons
Add a specific dialog used for confirming member actions.

Also remove onFinished from MemberInfo which did absolutely
nothing.
2017-02-14 13:40:19 +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
43a740df15 Add busy param to docs 2017-02-14 10:34:43 +00:00
David Baker
ba3e62e395 Remove old docs 2017-02-14 10:31:56 +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
77b226631a Copyright 2017-02-13 16:15:00 +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
8d3876c7d0 MELS: either expanded or summary, not both
Fixes vector-im/riot-web#3097
2017-02-09 15:14:16 +00:00
Luke Barnard
69add8fd64 Actually use the RTS URL 2017-02-09 13:16:46 +00:00
David Baker
7ba9e27893 Merge pull request #682 from matrix-org/luke/fix-typing-notif
Fix typing notif and status bar
2017-02-09 10:46:37 +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