Commit graph

1975 commits

Author SHA1 Message Date
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
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
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
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
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
c47d3e04a5 Merge pull request #621 from matrix-org/dbkr/add_searching_known_users
Add 'searching known users' to the user picker
2017-01-24 10:51:23 +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
David Baker
3cfa539230 Merge pull request #637 from matrix-org/luke/fix-typing-avatars-displays-me
Fix typing avatars displaying "me"
2017-01-23 12:43:34 +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
Luke Barnard
d97fc0a99a Fix typing avatars displaying "me" 2017-01-23 10:25:33 +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
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
bd0706f103 Merge pull request #626 from matrix-org/dbkr/sanitize_chatinvitedialog
Sanitize ChatInviteDialog
2017-01-19 18:23:36 +00:00
David Baker
afa384c4f3 Use null instead of false 2017-01-19 18:13:27 +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
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
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
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
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
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
Matthew Hodgson
fc63067237 improve commentary 2017-01-18 16:36:27 +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
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
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
Matthew Hodgson
8288eb730c a rather hacky implementation of theme switching 2017-01-17 19:13:23 +00: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
Matthew Hodgson
203172c886 typos 2017-01-17 14:11:01 +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
David Baker
1f96467145 Merge pull request #609 from matrix-org/luke/fix-join-part-collapsing-redacted-joins
Fix redacted member events being visible
2017-01-11 17:10:35 +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
Luke Barnard
6e2a75bbee Fix redacted member events being visible
This was due to the `MemberEventListSummary` not ignoring redacted joins/leaves. This was also causing bug #2765.
2017-01-11 11:27:07 +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
Richard van der Hoff
42de77e588 Remove "Cannot re-join empty room" error
This is a lying error message. burn it with fire
2016-12-27 19:17:48 +00: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
Luke Barnard
2a63017372 Account for timezone in date separator calculation (#595)
* Account for timezone in date separator calculation

Decide on date separators using MatrixEvent.getDate(). This requires matrix-org/matrix-js-sdk#311
2016-12-22 17:54:30 +00:00
David Baker
fd44d9f4d6 Merge pull request #597 from matrix-org/dbkr/delete_threepid
Add support for deleting threepids
2016-12-22 15:31:34 +00:00
David Baker
8a3f2d9e91 Merge pull request #598 from matrix-org/dbkr/display_msisdn_threepid
Display msisdn threepids as 'Phone'
2016-12-22 15:28:09 +00:00
David Baker
a6fdbda011 Get variable name right 2016-12-22 15:26:08 +00:00
David Baker
98b22460ec They're not all emails anymore 2016-12-22 15:03:24 +00:00
Daniel Dent
7c841a86ef Unbranded error messages 2016-12-21 14:28:01 -08:00
David Baker
3dfffa385e Display msisdn threepids as 'Phone'
rather than pretending only email exists
2016-12-21 18:56:50 +00:00
David Baker
5e10ec4ece Add support for deleting threepids 2016-12-21 18:49:38 +00:00