Commit graph

1505 commits

Author SHA1 Message Date
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
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
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
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
436e6b36f1 Move UDE handling to a its own file, adjust wording 2017-02-22 16:42:14 +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
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
Matthew Hodgson
629f8caad7 oops, remove unneeded import 2017-02-21 09:50:10 +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
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
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
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
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
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
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
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
David Baker
f38b2dee78 Convert some missed buttons to AccessibleButton
In RoomSettings
2017-02-14 17:06:16 +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
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
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
8d3876c7d0 MELS: either expanded or summary, not both
Fixes vector-im/riot-web#3097
2017-02-09 15:14:16 +00:00
Luke Barnard
40658494b4 Consider emails ending in matrix.org as a uni email
For the purposes of testing (and having a team page)
2017-02-09 09:29:55 +00:00
Matthew Hodgson
231997dd63 unbreak /markdown off 2017-02-09 01:18:09 +00:00
Matthew Hodgson
8fea4c27cb fix NPE 2017-02-07 22:00:56 +00:00
Richard van der Hoff
484d9d708e Logging to try to track down riot-web#3148
Since I can't figure out how this is happening, add a shedload of logging to
try to pin it down.
2017-02-06 16:01:25 +00:00
Richard van der Hoff
827b5a6811 Fix deviceverifybuttons
Use DeviceInfo from deviceVerificationChanged event rather than calling
non-existent getStoredDevice
2017-02-03 14:34:19 +00:00
Richard van der Hoff
3ea746db1d Fix RoomSettings
Don't enable encryption unless the box is checked!
2017-02-03 11:20:36 +00:00
Richard van der Hoff
e018eef9fa UnknownDeviceDialog.js: tweak warning 2017-02-03 10:50:03 +00:00
Matthew Hodgson
28d28b55d1 correctly reflect verify/blacklist state in UI 2017-02-03 01:49:22 +00:00
Matthew Hodgson
5de84f845a tweak verbiage 2017-02-03 01:49:05 +00:00
Matthew Hodgson
be41462f3a merge 2017-02-02 22:05:44 +00:00
Richard van der Hoff
cd5a1abfac Merge pull request #673 from matrix-org/dbkr/make_default_avatars_clickable
Make default avatars clickable
2017-02-02 18:49:08 +00:00
David Baker
e7a32faf64 Wrap multiline JSX in parens 2017-02-02 18:47:24 +00:00
David Baker
10edab06a6 Don't c+p the complex markup 2017-02-02 18:41:50 +00:00
David Baker
7484cc3f70 Make default avatars clickable
BaseAvatar can be passed an onClick which is called when it's, er,
clicked, except when it was the default avatar in which case it
merrily ignored it. Make it not ignore it.
2017-02-02 18:29:33 +00:00
Matthew Hodgson
d567b3bb6a fix 'show rightpanel' button alt text & icon 2017-02-02 18:27:21 +00:00
Matthew Hodgson
e45ac36a3b Merge pull request #635 from matrix-org/matthew/warn-unknown-devices
very barebones support for warning users when rooms contain unknown devices
2017-02-02 18:08:18 +00:00
Matthew Hodgson
5d5125df15 fix copyright & always show gemini 2017-02-02 18:02:07 +00:00
David Baker
b561b711df Fix expanding/unexapnding read receipts
Make the AccessibleButton element be the img directly rather than
wrapping it in a div which is unnecessary and breaks the rendering.

Fixes https://github.com/vector-im/riot-web/issues/3052
2017-02-02 17:36:26 +00:00
Richard van der Hoff
68f644c824 Merge pull request #669 from matrix-org/dbkr/read_receipt_title
Make read receipt's titles more explanatory
2017-02-02 15:25:45 +00:00
David Baker
c5b752cac1 Make read receipt's titles more explanatory
Throwing this one in a suggestion while I'm in the area: I think
this would help people understand what the read receipt avatars
are.
2017-02-02 15:08:18 +00:00
Matthew Hodgson
1c4c80cc5f boldify the preview bar click 2017-02-02 13:32:19 +00:00
Matthew Hodgson
211be5752c try to make joining rooms more obvious 2017-02-02 13:32:07 +00:00
Matthew Hodgson
5e5b7f89f4 support scrollable content for UnknownDeviceDialog 2017-02-02 00:25:49 +00:00
Matthew Hodgson
c09d173415 Merge branch 'develop' into matthew/warn-unknown-devices 2017-02-01 22:34:55 +00:00
David Baker
f5458d34aa Fix inviting import fail 2017-01-27 21:57:34 +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
Richard van der Hoff
2c7b3d9a02 UnknownDeviceDialog: Reword the warning 2017-01-26 14:55:58 +00:00
Richard van der Hoff
0a3d9fc17f Fix lint 2017-01-26 14:12:00 +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
David Baker
e2edecc55b Merge pull request #653 from matrix-org/dbkr/invite_look_up_emails
Look up email addresses in ChatInviteDialog
2017-01-26 11:35:06 +00:00
David Baker
c42b705497 Use a cancel function
rather than checking queryList each time
2017-01-26 10:54:07 +00:00
David Baker
23a25e550d Missed a function 2017-01-26 10:09:33 +00:00
David Baker
bf66f77acb Set state in _lookupThreepid 2017-01-26 10:08:44 +00:00
Richard van der Hoff
60d7575146 Merge branch 'matthew/warn-unknown-devices' of github.com:matrix-org/matrix-react-sdk into matthew/warn-unknown-devices 2017-01-25 23:17:57 +00:00
Matthew Hodgson
ebf6ba8994 explicitly set device known-ness 2017-01-25 23:52:56 +01:00
Richard van der Hoff
70190be65c Factor out common onSendMessageFailed 2017-01-25 22:23:21 +00:00
Richard van der Hoff
5da6ca8fc1 Refactor UnknownDeviceDialog
hopefully make this a bit more readable, and use our new BaseDialog.
2017-01-25 22:23:21 +00:00
Richard van der Hoff
5538ce7c30 Merge branch 'develop' into matthew/warn-unknown-devices 2017-01-25 22:22:50 +00:00
David Baker
e1e87807b5 Look up email addresses in ChatInviteDialog
So email addresses known to the IS get a display name & avatar
2017-01-25 18:51:28 +00:00
Kegsay
c3616fd208 Merge pull request #652 from matrix-org/kegan/rageshake-glue
Move BugReportDialog to riot-web
2017-01-25 17:20:43 +00:00
David Baker
12642bdf2b Merge pull request #651 from matrix-org/rav/roomheader_theming_fix
Fix dark theme styling of roomheader cancel button
2017-01-25 17:02:07 +00:00
Richard van der Hoff
a2dd1fa0a9 Merge branch 'develop' into matthew/warn-unknown-devices 2017-01-25 16:44:03 +00:00
Richard van der Hoff
21f3aeac8e Revert accidental change
This was an unrelated change which is being done on another branch anyway
2017-01-25 16:40:27 +00:00
Richard van der Hoff
5099f07562 Fix dark theme styling of roomheader cancel button 2017-01-25 16:33:29 +00:00
Kegan Dougal
bea6df88e0 Move BugReportDialog to riot-web 2017-01-25 16:33:00 +00:00
Richard van der Hoff
55dc2e0161 Factor out common CancelButton 2017-01-25 16:32:06 +00:00
Kegsay
e5fde759e6 Merge pull request #642 from matrix-org/kegan/rageshake-ui
Add bug report UI
2017-01-25 16:03:22 +00:00
David Baker
a3b938427d Merge pull request #625 from matrix-org/dbkr/user_search_feedback
Better feedback in invite dialog
2017-01-25 15:59:47 +00:00
Kegan Dougal
602ce37ba7 Merge branch 'develop' into kegan/rageshake-ui 2017-01-25 15:52:00 +00:00
David Baker
ced1c45a34 Doc state in getinitialstate 2017-01-25 15:23:50 +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
David Baker
e9804086ca Point to InviteAddressType 2017-01-25 15:03:01 +00:00
Richard van der Hoff
adf8f50f6e Merge remote-tracking branch 'origin/develop' into rav/base_dialog 2017-01-25 15:01:11 +00:00
David Baker
fd8d5af63a Fix import of InviteAddressType
and rewrite to import while we're at it
2017-01-25 14:54:21 +00:00
David Baker
9020a7515c Correctly bail out on unknown address 2017-01-25 14:50:00 +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
Luke Barnard
f9ca2a8e59 Fix _renderCommaSeparatedList 2017-01-25 11:28:12 +00:00
Luke Barnard
b887d5b823 Much linting 2017-01-25 11:05:45 +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
Luke Barnard
8091cf7df8 Enumerate->label 2017-01-25 09:32:28 +00:00
Luke Barnard
f8e46819c5 Rename truncated->coalesced 2017-01-25 09:28:26 +00:00
Luke Barnard
3b8b2cf500 Document _getCanonicalTransitions 2017-01-25 09:18:47 +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
6e55bb4956 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:15:00 +01: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
79e1108564 Merge branch 'develop' into rav/base_dialog 2017-01-24 21:03:08 +00:00
Richard van der Hoff
72492fd909 Fix broken merge
I messed up the merge in 6dd46d5.
2017-01-24 20:55:10 +00:00
Richard van der Hoff
6dd46d532a Merge remote-tracking branch 'origin/develop' into rav/hotkey-ux 2017-01-24 20:47:24 +00:00
David Baker
6c263c1c89 Change what AddressTile takes to be Objects
Rather than just passing in a list of strings. This paves the way
for passing in display names & avatars of looked-up threepids.
2017-01-24 18:23:34 +00:00
Richard van der Hoff
56cf7a6af7 Create a common BaseDialog
I'm fed up with copying the boilerplate for modal dialogs the whole time.
2017-01-24 18:18:54 +00:00
Kegan Dougal
5991172182 Review comments 2017-01-24 15:51:53 +00:00
Kegan Dougal
3b9a112136 Add bug report UI 2017-01-24 14:47:11 +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
d690677bde Merge branch 'luke/fix-join-part-collapsing-causality' of github.com:matrix-org/matrix-react-sdk into luke/fix-join-part-collapsing-causality
Conflicts:
	src/components/views/elements/MemberEventListSummary.js
2017-01-24 14:17:11 +00:00
David Baker
5091bab657 Fix failed merge #2 2017-01-24 13:59:02 +00:00
David Baker
5f24fc3e5d Fix merge fail 2017-01-24 13:56:22 +00:00
David Baker
f1f6fc809c Merge remote-tracking branch 'origin/develop' into dbkr/user_search_feedback 2017-01-24 11:26:09 +00:00
David Baker
506d37bbad Merge remote-tracking branch 'origin/develop' into dbkr/add_searching_known_users 2017-01-23 11:34:44 +00:00
David Baker
f64a4e0ecb Merge pull request #623 from matrix-org/dbkr/user_search_word_boundary
Make user search do a bit better on word boundary
2017-01-23 11:31:26 +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
d9c0513ee2 make it work 2017-01-21 22:49:29 +01:00
Matthew Hodgson
532f4e59c9 literally blindly add verification buttons 2017-01-21 19:06:15 +01:00
Matthew Hodgson
071e364be2 improve the verify warning if blacklisting is unabled 2017-01-21 17:56:48 +00:00
Matthew Hodgson
c618880af9 oops 2017-01-21 17:43:46 +00: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
2e15e8f9b4 very barebones support for warning users when rooms contain unknown devices 2017-01-21 05:13:36 +00:00
Matthew Hodgson
937f13d578 fix a bunch of dark-theme buttons 2017-01-20 21:00:22 +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
2d060c8d2e Fix error display in account deactivate dialog 2017-01-20 11:04:47 +00:00
Matthew Hodgson
b76b0f755d fix context menu bg 2017-01-20 02:47:47 +00:00
David Baker
afa384c4f3 Use null instead of false 2017-01-19 18:13:27 +00:00
David Baker
a2ff1cd8e6 Factor out adding the input field to the list 2017-01-19 17:03:16 +00:00
David Baker
ee1f6c772e Remove duplicate case handled above
And fix typo where it was handled
2017-01-19 16:50:09 +00:00
David Baker
2a08abaa95 Keep old behaviour of submitting on enter
if input is empty
2017-01-19 16:35:40 +00:00
David Baker
d8bcc1f067 Merge remote-tracking branch 'origin/develop' into dbkr/sanitize_chatinvitedialog 2017-01-19 16:26:59 +00:00
Richard van der Hoff
ba2460aef4 Merge pull request #618 from matrix-org/rav/async_dialog
Allow Modal to be used with async-loaded components
2017-01-19 16:08:30 +00:00
Kegsay
89fa47dc26 Merge pull request #622 from kyrias/commonmark-fix-escaping
Fix escaping markdown by rendering plaintext
2017-01-19 13:39:07 +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
Johannes Löthberg
9c1c657a1e Markdown: delete remaining pre-split relics
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-19 11:55:36 +01:00
David Baker
b58a67f6b1 Add more punctuation. Also s/let/const/ 2017-01-19 10:51:43 +00:00
David Baker
242f5e0301 PR feedback
* Doc & properly indent escapeRegExp
 * Add close bracket to the list of punctuation chars we search after
2017-01-19 10:24:21 +00: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
David Baker
7b7728c93a Make behaviour of ChatInviteDialog more consistent
* Pressing enter now always adds whatever was in the input box
   to the invite list, if it's a valid address (previously it
   added it to the list of it was a search result but submitted
   the form straight away if there were no results).
 * Remove isValidAddress as it was only used in the context of
   testing whether its return value was true or null (where null
   meant "unsure") so just use getAddressType instead.
2017-01-18 18:32:38 +00:00
Johannes Löthberg
30bd01cdf2 Markdown: Split up render function into toHTML/toPlaintext
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-18 19:29:11 +01:00
David Baker
f105ec2794 Attempt to sanitize ChatInviteDialog a bit
* Use binds rather than onFoo functions which aren't actually
   handler functions themselves but return them
 * Rename onKeyUp to moveSelectionDown etc,, reserving onKeyUp
   for "a key has been released" rather than, "the up arrow key
   has been pressed"
2017-01-18 17:51:39 +00:00
David Baker
de621902fc Better feedback in invite dialog
Show feedback if you enter a valid but unknown email address
or mxid

Fixes https://github.com/vector-im/riot-web/issues/2933
2017-01-18 15:21:50 +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
lukebarnard
5dd1512ff2 Move aggregation code to dedicated function 2017-01-18 10:59:19 +01:00
lukebarnard
484549e50b Refactor a few things and document everything 2017-01-18 10:26:25 +01:00
Johannes Löthberg
c819b433a2 Make old message composer use new markdown
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-17 20:37:27 +01:00
David Baker
a87e7d6617 Make user search do a bit better on word boundary 2017-01-17 18:17:51 +00:00
lukebarnard
3ba9f50873 Move functions around, remove redundancies, add docs 2017-01-17 19:07:45 +01:00
lukebarnard
9574a0b663 Remove pointless length guard 2017-01-17 18:56:57 +01:00
Johannes Löthberg
893a5c971f Fix escaping markdown by rendering plaintext
We still need to parse "plaintext" messages through the markdown
renderer so that escappes are rendered properly.

Fixes vector-im/riot-web#2870.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-17 16:23:58 +01:00
David Baker
0b67fd5b4e Add 'searching known users' to the user picker
So it's more obvious it's only finding people you've already seen

Fixes https://github.com/vector-im/riot-web/issues/2931
2017-01-17 14:48:50 +00:00
Matthew Hodgson
a18d94099e switch to using <span/> for edit button 2017-01-17 14:11:15 +00:00
lukebarnard
45655f4de3 Modified desc for invitation rejections, withdrawals 2017-01-17 12:01:19 +01:00
lukebarnard
aa6e168505 Remove comment 2017-01-16 18:58:53 +01:00
lukebarnard
5ab287fa1a Use pre-calculated displaynames to handle dupes 2017-01-16 18:57:49 +01:00
lukebarnard
a79dc886ba Order sequences by occurance of the first event in each sequence 2017-01-16 18:46:17 +01:00
Richard van der Hoff
ac22803ba0 Allow Modal to be used with async-loaded components
Add Modal.createDialogAsync, which can be used to display asynchronously-loaded
React components. Also make EncryptedEventDialog use it as a handy
demonstration.
2017-01-16 17:18:38 +00:00
lukebarnard
4be444d524 Move shouldComponentUpdate 2017-01-16 15:12:00 +01:00
lukebarnard
82d6805a71 Canonicalise certain transition pairs, handle arbitrary consecutive transitions
Transition pairs joined,left and left,joined are now transformed into single meta-transitions "joined_and_left" and "left_and_joined" respectively. These are described as "joined and left", "left and rejoined".

Treat consecutive sequences of transitions as repetitions, and handle any arbitrary repetitions of transitions:

...,joined,left,joined,left,joined,left,...

is canonicalised into
...,joined_and_left, joined_and_left, joined_and_left,...

which is truncated and described as
... , joined and left 3 times, ...

This also works if there are multiple consecutive sequences separated by other transitions:

..., banned, banned, banned, joined, unbanned, unbanned, unbanned,...

becomes
... was banned 3 times, joined, was unbanned 3 times ...
2017-01-16 14:49:07 +01:00
lukebarnard
fb68fff536 Refactor renderCommaSeparated for reuse 2017-01-16 13:45:42 +01:00
Jani Mustonen
b323551f22 Adhered to code review 2017-01-13 19:36:41 +02:00
Jani Mustonen
5e013860ee Definition for AccessibleButton 2017-01-13 19:36:41 +02:00
Jani Mustonen
959163f2ef Proper accessible buttons 2017-01-13 19:36:41 +02:00
Jani Mustonen
041196d729 Added quick search functionality 2017-01-13 19:36:40 +02:00
Jani Mustonen
d2ff2715ce Buttonified almost everything. Stylesheet is broken. 2017-01-13 19:36:40 +02:00
Jani Mustonen
8d79716421 Turned the links to buttons to comply with MDN's recommendations 2017-01-13 19:36:40 +02:00
Jani Mustonen
ad072cc179 Turned buttons from divs to links. Makes it possible for screen readers and hotkeys to recognize the buttons. 2017-01-13 19:36:40 +02:00
Luke Barnard
77ae041407 Order names by order of first events for users 2017-01-13 16:40:33 +00:00
Kegan Dougal
dcd0acb2b5 Review comments 2017-01-13 15:17:34 +00:00
Kegan Dougal
e196cfaf91 Show the error dialog when requests to PUT power levels fail
This is why I dislike Q.
2017-01-13 14:51:01 +00:00
Luke Barnard
d2d78919ce Overhaul MELS to deal with causality, kicks, etc.
The MELS can now deal with arbitrary sequences of transitions per user, where a transition is a change in membership. A transition can be joined, left, invite_reject, invite_withdrawal, invited, banned, unbanned or kicked.

Repeated segments (modulo 1 and 2), such as joined,left,joined,left,joined will be handled and will be rendered as " ... and 10 others joined and left 2 times and then joined". The repeated segments are assumed to be at the beginning of the sequence. This could be improved to handle arbitrary repeated sequences.
2017-01-12 18:55:53 +00:00
Matthew Hodgson
cc8b3d4ba4 spell out email invites better 2017-01-12 13:46:19 +00:00
Luke Barnard
baaf827c48 Use getStateKey instead of getSender
This makes sure that the kickee is not the user used for the MemberEventListSummary
2017-01-11 17:03:14 +00:00
Sijmen Schoon
ef88e02931 Add support for pasting into the text box
Only supports the new rich-text-supporting text editor
2017-01-08 02:21:36 +01:00
Matthew Hodgson
e2e3bc0637 improve captcha warning 2016-12-24 18:40:20 +00:00
Matthew Hodgson
69b277b282 ask electron users to do captchas in a web browser.
This will happen anyway when they follow email verification links.
make captchas poll for success so if they are completed elsewhere, electron moves on
2016-12-24 03:15:30 +00:00
Matthew Hodgson
b1c4c759f4 blind fix for captcha on electron 2016-12-23 14:35:40 +00:00
Daniel Dent
7c841a86ef Unbranded error messages 2016-12-21 14:28:01 -08:00
Luke Barnard
2658cd09b5 Fix scroll jumping when a video is decrypted
Call the `onWidgetLoad` prop on MVideoBody to notify the scroll panel to keep it's position when the size of the video widget updates.
2016-12-20 12:33:07 +00:00
Matthew Hodgson
d0d056e308 hide read markers 2016-12-20 02:26:23 +00:00
Luke Barnard
7475056bb4 MELS component should update if there are fewEvents, effectively expanding the summary 2016-12-15 18:33:13 +00:00