Commit Graph

12768 Commits (50f477dcd04e371100541d8edebaa8191df4c4c5)

Author SHA1 Message Date
Bruno Windels 4a6725d4c2 Message editing: show (edited) marker on edited messages, with tooltip 2019-05-17 11:36:36 +01:00
Weblate 48e2aad6d0 Merge branch 'origin/develop' into Weblate. 2019-05-17 09:40:15 +00:00
Bruno Windels 4bfa385b2e
Merge pull request from matrix-org/bwindels/donteditimages
Message editing: only allow editing of text messages
2019-05-17 09:40:10 +00:00
Weblate 658fb3506a Merge branch 'origin/develop' into Weblate. 2019-05-17 09:36:36 +00:00
Weblate 90d2097275 Merge branch 'origin/develop' into Weblate. 2019-05-17 09:26:46 +00:00
Filip Š 317898048e Translated using Weblate (Slovenian)
Currently translated at 0.7% (11 of 1628 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/sl/
2019-05-17 09:26:46 +00:00
Szimszon 34bd70f738 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1628 of 1628 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/
2019-05-17 09:26:45 +00:00
Tuomas Hietala 2beb854d92 Translated using Weblate (Finnish)
Currently translated at 98.9% (1610 of 1628 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fi/
2019-05-17 09:26:42 +00:00
Travis Ralston e731ce32b8 Translated using Weblate (English (United States))
Currently translated at 44.1% (718 of 1628 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/en_US/
2019-05-17 09:26:38 +00:00
Bruno Windels c0cfa8ad00 only allow editing of text messages 2019-05-17 10:26:19 +01:00
Bruno Windels ca2e6d8eb2 Message editing: shift+enter for newline, enter to send 2019-05-17 10:22:02 +01:00
Travis Ralston 0070540b8a
Merge pull request from matrix-org/t3chguy/fix_devtools_alignment
Apply Flex voodoo for devtools send event dialog
2019-05-16 17:46:13 -06:00
Michael Telatynski b2aad4afb1 remove accidental paste
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-17 00:28:45 +01:00
Travis Ralston 82bd893f03 Mute screen readers over reactions 2019-05-16 16:36:23 -06:00
Michael Telatynski d7c6869188 Apply Flex voodoo
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-16 21:55:17 +01:00
Travis Ralston bc5227a191 Fix some source strings noticed as incorrect by translators 2019-05-16 14:35:56 -06:00
Travis Ralston 0c7aa39273 Merge branch 'develop' into travis/feature/wellknown2 2019-05-16 12:59:50 -06:00
Travis Ralston 1ea5b42cf5
Merge branch 'travis/feature/wellknown2' into travis/wk/mxid 2019-05-16 12:47:37 -06:00
Travis Ralston f75dc9c804
Merge pull request from matrix-org/travis/wk/fallback_hs
Only expose the fallback_hs_url if the homeserver is the default homeserver
2019-05-16 12:46:52 -06:00
Travis Ralston 8c326bff9e
Merge pull request from matrix-org/travis/wk/simplify-phases
Refactor "Next" button into ServerConfig components
2019-05-16 12:46:35 -06:00
Bruno Windels 690ee63bb4 prevent zero-length removals from deleting uneditable parts
This solves an issue where, when backspacing the proceeding character next to a pill,
chrome reports the caret as being in the pill node, not at
the start of the proceeding text node. This would cause the pill
to be removed together with proceeding character.

This is a bug in any case, removing 0 characters
shouldn't remove the part
2019-05-16 19:14:24 +01:00
Bruno Windels 245f48a22c set caret on mount as we usually do, so FF doesn't enter 2 newlines 🤯 2019-05-16 18:39:20 +01:00
Bruno Windels 98e033a529 don't allow newline parts of longer than one newline 2019-05-16 18:13:48 +01:00
Bruno Windels f27607a74c don't put cursor position in NewlinePart after adding it
You can't append to it anyway, so mark it uneditable and skip
uneditable parts if that's where an edit ended up.

This has the added advantage that if there is text after a newly
insert pill, the cursor will be put just before it rather than
in the pill, after the last character.
2019-05-16 17:58:22 +01:00
Bruno Windels 3ef631191b show sending status for replacements as well on local echo 2019-05-16 14:44:00 +01:00
Bruno Windels 31817a91c6 remove replacements flag 2019-05-16 14:43:47 +01:00
Bruno Windels f7de8d4f58 use new events to find out about replacements 2019-05-16 14:43:32 +01:00
J. Ryan Stinnett 006d5d7591 Fix crash for null reactions set 2019-05-16 13:57:02 +01:00
J. Ryan Stinnett 88bee3363c
Merge pull request from matrix-org/jryans/reactions-status-bar
Listen for removed relations
2019-05-16 13:39:47 +01:00
J. Ryan Stinnett e942939be9 Listen for removed relations
The JS SDK has learned how to remove relations when cancelled, so we should also
listen for those as well.

Part of https://github.com/vector-im/riot-web/issues/9731
2019-05-16 13:03:07 +01:00
J. Ryan Stinnett 2e7e71556b Annotations by sender is now a Set 2019-05-16 12:45:41 +01:00
Weblate 10e893b647 Merge branch 'origin/develop' into Weblate. 2019-05-16 09:05:54 +00:00
Szimszon 7f7e7221c5 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1593 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/
2019-05-16 09:05:54 +00:00
Akarshan Biswas 3d86431f14 Translated using Weblate (Hindi)
Currently translated at 45.3% (722 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hi/
2019-05-16 09:05:54 +00:00
J. Ryan Stinnett 0e369bd12e
Merge pull request from matrix-org/jryans/encrypted-reactions
Use `getRelation` helper
2019-05-16 09:45:09 +01:00
J. Ryan Stinnett 33885cb864 Use `getRelation` helper
Use the `getRelation` helper to ensure we always read relation info from the
wire content as required in E2E rooms.
2019-05-16 09:25:33 +01:00
Travis Ralston 6f22acc3c6
Merge pull request from aaronraimist/imageview-tooltip
Add tooltips to rotate and close buttons in ImageView ()
2019-05-15 21:14:20 -06:00
Aaron Raimist c38b5cabb1
Allow the strings to be translated
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-05-15 22:11:51 -05:00
Aaron Raimist bfd37d8089
Add tooltips to rotate and close buttons in ImageView ()
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2019-05-15 22:06:02 -05:00
Travis Ralston 60a13652df
Merge pull request from matrix-org/travis/wk/tooltip
Render underlines and tooltips on custom server names in auth pages
2019-05-15 14:13:44 -06:00
Travis Ralston 6e3b06f364 Human de-linting 2019-05-15 13:56:15 -06:00
Bruno Windels 085f2d199d focus editor after clicking edit 2019-05-15 17:17:35 +01:00
Bruno Windels d73f547f55 reapply pills, link preview, code highlighting, ... after edit 2019-05-15 15:55:03 +01:00
Bruno Windels 6366371c0d add * to fallback messages for edits 2019-05-15 15:54:05 +01:00
Bruno Windels b081a3156f dont show edit button for messages that are not your own 2019-05-15 15:53:49 +01:00
Bruno Windels 76570beb3c
Merge pull request from matrix-org/bwindels/message-edit-editor2
Message editing: adjust to js-sdk changes of marking original event as replaced
2019-05-15 14:11:52 +00:00
David Baker b4d2463d17
Merge pull request from matrix-org/dbkr/fix_sso
Fix Single Sign-on
2019-05-15 14:12:05 +01:00
David Baker fc636c6cb9 lint 2019-05-15 14:00:37 +01:00
David Baker da1bff1c5d Fix Single Sign-on
https://github.com/matrix-org/matrix-react-sdk/pull/2826 checked
that we had data in the crypto store if the had credentials in
localStorage. However, SSO stores creds in localStorage and then
redirects the browser to remove the loginToken parameter from the
URL without starting crypto, so after the redirect, we see creds
in localStorage but no crypto data, and error.

Fix by marking when we've successfully initialised crypto and only
erroring if that flag is set.

Fixes https://github.com/vector-im/riot-web/issues/9695
2019-05-15 13:47:48 +01:00
Bruno Windels 5805a88ab9 adjust to js-sdk changes of marking original event as replaced 2019-05-15 11:54:26 +01:00
Kenneth Larsson e4b4da4f8d Translated using Weblate (Swedish)
Currently translated at 84.8% (1351 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/sv/
2019-05-15 10:24:23 +00:00
Szimszon 6f63df5694 Translated using Weblate (Hungarian)
Currently translated at 100.0% (1593 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/hu/
2019-05-15 10:24:21 +00:00
natowi b55b41257a Translated using Weblate (German)
Currently translated at 92.7% (1477 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/de/
2019-05-15 10:24:20 +00:00
Kévin C 129cb8ea29 Translated using Weblate (French)
Currently translated at 99.9% (1591 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/fr/
2019-05-15 10:24:20 +00:00
Nathan Follens 8a94d00edc Translated using Weblate (Dutch)
Currently translated at 100.0% (1593 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/nl/
2019-05-15 10:24:18 +00:00
Jeff Huang 40d9bc7b34 Translated using Weblate (Chinese (Traditional))
Currently translated at 100.0% (1593 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/zh_Hant/
2019-05-15 10:24:17 +00:00
Slavi Pantaleev 6f393b5d91 Translated using Weblate (Bulgarian)
Currently translated at 100.0% (1593 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/bg/
2019-05-15 10:24:16 +00:00
Osoitz aa361a251b Translated using Weblate (Basque)
Currently translated at 97.7% (1556 of 1593 strings)

Translation: Riot Web/matrix-react-sdk
Translate-URL: https://translate.riot.im/projects/riot-web/matrix-react-sdk/eu/
2019-05-15 10:24:13 +00:00
Bruno Windels edc100163f
Merge pull request from matrix-org/bwindels/message-edit-editor
Initial support for editing messages
2019-05-15 09:23:01 +00:00
Bruno Windels d83e278f6b PR feedback, cleanup 2019-05-15 09:46:08 +01:00
Michael Telatynski 9b40913838
Merge pull request from matrix-org/t3chguy/invite_perms
Check permission to invite before showing invite buttons/disable them
2019-05-14 23:15:59 +01:00
Travis Ralston 9b5830bb08 Restore use of full mxid login
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 15:01:22 -06:00
Travis Ralston 34719b9a2e Only expose the fallback_hs_url if the homeserver is the default HS
See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 13:10:02 -06:00
Travis Ralston bb16357636 Flag all generated configs as non-default by default
The app is expected to flag a particular config themselves as default. This is primarily intended so that other parts of the app can determine what to do based on whether or not the config is a default config.

See https://github.com/vector-im/riot-web/issues/9290
2019-05-14 13:06:56 -06:00
Travis Ralston 4c1ac38dd4 Merge branch 'develop' into travis/feature/wellknown2 2019-05-14 10:53:01 -06:00
Travis Ralston 92c67cdcab
Merge pull request from matrix-org/travis/permalink-without-room
Support a backup room ID in PermalinkCreator
2019-05-14 10:28:26 -06:00
Bruno Windels dc21faa240 send edit also in n.new_content field
so we can have fallback content in the regular content for clients
that don't support edits. Note that we're not reading m.new_content
yet as it's going to be a bit of a headache to change this.

So for now just sending the edit in both the normal content and
the m.new_content subfield, so all events out there already
are well-formed
2019-05-14 16:32:08 +01:00
Bruno Windels fd31e793d1 fix lint 2019-05-14 15:49:53 +01:00
Bruno Windels 0b18ff52c5 pass feature flag to js-sdk 2019-05-14 15:43:10 +01:00
Bruno Windels 45991bc3de replace original event if there have been previous edits 2019-05-14 15:39:24 +01:00
Bruno Windels 15df72e629 reload events when event gets replaced in the timeline 2019-05-14 15:39:24 +01:00
Bruno Windels e2388afb51 consistent naming between serialize and deserialize modules 2019-05-14 15:39:24 +01:00
Bruno Windels 036cb02c0e add feature flag 2019-05-14 15:39:24 +01:00
Bruno Windels 759a4a54ef send the actual m.replace event from composer content 2019-05-14 15:38:16 +01:00
Bruno Windels 34dbe5f314 add newline parts for text messages as well 2019-05-14 15:38:16 +01:00
Bruno Windels 3abdf6b100 also serialize to text and method to tell us if we need html for model 2019-05-14 15:38:16 +01:00
Bruno Windels 2fbe73e658 draft of formatting 2019-05-14 15:38:16 +01:00
Bruno Windels eaf43d7277 correctly parse BRs 2019-05-14 15:38:16 +01:00
Bruno Windels c44fed4bea even less logging 2019-05-14 15:38:16 +01:00
Bruno Windels a3b02cf0cc make logging quiet 2019-05-14 15:38:16 +01:00
Bruno Windels 4ff37ca046 don't show model for now 2019-05-14 15:38:16 +01:00
Bruno Windels 9e0816c51c find caret offset and calculate editor text in same tree-walking algo
instead of having the same logic twice
2019-05-14 15:38:16 +01:00
Bruno Windels 7ebb6ce621 WIP commit, newlines sort of working 2019-05-14 15:38:16 +01:00
Bruno Windels 9f597c7ec0 no comment nodes without react,so can bring this back to simpler version 2019-05-14 15:38:16 +01:00
Bruno Windels 7a85dd4e61 after completion, set caret in next part at start
instead of end of current part
2019-05-14 15:38:16 +01:00
Bruno Windels 2c3453d307 put caret after replaced part if no caretOffset is given by autocomplete 2019-05-14 15:38:16 +01:00
Bruno Windels 1a577eed11 take non-editable parts into account for new caret position 2019-05-14 15:38:16 +01:00
Bruno Windels 8d97c0033e catch this for now as caret behaviour is still a bit flaky 2019-05-14 15:38:16 +01:00
Bruno Windels 580a89875a fix autocompl. not always appearing/being updated when there is no part 2019-05-14 15:38:16 +01:00
Bruno Windels bc14d4f58f comment 2019-05-14 15:38:16 +01:00
Bruno Windels 22587da5ff close autocomplete on enter 2019-05-14 15:38:16 +01:00
Bruno Windels ffff66a92d handle Escape properly
close autocomplete, and also replace with plain text part.

also remove leftover logging
2019-05-14 15:38:16 +01:00
Bruno Windels 64b171198c rerender through callback instead of after modifying model
this way rendering is centralized and we can better rerender
from interaction in the autocompleter
(we didn't have access to caret before)
2019-05-14 15:38:16 +01:00
Bruno Windels aa1b4bb91e keep auto complete code close to each other 2019-05-14 15:38:16 +01:00
Bruno Windels 5e6367ab57 basic support for non-editable parts
e.g. pills, they get deleted when any character of them is removed
later on we also shouldn't allow the caret to be set inside of them
2019-05-14 15:38:16 +01:00
Bruno Windels 4bb8b79942 initial auto complete wrapper, make existing autocompleter work w/ model 2019-05-14 15:38:16 +01:00
Bruno Windels bb73521f0c prefer textContent over innerText as it's faster
and transforms the text less
2019-05-14 15:38:16 +01:00
Bruno Windels 317e88bef2 initial hacky hookup of Autocomplete menu in MessageEditor 2019-05-14 15:38:16 +01:00
Bruno Windels 1330b438d6 initial support for auto complete in model and parts
also move part creation out of model, into partcreator, which
can then also contain dependencies for creating the auto completer.
2019-05-14 15:38:16 +01:00
Bruno Windels 7507d0d7e1 complete proptypes 2019-05-14 15:38:16 +01:00
Bruno Windels a765fdf98a run autocomplete after mounting
componentWillReceiveProps doesn't run after mount,
and is deprecated as well.

Update state after both on componentDidMount and componentDidUpdate
2019-05-14 15:38:16 +01:00
Bruno Windels a2f1f49972 update the DOM manually as opposed through react rendering
react messes up the DOM sometimes because of, I assume, not
being aware of the changes to the real DOM by contenteditable.
2019-05-14 15:38:16 +01:00
Bruno Windels 85adc8953f remove logging 2019-05-14 15:38:16 +01:00
Bruno Windels 0f38753dba some comments 2019-05-14 15:38:16 +01:00
Bruno Windels 8f0074f824 ignore react comment nodes when locating/setting caret 2019-05-14 15:38:16 +01:00
Bruno Windels 6be6492cd2 initial parsing of pills for editor 2019-05-14 15:38:16 +01:00
Bruno Windels 76bb56a2bf initial hookup editor code with react component 2019-05-14 15:38:16 +01:00
Bruno Windels 9f98a6c0e6 add converted prototype code 2019-05-14 15:38:16 +01:00
Bruno Windels 6599d605cd wire up editor component (somewhat hacky) 2019-05-14 15:38:16 +01:00
J. Ryan Stinnett 66aabdca9e
Merge pull request from matrix-org/jryans/gif-autoplay
Always thumbnail for GIFs
2019-05-14 14:07:58 +01:00
J. Ryan Stinnett f19e70c219 Add comment about thumbnailing for GIFs 2019-05-14 13:55:38 +01:00
Pierre Boyer a62f68bd39 Hide autocomplete on Enter key press instead of sending message 2019-05-14 13:44:01 +02:00
David Baker 7ac82a23ab Yes yes, eslint 2019-05-14 12:11:07 +01:00
David Baker c11d26d809 Fix email registration, pt. 2
Regressed in https://github.com/matrix-org/matrix-react-sdk/pull/2768
where we check for an existing stored account first and restore that
instead if it exist, telling the user. We usually make a guest account
when the user first hits the page though, so this just restored this
guest account.

Don't restore the account if it's just a guest account (which, as per
comment, is not perfect, but is definitely better than the current
behaviour).

Fixes https://github.com/vector-im/riot-web/issues/9581
2019-05-14 11:59:38 +01:00
David Baker a0ecd89c94 Fix email registration: pt. 1
We look to see if there's already a user logged in and if there is,
restore that session instead of logging the user in as their new
account. We still set this 'is_registered' flag though, even though
in that case it's not a newly registered account that's being restored,
so don't set in that case.
2019-05-14 11:44:00 +01:00
Travis Ralston 25e3f7888e newline for the linter 2019-05-13 18:31:43 -06:00
Travis Ralston e4576dac28 Render underlines and tooltips on custom server names in auth pages
See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 17:16:40 -06:00
Travis Ralston ee33a4e9ba Refactor "Next" button into ServerConfig components
TODO still remains about making ModularServerConfig extend ServerConfig instead of duplicating everything.

See https://github.com/vector-im/riot-web/issues/9290
2019-05-13 16:30:34 -06:00
Travis Ralston 1584ab42c2 Support a backup room ID in PermalinkCreator
In the case of room upgrades, it is possible the client is trying to render the room create event, but the user has never been in the old room. This results in an error because the PermalinkCreator cannot possibly figure out a room ID. 

Instead, we'll feed the creator an alternate room ID to try if the room object can't be provided.

Fixes https://github.com/vector-im/riot-web/issues/9636
2019-05-13 14:12:58 -06:00
J. Ryan Stinnett 7881369b98 Always thumbnail for GIFs
When displaying a GIF, we always want to thumbnail so that we can properly
respect the user's GIF autoplay setting (which relies on thumbnailing to produce
the static preview image).

Fixes https://github.com/vector-im/riot-web/issues/9658
2019-05-13 18:28:57 +01:00
J. Ryan Stinnett 9d9a41b263 Save `content.info` as a local for readability 2019-05-13 18:00:52 +01:00
Travis Ralston 83737654ff Merge branch 'develop' into travis/feature/wellknown2 2019-05-13 09:20:10 -06:00
Travis Ralston 201fef8b11
Merge pull request from matrix-org/travis/password-score-config
Add configuration flag to disable minimum password requirements
2019-05-13 09:19:23 -06:00
J. Ryan Stinnett f5aa32bc96
Merge pull request from matrix-org/jryans/aggregations
Send and undo reaction events
2019-05-13 15:20:28 +01:00
J. Ryan Stinnett e22bd45608 Clarify `ReactionsRow` forceUpdate usage 2019-05-13 15:00:43 +01:00
J. Ryan Stinnett af9fdbaeeb Rework `reactionsCreated` in `EventTile` to use state
This changes to use component state instead of `forceUpdate`, so that it's more
obvious why an update is happening here.
2019-05-13 14:52:55 +01:00
J. Ryan Stinnett 24209905e8 Test settings later for performance 2019-05-13 14:41:49 +01:00
David Baker 59cefbaa44
Typo
Co-Authored-By: J. Ryan Stinnett <jryans@gmail.com>
2019-05-13 14:24:56 +01:00
David Baker 34990d1c89 Fix bug where email was not required where it shouldn't have been
See comment!

Fixes https://github.com/vector-im/riot-web/issues/9681
2019-05-13 14:17:09 +01:00
Travis Ralston 4ffd826e76 Flip logic for unsafe->safe 2019-05-12 22:53:06 -06:00
Travis Ralston 909354c195
Merge branch 'develop' into t3chguy/cmd_rainbow 2019-05-12 18:51:22 -06:00
Travis Ralston 99e2ac7255
Merge pull request from matrix-org/t3chguy/fix_memberinfo_invite
Fix invite via MemberInfo
2019-05-12 18:47:17 -06:00
Travis Ralston 8af6bc0758
Merge pull request from matrix-org/t3chguy/close_room_settings_leave_room
Close Room Settings upon Leave Room
2019-05-12 18:46:49 -06:00
Travis Ralston 76f37d691d
Merge pull request from matrix-org/t3chguy/roomavatar
Command to change avatar for a single room, including upload of mxc res
2019-05-12 18:46:06 -06:00
Michael Telatynski 9f9a245af1 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-12 17:14:30 +01:00
Michael Telatynski d9b03b0196 fix i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-12 16:42:13 +01:00
Michael Telatynski 4c8593a91f Add i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-12 16:40:27 +01:00
Michael Telatynski 8bd45ce893 add /rainbow and /rainbowme Slash Commands
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-12 16:36:43 +01:00
Michael Telatynski 3cd9c152c2 Check permission to invite before showing invite buttons/disable them
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-11 19:45:24 +01:00
Michael Telatynski 0530a64f19 Fix invite via MemberInfo. Thank U JetBrains for solving this one for me <3
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-11 18:46:13 +01:00
Michael Telatynski 249f3d972b Close Room Settings upon Leave Room
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-10 20:58:32 +01:00
Michael Telatynski 5cb0a81565 Change roomavatar to myroomavatar and roomnick to match, leaving alias
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-10 20:28:28 +01:00
Travis Ralston 3161682836
Merge pull request from matrix-org/devtools_serverlist
Add View Servers in Room to Devtools
2019-05-10 11:32:17 -06:00
Travis Ralston 6a941aca91
Merge pull request from matrix-org/travis/guests/block-ui
Use validated server config for login, registration, and password reset
2019-05-10 11:21:21 -06:00
J. Ryan Stinnett 33513a95d7 Change to `componentDidUpdate` to process first reaction
This changes to "did update" and also calls the reaction change handler to
ensure that we update the state of my reactions (to know which were sent by
you).
2019-05-10 17:59:17 +01:00
J. Ryan Stinnett dc4fccd291 Send and redact reaction events
This updates both the reaction row and action bar UIs to send and redact
reaction events as appropriate based on user interactions.

Fixes https://github.com/vector-im/riot-web/issues/9574
Fixes https://github.com/vector-im/riot-web/issues/9572
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett 39bd0d8bb3 Listen for additional reactions in existing collection
The various reaction UI bits will now listen for `Reactions.add` for new
reactions just like with redactions.

Part of https://github.com/vector-im/riot-web/issues/9572
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett 37d2f60045 Listen for reaction collections when they are created
The `EventTile` for events without reactions now use `Event.relationsCreated` to
listen for a future time where they come in to being.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett ce35741030 Remove redundant `key` vs. `content` in `ReactionDimension`
This simplifies `ReactionDimension` by using the emoji string everywhere instead
of keeping a separate text string as well. It should improve readability as
well, as the reaction events also have a field `key` which was the emoji
content, which was easy to confuse.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett 6a59143ffb Update reactions when redacted
This updates the reaction state in the reaction row and action bar when a
reaction is redacted.

Part of https://github.com/vector-im/riot-web/issues/9574
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett 8fdb59a909 Use basic read path from JS SDK for reactions
This displays existing reactions correctly in the action bar and reaction row,
but it doesn't yet update after a new reaction is sent.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett 8903f65fcb Enable client-side aggregations for reactions
If reactions are enabled, we need to enable client-side aggregation in the
`MatrixClient` to access the data.
2019-05-10 17:19:27 +01:00
J. Ryan Stinnett 74189b2164 Fix indentation in MessagePanel 2019-05-10 17:19:27 +01:00
J. Ryan Stinnett 3beb70814c Fix indentation in TimelinePanel 2019-05-10 17:19:27 +01:00
Michael Telatynski cd5a460b2b Iterate PR based on feedback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-09 22:30:45 +01:00
Michael Telatynski 16c027dc61 Merge branches 'develop' and 'devtools_serverlist' of github.com:matrix-org/matrix-react-sdk into devtools_serverlist 2019-05-09 22:27:37 +01:00
Michael Telatynski 92a932158d Command to change avatar for a single room, including upload of mxc res
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-05-09 22:16:51 +01:00
Léo Mora 2342eb5426
Update 'Rooms' import 2019-05-09 16:17:54 +02:00
J. Ryan Stinnett 576241236c Extract `ReactionDimension` out of `MessageActionBar`
The reactions bits were cluttering up `MessageActionBar` so they have now been
extracted to a separate component.
2019-05-08 13:53:41 +01:00
J. Ryan Stinnett 2b2bfbeaaf Relax password requirements to score of 3 out of 4
This makes it a bit easier to meet the requirements while still requiring a
fairly strong value. The progress bar displays a score of 3 as reaching 100% for
simplicity.

Fixes https://github.com/vector-im/riot-web/issues/9642
2019-05-07 12:59:53 +01:00
J. Ryan Stinnett 0316deb6c5 Restore access to message quote option on first click
This repairs access to the "Quote" option of the message context menu by passing
down a getter so that we always access the most recent tile and reply thread
instances. This ensures the context menu uses the newest information about the
current event when determining menu options to show.

Fixes https://github.com/vector-im/riot-web/issues/9639
2019-05-07 12:59:53 +01:00
Travis Ralston eab209a26b Log in to the right homeserver when changing the homeserver 2019-05-06 12:00:48 -06:00
Travis Ralston c636f890b5 Add configuration flag to disable minimum password requirements
The configuration flag is intentionally long and annoying - the vast majority of people should not need this. The flag is intended to be used in development environments where accounts are often registered with no intention of them sticking around.
2019-05-06 09:55:27 -06:00
Travis Ralston 58b9eb4cb2 Add a serverConfig property to MatrixChat for unit tests 2019-05-03 16:25:54 -06:00
Travis Ralston 4ada66d319 Fix rogue instance of old hsUrl property 2019-05-03 11:34:30 -06:00
Travis Ralston a4b6464902 Appease the linter 2019-05-03 11:34:30 -06:00
Travis Ralston bb6ee10d8c Add language features to support server config changes 2019-05-03 11:34:30 -06:00
Travis Ralston 1f527e71b1 Bring server config juggling into MatrixChat
This way the server config is consistent across login, password reset, and registration. This also brings the code into a more generic place for all 3 duplicated efforts.
2019-05-03 11:34:30 -06:00
Travis Ralston 0b1a0c77b7 Make login pass around server config objects
Very similar to password resets and registration, the components pass around a server config for usage by other components. Login is a bit more complicated and needs a few more changes to pull the logic out to a more generic layer.
2019-05-03 11:33:36 -06:00
Travis Ralston b6e027f5cb Make password resets use server config objects
Like registration, the idea is that the object is passed around between components so they can take details they need.
2019-05-03 11:33:36 -06:00
Travis Ralston 00ebb5e1fd Make registration work with server configs
The general idea is that we throw the object around between components so they can pull off the details they care about.
2019-05-03 11:33:36 -06:00
Travis Ralston 6b45e60314 Update ServerTypeSelector for registration to use a server config 2019-05-03 11:32:59 -06:00
Travis Ralston 636cb8a5cc Have ServerConfig and co. do validation of the config in-house
This also causes the components to produce a ValidatedServerConfig for use by other components.
2019-05-03 11:32:59 -06:00
Travis Ralston e8a94ca3cf
Merge pull request from matrix-org/travis/simplify-login-form
Always default to the registration form
2019-05-03 11:23:52 -06:00
Travis Ralston 35ad68751b Remove unused skipServerDetails prop from registration 2019-05-03 11:13:36 -06:00
J. Ryan Stinnett df4e6a3913 Check for `room` in all `Room.timeline*` handlers
All `Room.timeline*` handlers must currently test for `room` first if they
expect it to exist. It is emitted not only for rooms, but also for timeline sets
without rooms, such as for notifications.

Almost all such handlers were correctly testing as needed, but it was missing
from `RoomBreadcrumbs`.

While that's quite confusing, we can start by testing for `room` when we expect
to have one.

Fixes https://github.com/vector-im/riot-web/issues/9630
2019-05-03 17:59:28 +01:00
Travis Ralston 1620ccac53 Always default to the registration form
Fixes https://github.com/vector-im/riot-web/issues/8886
2019-05-02 23:55:40 -06:00
Travis Ralston a7a50351d1
Merge pull request from matrix-org/travis/tombstone-notif
Support changing options for .m.rule.tombstone push rule
2019-05-02 09:47:41 -06:00
Travis Ralston 8fe8b8ab18
Merge pull request from matrix-org/travis/remove-timeline-crash
Remove timeline explosion rageshake prompt
2019-05-02 09:46:03 -06:00
J. Ryan Stinnett 87f737b8a3 Increment an existing reaction
This allows you to increment an existing reaction below a message by clicking on
it.

At the moment, this is not linked to the action bar, so they each are using
local state. We'll likely want to add some mechanism so that we can local echo
to both of these UI areas at the same time, but that can be done separately.

Fixes https://github.com/vector-im/riot-web/issues/9486
2019-05-02 12:05:17 +01:00
J. Ryan Stinnett 15c5893278 Display existing reactions below the message
This displays the existing reactions a message has from all users below the
message.

Since we don't currently have an API to actually get these events yet,
adds a temporary hook that looks for a specific message to inject some sample
data. This helps build out the UI for now and can be removed once it exists.

Fixes https://github.com/vector-im/riot-web/issues/9573
2019-05-02 12:05:17 +01:00
J. Ryan Stinnett 44e9ca6c52 Extract `isContentActionable` to a separate helper
This moves the check about whether an event is actionable (for the purpose of
replies, edits, reactions, etc.) to shared utils module.
2019-05-02 12:05:17 +01:00
Travis Ralston 5a204edf90 Remove timeline explosion rageshake prompt
Concludes https://github.com/vector-im/riot-web/issues/8593

We are no longer seeing this error being triggered, and are considering it fixed. As a result, the dialog can be removed to reduce the amount of dead code in the project.
2019-05-01 13:37:57 -06:00
J. Ryan Stinnett f4b783e802 Fix lint errors in TimelinePanel 2019-05-01 14:30:50 +01:00
J. Ryan Stinnett 784599d9e9 Add primary reactions to action bar
This adds the primary reactions to the action bar. They act as toggles where you
can only select one from each group at a time.

Note that currently we aren't actually sending the reaction at all. That's left
for a separate task.

Fixes https://github.com/vector-im/riot-web/issues/9576
2019-04-30 18:09:10 +01:00
J. Ryan Stinnett 00ca930d2e Extract actionable content check to helper 2019-04-30 17:51:18 +01:00
J. Ryan Stinnett 7f62cdf124 Add reactions feature flag 2019-04-30 17:51:18 +01:00
J. Ryan Stinnett 561ecc5ebe Rebuild strings 2019-04-30 13:36:37 +01:00
J. Ryan Stinnett 6db12f84df
Merge pull request from jryans/preview-bar-fire
Add important info to new preview bar
2019-04-30 10:20:09 +01:00
J. Ryan Stinnett b7642b38a7 Show the room avatar for invites
This changes to the room avatar instead of the inviter's avatar.
2019-04-30 09:56:44 +01:00
J. Ryan Stinnett e71896420e Show only a static inviter name with full MXID
This removes the clickable inviter behaviour, as it was too confusing to reveal
the user info sidebar and also hide the invite. Keeping both on screen would be
okay, but seems a bit too complex to resolve right before RC.

In addition, this adds the full inviter MXID to ensure it's clear who invited
you.
2019-04-30 09:56:44 +01:00
J. Ryan Stinnett ad6be3cc1b Change invite preview text for DMs
Use more specifc text for when previewing an invite to a direct message room.
2019-04-29 17:48:48 +01:00
J. Ryan Stinnett 338dc602f0 Explicitly mention the room name in all preview bar cases
Adjusts all cases of the room preview bar to mention the room name explicitly
when possible.
2019-04-29 16:34:57 +01:00
J. Ryan Stinnett 739c8c0314 Promote reply button up to message action bar
This moves the reply action out of the existing options menu and up to the
message action bar for easier access.
2019-04-29 15:53:03 +01:00
J. Ryan Stinnett 8ef9fe951d Update styling of message action bar for multiple buttons
This applies the new design for multiple buttons in the message action bar,
paving the way for more things to appear here.

In addition, this changes the existing options button to use the three vertical
dots icon. Some theme colors are also tweaked to align with what they were meant
to be from the unified palette.
2019-04-29 15:20:51 +01:00
J. Ryan Stinnett ed8bbc7082 Extract message options button to action bar
This adds a new action bar component to hold multiple per-message actions. This
existing options button has moved to this new component, and is currently the
only action.
2019-04-29 15:20:50 +01:00
J. Ryan Stinnett 530c92e03d Rename event edit button to options button
This naming is clearer as it doesn't really edit at all (it shows a context
menu). This should also be less confusing with actual editing when it arrives.
2019-04-29 15:20:50 +01:00
Hubert Chathi 443a15eeb9 actually clear bit 63 instead of bit 55 2019-04-25 11:04:48 -04:00
J. Ryan Stinnett af17829229 Blur active field before submit validation 2019-04-25 14:29:10 +01:00
J. Ryan Stinnett 26f732723e Animate tooltips when hiding as well as showing
This uses the same animation style as on show, but twice as fast.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett aec14e64fa Throttle validation in response to user input
This avoids the case of the password complexity progress jumping wildly for
every character you type.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett 67d7091dcd Password score progress should be full width in tooltip 2019-04-25 14:29:10 +01:00
J. Ryan Stinnett a20d23daf3 Remove older password length check
Now that we have a fancier password complexity check, remove the older minimum
length to avoid the feeling of two password style guides fighting each other.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett 4f41161a47 Check password complexity during registration
This adds a password complexity rule during registration to require strong
passwords. This is based on the `zxcvbn` module that we already use for key
backup passphrases.

In addition, this also tweaks validation more generally to allow rules to be
async functions.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett 008ca3543b Migrate passwords on registration to new validation
In addition to migrating password fields, this also removes the remaining
support for old-style validation in registration now that all checks have been
converted.
2019-04-25 14:29:10 +01:00
J. Ryan Stinnett aaf745ae2a Migrate phone number on registration to new validation 2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 9064875312 Migrate email on registration to new validation 2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 1cbb4be6f7 Add support for validating more strictly at submit time
When submitting a form, we want to validate more strictly to check for empty
values that might be required. A separate mode is used since we want to ignore
this issue when visiting a field one by one to enter data.

As an example, we convert the pre-existing logic for the username requirement
using this new support.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 778697abf1 Use input element's value directly
Since we're keeping the input as a ref anyway, let's use that rather than
requiring the value to be passed to `validate`. This allows others to call
`validate` as well.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 5d95c31875 Focus the first invalid field
This adjusts the submission step to focus the first invalid field and redisplay
validation. This also rearranges the older style field error handling on
registration which is slated for removal once we convert all fields to the new
style.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 62a01e7a37 Track per-field validity with new-style validation
This updates the registration form to include the new-style validation state
when deciding whether the entire form is valid overall.

In addition, this tweaks the validation helper to take functions instead of
strings for translated text. This allows the validation helper to be create once
per component instead of once every render, which improves performance.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 37e09b5569 Add check and x icons for validation feedback
Adds icons from the Feather set with the same color as text. Tweaks validation
item spacing to match the design.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 87f13cfe55 Add focus handling to validation
Update the Field component and validation handling to show / hide validation
feedback on focus / blur events.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 338d83ab55 Add validation feedback helper
This adds a general validation feedback mechanism for checking input values. An
initial example is wired up for the username input on registration.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 37ecf2a623 Remove unused ref from Field component
The `fieldInput` ref is no longer used now that we have controlled components
everywhere.
2019-04-25 14:29:09 +01:00
J. Ryan Stinnett 4784d5e9f2 Also say "Connect ..." on remaining key backup buttons
This updates the remaining buttons shown when a backup exists but is not trusted
so that they all now say "Connect this device to Key Backup" instead of "Use Key
Backup".

This is a follow up to https://github.com/matrix-org/matrix-react-sdk/pull/2917
and was agreed with Riot iOS team
https://github.com/vector-im/riot-ios/pull/2375#issuecomment-485788118.

Fixes https://github.com/vector-im/riot-web/issues/9542
2019-04-24 11:05:27 +01:00
J. Ryan Stinnett 2ddaa06e67 Rebuild strings 2019-04-24 11:01:32 +01:00
J. Ryan Stinnett 9917bed942
Merge pull request from YaoiFangirl420/cleanup_message_composer
Cleanup message composer render() method
2019-04-18 10:14:01 +01:00
Bruno Windels 0fbe10a816
Merge pull request from matrix-org/bwindels/stylepreviewbar
Redesigned room preview bar
2019-04-18 08:50:56 +00:00
Bruno Windels dd911d18cb dont show right panel when previewing a room without invite, as its empty 2019-04-17 19:29:39 +02:00
Bruno Windels 0a463472b3 update prop types (and fix typo) 2019-04-17 19:05:52 +02:00
Bruno Windels 190143ca6c dispatch for user screen 2019-04-17 18:26:07 +02:00
Bruno Windels d5cc835a93 PR feedback 2019-04-17 18:23:49 +02:00
Travis Ralston 9f494fcc58
Merge pull request from matrix-org/anoa/no_big_pills_pls
Prevent user pills containing only emoji from embiggening
2019-04-17 10:15:16 -06:00
J. Ryan Stinnett 232fd8656b
Merge pull request from rosston/alt-enter-mac
Make alt-enter insert new line on macOS
2019-04-17 16:19:57 +01:00
J. Ryan Stinnett 65784afb91
Merge pull request from jryans/password-on-server-name
Test `defaultServerName` before showing it on forgot password
2019-04-17 15:23:03 +01:00
Bruno Windels 66e10e904d remove obsolete translations 2019-04-17 11:46:20 +02:00
Bruno Windels 8e750e18d7 add class for message case for e2e tests 2019-04-17 11:46:04 +02:00
Bruno Windels 22874f62ab Merge branch 'develop' into bwindels/stylepreviewbar 2019-04-17 11:06:21 +02:00
Bruno Windels 1100320351 make non-member inviter name also bold 2019-04-17 11:02:58 +02:00
Bruno Windels 86620839ae make username clickable 2019-04-17 10:57:45 +02:00
J. Ryan Stinnett adc23faf4b Test `defaultServerName` before showing it on forgot password
The Forgot Password screen wasn't checking the default server name for a value
before showing it, leading to a possible "Your Matrix account on <blank>"
message.

Fixes https://github.com/vector-im/riot-web/issues/9507
2019-04-17 09:35:45 +01:00
Bruno Windels 8a371080d7 colored inviter name and layout 2019-04-17 10:22:35 +02:00
Bruno Windels eeaa7143ac move name coloring out of sender profile
so we can reuse it in room preview bar
2019-04-17 10:21:30 +02:00
Travis Ralston e0c976e96e Merge branch 'develop' into cleanup_message_composer 2019-04-16 11:18:52 -06:00
Bruno Windels 56ade1ead5 WIP on showing inviter avatar 2019-04-16 18:48:47 +02:00
Bruno Windels f9a2b76966 show room name where available when header isn't visible (no preview) 2019-04-16 17:50:20 +02:00
Bruno Windels eeb9b4b2e3 don't show re-join upon kicked when we know you can't 2019-04-16 17:23:45 +02:00
Bruno Windels dbb73439e4 also return Joining when internally busy looking something up 2019-04-16 17:23:24 +02:00
Bruno Windels 523311b50c saner order for message case detection (can't be joining when kicked) 2019-04-16 17:23:01 +02:00
Ross Brandes 15e68c3ba1
Make alt-enter insert new line on macOS
Alt-enter is a common macOS shortcut for inserting a new line in an
input that has a separate action tied to the enter key.

Signed-off-by: Ross Brandes <ross.brandes@gmail.com>
2019-04-15 21:15:38 -04:00
Travis Ralston a11cf88e07 Add a function to append/overwrite objects in the config on the fly
Intended to be used to overwrite settings which may be calculated rather than provided.
2019-04-15 14:46:00 -06:00
Travis Ralston f6154bc7cd
Merge pull request from eyetime-international-ltd/hotfix/fix_static_title
use SdkConfig brand name instead of static "Riot"
2019-04-15 11:46:15 -06:00
Travis Ralston 26928a48e3
Merge pull request from matrix-org/travis/upgrades/permalinks
Use dedicated permalink creators in search results with multiple rooms
2019-04-15 11:27:58 -06:00
Bruno Windels 36951dd7b7 cleanup spinner props and use always preview bar when room operation is in progress 2019-04-15 18:49:00 +02:00
Bruno Windels 7459e19f06 fix lint 2019-04-15 17:56:36 +02:00
Bruno Windels fd6c594a8f put auth buttons in preview bar 2019-04-15 17:52:17 +02:00
Bruno Windels 1d0c402093 improve error messages, etc 2019-04-15 17:11:17 +02:00
J. Ryan Stinnett 2054d53782 Tweaked wording after discussing with @lampholder 2019-04-15 15:10:48 +01:00
J. Ryan Stinnett bded275f6a Clarify messaging when key backup exists but is unused
This makes the key backup panel much more explicit about the case where an
existing backup does exist, but this device just isn't using it. You can join
the device to the backup and restore from it by going through the restore
workflow.

Fixes https://github.com/vector-im/riot-web/issues/9446
2019-04-15 15:10:48 +01:00