Commit Graph

3326 Commits (2b67c1245fa1626b4b13b72807131bdf307b896f)

Author SHA1 Message Date
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 128db1a679 Merge pull request #627 from matrix-org/matthew/fix-theme-npe
Matthew/fix theme npe
2017-01-18 22:11:07 +00: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
Johannes Löthberg 14ead373e2 Add markdown test-cases
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-18 20:54:34 +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
Matthew Hodgson 4d7ed9a58f Merge pull request #624 from matrix-org/matthew/postcss
Implement theming via alternate stylesheets
2017-01-18 16:46:37 +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
Johannes Löthberg 6d2e521421 Markdown: Add comment about out function override
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-18 14:25:11 +01: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
Richard van der Hoff 31df78f946 Use text-encoding-utf-8 as a TextEncoder polyfill
Somebody else seems to have done a good job of polyfilling TextEncoder, so
let's use that.
2017-01-18 11:39:44 +00:00
lukebarnard 41d2697e28 Remove `done`, const instead of var for `requier`s 2017-01-18 12:03:38 +01:00
lukebarnard 867a532e5e Remove parentDiv from tests 2017-01-18 11:58:54 +01:00
lukebarnard 78e2c787e0 Refactor and document test helpers. 2017-01-18 11:53:17 +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 2e3bdcf5c6 Markdown: Don't XML escape the output when not HTML
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-17 22:20:05 +01:00
Johannes Löthberg 49d60ff879 Markdown: softbreak is not HTML
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-17 21:04:12 +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
Johannes Löthberg 35d70f0b35 markdown: Only add \n\n on multiple paragraphs
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2017-01-17 20:32:06 +01:00
Matthew Hodgson 8288eb730c a rather hacky implementation of theme switching 2017-01-17 19:13:23 +00:00
Matthew Hodgson c2cdb626bd let the tinter handle 'white' highlights of SVGs too 2017-01-17 19:13:04 +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
lukebarnard 49f2b9df88 Remove duplicate test 2017-01-17 18:53:38 +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
Kegsay fcb1d7a664 Merge pull request #575 from kyrias/commonmark
Replace marked with commonmark
2017-01-17 11:57:08 +00:00
David Baker cf8af5f49e Merge pull request #619 from matrix-org/kegan/better-reg-err-msgs
Fix vector-im/riot-web#2833 : Fail nicely when people try to register numeric user IDs
2017-01-17 11:54:05 +00:00
lukebarnard ade7c65617 Add test for MemberEventListSummary 2017-01-17 12:01:54 +01:00
lukebarnard 45655f4de3 Modified desc for invitation rejections, withdrawals 2017-01-17 12:01:19 +01:00
Kegan Dougal 4f860b4c6d Review comments: If-statement style 2017-01-17 10:50:44 +00:00
Richard van der Hoff 09ce74cc76 Fix a couple of minor review comments 2017-01-16 18:44:46 +00: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
Kegan Dougal f168f9cd06 Fix vector-im/riot-web#2833 : Fail nicely when people try to register numeric user IDs 2017-01-16 17:25:44 +00: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