Commit Graph

2826 Commits (e1a40a8ef0ed973b185fd3c65e0e2b0e7ca67cc9)

Author SHA1 Message Date
Richard van der Hoff 81d95ecea0 Fix cancel button on e2e import/export dialogs
Make sure that we preventDefault on the cancel button.

Fixes https://github.com/vector-im/riot-web/issues/3066
2017-01-25 22:15:09 +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
David Baker 8a5e19f64f Merge pull request #649 from matrix-org/rav/stack_dialogs
Allow modals to stack up
2017-01-25 16:45:50 +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
Kegan Dougal e9de34ec40 We no longer supply a BugReportDialog 2017-01-25 16:35:16 +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
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
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
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 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 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
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
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
Luke Barnard f9ca2a8e59 Fix _renderCommaSeparatedList 2017-01-25 11:28:12 +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
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 10018374f8 Allow modals to stack up
Show the most recent modal; if we end up with more than one, just show the most
recent.
2017-01-25 07:44:33 +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
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
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 b148619c52 warn on logout too 2017-01-24 22:47:03 +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 86276450f6 Add AccessibleButton to component-index 2017-01-24 21:27:57 +00: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
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
Richard van der Hoff c0de0870ed Some sarcastic comments 2017-01-24 13:32:17 +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 3df686c272 Merge pull request #638 from matrix-org/rav/unbreak_verification
Fix device verification from e2e info
2017-01-23 12:33:25 +00:00
Richard van der Hoff dc08d9dfdf Fix device verification from e2e info
Don't attempt to reuse the same AsyncWrapper for different dialogs - which ends
up pushing the props for the new dialog into the old dialog.

Fixes https://github.com/vector-im/riot-web/issues/3020
2017-01-23 12:18:41 +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 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 39c122fe4f fix local storage idiocy 2017-01-21 22:27:55 +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
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 bb7d589287 Merge pull request #617 from matrix-org/rav/megolm_backup
Megolm session import and export
2017-01-19 16:14:18 +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
Richard van der Hoff 8b60cb9df0 Megolm export: Clear bit 63 of the salt 2017-01-19 10:43:41 +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
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 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
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
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
lukebarnard fb68fff536 Refactor renderCommaSeparated for reuse 2017-01-16 13:45:42 +01:00
Richard van der Hoff d63f7e8359 Expose megolm import/export via the devtools 2017-01-14 01:34:34 +00:00
Richard van der Hoff f8e56778ea Encryption and decryption for megolm backups 2017-01-14 01:34:34 +00:00
Richard van der Hoff 1d5d44d63d TextEncoder polyfill
Apparently Safari doesn't sport a TextEncoder, so here's a polyfill for it.
2017-01-14 00:45:51 +00: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 37d9108ceb Add error popup if screen sharing fails 2017-01-11 10:06:48 +00:00
David Baker a16aae1124 Move screen sharing error check into platform
Because on the browser it depends on HTTPS, on electron it doesn't
matter.
2017-01-10 18:37:57 +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 9c4671568d fix disasterous thinko in 69b277b282 2016-12-24 22:33:04 +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
Richard van der Hoff 4804fb3a1c Revert "Fix performance issues with wantsDateSeperator"
This change broke timezone handling, so that date-separators are shown at the
wrong time of day.

This reverts commit b908e7ef29.
2016-12-21 09:48:41 +00: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
David Baker 4be14080e1 Fix cancel button on uploads 2016-12-16 17:12:04 +00:00
Richard van der Hoff b8c0fa507e Merge pull request #590 from matrix-org/luke/fix-membereventlistsummary-performance
Improve the performance of MemberEventListSummary
2016-12-16 10:53:51 +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
Luke Barnard 6b52b247e7 Update comment on MELS key 2016-12-15 18:26:41 +00:00
Luke Barnard 88aeb6417e Use the first member event ID or "initial" in the MELS key 2016-12-15 18:23:54 +00:00
Kegsay 71132c4610 Merge pull request #592 from matrix-org/kegan/bulk-reject-invites
Implement bulk invite rejections
2016-12-15 16:16:55 +00:00
Kegan Dougal ec41fc284a Null guard on componentWillUnmount 2016-12-15 16:13:09 +00:00
Luke Barnard 55f85befc1 Allow component to update if currently expanded or if about to collapse 2016-12-15 14:43:59 +00:00
Kegan Dougal 8a511ed54b Add .done() to catch exceptions which may be thrown in setState 2016-12-15 14:17:29 +00:00
Luke Barnard e7564f4dc5 Spelling 2016-12-15 13:16:36 +00:00
Luke Barnard 86739e7d1e Simplify handling of only one member event 2016-12-15 13:15:00 +00:00
Kegan Dougal 8f42134d9f Explain why binding 2016-12-14 16:04:20 +00:00
Luke Barnard b908e7ef29 Fix performance issues with wantsDateSeperator
This was causing rendering of MemberEventListSummary to be quite slow. Instead of creating two date objects, just check to see if they represent timestamps that happened on different days.
2016-12-14 16:01:32 +00:00
Kegan Dougal 13dfe9ef0f Implement bulk invite rejects 2016-12-14 16:00:50 +00:00
Luke Barnard c07e5d4992 Improve the performance of MemberEventListSummary
- The MessagePanel now uses the same key for the MELS instances rendered so that entirely new instances are not created, they are simply passed new props (namely when new events arrive).
- MELS itself now uses `shouldComponentUpdate` so that it only updates if it is given a different number of events to previous or if it is toggled to expand.
2016-12-14 15:31:35 +00:00
Kegan Dougal 1d4591ce68 Add UI in UserSettings for bulk rejecting invites 2016-12-14 15:01:50 +00:00
Kegsay 21e7b03e53 Merge pull request #586 from matrix-org/kegan/read-receipt-show-time-on-hover
Add read receipt times to the hovertip of read markers
2016-12-09 13:19:44 +00:00
Kegan Dougal 5d99d68a64 Show the full date and time if the receipt was sent days after the event 2016-12-09 11:43:23 +00:00
Kegan Dougal 49010c3e93 Refactor how 'readReceipts' are passed into EventTiles
Instead of passing a list of RoomMembers, pass a list of records with a
`roomMember` prop and a `ts` prop so we can display the timestamp on hover.
2016-12-09 11:24:10 +00:00
David Baker 8d1095bc26 Don't throw exception on stop if no DMRoomMap
Prevents an exception when running the riot 'loading' tests in
isolation
2016-12-09 10:32:56 +00:00
Kegan Dougal bd7553d1ea Add read receipt times to the hovertip of read markers
Fixes #2709. Surprisingly, this data was never passed down to
ReadReceiptMarker.
2016-12-08 16:23:20 +00:00
Richard van der Hoff 587325b36c Merge pull request #585 from matrix-org/dbkr/fix_exception_roomdir
Fix exception when clearing room dir search
2016-12-06 15:58:07 +00:00
David Baker fe0dc85d66 Merge pull request #583 from matrix-org/luke/fix-post-message-api-origin-check
Allow integration UI URLs with paths
2016-12-06 15:00:26 +00:00
David Baker 9e3c94edf4 Fix exception when clearing room dir search
Needed more isMounted checks after promises return.
2016-12-06 14:59:10 +00:00
Richard van der Hoff b3f642e835 Merge pull request #584 from matrix-org/dbkr/search_box_field_name
Give the search box field a name
2016-12-06 14:48:25 +00:00
David Baker a3ab59832e Give the search box field a name
Should fix https://github.com/vector-im/riot-web/issues/2462
2016-12-06 14:40:09 +00:00
Luke Barnard ef1cb9530f Allow integration UI URLs with paths
The postMessage API assumed that event origins contained paths of their window origins, but they do not (https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage). This changes the origin check such that the integrations UI URL must start with the event origin.
2016-12-06 14:30:21 +00:00
David Baker 28e663dd48 Pass the room object into displayNotification
It needs it to do the view_room if the notification is clicked.
2016-12-06 13:27:36 +00:00
David Baker 6777e07a41 Remove device name from crypto section
As it was getting it by assuming our device was the first one,
which is just not a valid assumption.
2016-12-05 20:03:43 +00:00
David Baker 8ffe14881e Don't throw an exception entering settings page
if end to end encryption is disabled (eg. if you're a guest and
the server is too old to support e2e for guests).
2016-12-05 18:33:38 +00:00
Johannes Löthberg f321c6c346 Strip (IRC) when clicking on username
Fixes vector-im/riot-web#2072.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-12-03 01:20:50 +01:00
Mark Haines 81e429eb14 Fix e2e attachment download by using iframes. (#562)
* Render attachments inside iframes.

* Fix up the image and video views

* Fix m.audio

* Comments, and only use the cross domain renderer if the attachment is encrypted

* Fix whitespace

* Don't decrypt file attachments immediately

* Use https://usercontent.riot.im/v1.html by default

* typos

* Put the config in the React context.

Use it in MFileBody to configure the cross origin renderer URL.

* Call it appConfig in the context

* Return the promises so they don't get dropped
2016-12-02 14:21:07 +00:00
Luke Barnard 5665a0ef37 Fix scroll jump on image decryption
`onWidgetLoad` is now being called when an image has been decrypted so that the ScrollPanel maintains its scroll position (whether it's stuckAtBottom or not). This attempts to fix https://github.com/vector-im/riot-web/issues/2624
2016-12-02 11:11:35 +00:00
Kegan Dougal 5d03543f85 Make cut operations update the tab complete list 2016-11-30 10:49:40 +00:00
Johannes Löthberg 5f160d2e7f Markdown: Use .call instead of .bind
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-11-30 01:03:05 +01:00
Johannes Löthberg 4d2926485b Replace marked with commonmark
Marked has some annoying bugs, and the author is inactive, so replace it
with commonmark.js, which is the reference JavaScript implementation of
CommonMark.  CommonMark is also preferable since it has a specification,
and a conformance test suite to make sure that parsers are correct.

Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2016-11-29 23:14:04 +01:00
Richard van der Hoff c7fb83ed2d s/block/blacklist for e2e
Fixes https://github.com/vector-im/vector-web/issues/2315
2016-11-29 18:48:43 +00:00
David Baker 21d65d2ad1 Fix the download icon on attachments 2016-11-25 23:19:20 +00:00
David Baker 8547d00f32 Don't default the page_type to room directory
As it breaks the behaviour of redirecting to /#/directory
2016-11-24 16:39:48 +00:00
David Baker 2aba646acd Clear room alias etc. on logout 2016-11-24 14:58:37 +00:00
David Baker 0069393650 Go back to same room after logging in 2016-11-24 13:28:51 +00:00
David Baker 0bc4659fe0 Fix crash on logging in
If you arrived at the page via a link to a room.

Fixes https://github.com/vector-im/vector-web/issues/2634
2016-11-24 12:33:31 +00:00
Richard van der Hoff 6e6bcf8b78 Reinstate missing sections from the UserSettings
The 'devices' and 'cryptography' sections got removed from UserSettings by #566.
2016-11-23 11:08:21 +00:00
Luke Barnard 42fc7b1b66 Use UNFILL_REQUEST_DEBOUNCE_MS constant, reset unfillDebouncer timeout reference. 2016-11-22 17:23:06 +00:00
Luke Barnard d1a5d94916 Make the unpagination process less aggressive
This increases `UNPAGINATION_PADDING` (see the ASCII on ScrollPanel.js, `_getExcessHeight`), and also debounces unfilling requests made for 200ms. This forces unfilling requests not to be sent unless the next 200ms has no scrolling, effectively.
2016-11-22 16:47:56 +00:00
Richard van der Hoff 06f12b91b8 Merge pull request #566 from matrix-org/rav/remove_dead_labs_settings
Get rid of always-on labs settings
2016-11-21 10:38:06 +00:00
Richard van der Hoff 4476b09ce7 Get rid of always-on labs settings
If the setting is on by default, it's not much use as a Labs setting. The E2e
setting was only confusing everyone anyway.
2016-11-21 10:25:48 +00:00
Richard van der Hoff 03988015aa Fix 'Quote' for e2e messages
Fixes https://github.com/vector-im/vector-web/issues/2612
2016-11-21 09:19:40 +00:00
Matthew Hodgson 2e691240ae fix e2e disclaimer 2016-11-19 02:44:36 +02:00
Matthew Hodgson 8a5678efdd boldify the preview bar click 2016-11-19 01:20:09 +02:00
Mark Haines 7cb3c0935b Make the spinner smaller, don't decrypt files as eagerly (#564) 2016-11-18 20:08:26 +00:00
Luke Barnard 341175ea58 Fix pagination issue where recent events are lost (#563)
Fix pagination issue where recent events are lost

Scrolling up a few pages followed by scrolling down to the most recent events previously caused some events to go missing. A test has been modified in conjunction with this fix to make sure that this failure mode is tested for in future. This commit should fix the issue, and the most recent events should be paginated back in.
2016-11-18 11:15:14 +00:00
Richard van der Hoff f3582edb99 Merge pull request #560 from matrix-org/luke/fix-join-part-collapsing-regressions2
Fix more membership change collapsing bugs
2016-11-16 16:33:18 +00:00
Luke Barnard 7e88f0083d Fix more join-part collapsing regressions
Use the previous content of the first event known for a user in a block of membership changes. This means single events are not special cased.
2016-11-16 16:26:24 +00:00
Luke Barnard 3618b49982 Use new js-sdk public unpaginate 2016-11-16 16:10:23 +00:00
Luke Barnard 324448563a If only one mevent, return than one
Also, the net change of nil is detected as having the first and last events being _different_. The summary should only include those that have their first and last events being the _same_ because that is a net change (within the block of member events).
2016-11-16 16:07:19 +00:00
Luke Barnard beecbc7cd7 Fix join/part collapsing regressions (#553)
* Fix join/part collapsing regressions

* Simplify loop

* Explain e,e

* Explain return null in _renderSummary

* Kill it properly

* Move . to _renderSummary

* Only use the first and last events to decide whether a net change has occured

* Do not sort events by TS before summarising

* fix loop and comment

* remove data-number-events

* Better explanation comment in _renderSummary

* Less tortuous comment
2016-11-16 14:42:30 +00:00
Luke Barnard b718f1542c Fix infinite loop when there are a lot of invisible events (#554)
Instead of using a window of a fixed number of events, unpaginate based on the distance of the viewport from the end of the scroll range.

The ScrollPanel uses the scrollTokens to convey to its parent (the TimelinePanel, in this case) the point to unpaginate up to. The TimelinePanel then takes a chunk of events off the front or back of `this.state.events` using `timelineWindow.unpaginate`.

Fixes https://github.com/vector-im/vector-web/issues/2020
2016-11-16 14:25:52 +00:00
Mark Haines 6ccc825f0d Cache the tinted SVGs for MFileBody as data URLs (#559)
* Use a list of callbacks for things that need tinting.

Rather than gutwrenching the internals of TintableSVG inside the Tinter.

* Share a data: url for the tinted download svg in MFileBody

* Check image exists before tinting

* Add comments

* Use fetch+DomParser rather than XMLHttpRequest

* Remove comment about XMLHttpRequest
2016-11-16 14:16:51 +00:00
David Baker 218ced0276 Merge pull request #557 from matrix-org/rav/show_padlock_on_unencrypted_room
Show an open padlock for unencrypted rooms
2016-11-16 13:03:52 +00:00
Mark Haines 595493e5bb Clean up MFileBody.presentableTextForFile 2016-11-15 15:58:24 +00:00
David Baker bb776c217d Merge pull request #556 from matrix-org/rav/decrypt_after_keys_arrive
Update eventtiles when the events are decrypted
2016-11-15 14:56:21 +00:00
Richard van der Hoff a3d4ed5aee Show an open padlock for unencrypted rooms
Also, add a tooltip, and enlarge the img to 12px wide, because the open padlock
looked silly at 10px and they both look fine at 12px
2016-11-15 12:31:17 +00:00
David Baker ec999f6fa1 Merge pull request #552 from matrix-org/rav/event_tile_withmatrixclient
Update EventTile to use WithMatrixClient instead of MatrixClientPeg
2016-11-15 11:25:48 +00:00
Mark Haines 13f28e53e1 Generate thumbnails when sending m.image and m.video messages. (#555)
* Send a thumbnail when sending a m.image

* Use the 'thumbnail_file' when displaying encrypted images

* Whitespace

* Generate thumbnails for m.video

* Fix docstring, remove unused vars, use const

* Don't change the upload promise behaviour

* Polyfill for Canvas.toBlob to support older browsers

* Lowercase for integer types in jsdoc
2016-11-15 11:22:39 +00:00
Richard van der Hoff b209cc551e Update eventtiles when the events are decrypted
Events are sometimes decrypted after they arrive, so add an eventlistener for
it and update the tile.
2016-11-15 11:12:52 +00:00
Richard van der Hoff 0e8a49ebb7 Update EventTile to use WithMatrixClient instead of MatrixClientPeg 2016-11-14 16:00:24 +00:00
Matthew Hodgson 69f6393ed9 try to make joining rooms more obvious 2016-11-13 14:13:21 +00:00
Matthew Hodgson a967ddd1cb quick and dirty support for custom welcome pages, with an example for geektime techfest 2016-11-13 14:10:46 +00:00
Richard van der Hoff 34df6ea242 Complete attachment-encryption patch
https://github.com/matrix-org/matrix-react-sdk/pull/533 originally landed in
the wrong branch, and was reverted by
https://github.com/matrix-org/matrix-react-sdk/pull/546.
https://github.com/matrix-org/matrix-react-sdk/pull/548 attempted to land it on
the develop branch, but omitted a small amount of the patch.

This lands the final part, which got missed out.
2016-11-12 12:20:36 +00:00
Mark Haines 2eb9d90b86 Disable conference calling for encrypted rooms 2016-11-11 15:49:21 +00:00
David Baker 1ff3a86457 Merge pull request #548 from matrix-org/markjh/encrypted-attachments
Encrypt attachments in encrypted rooms
2016-11-11 14:49:52 +00:00