Commit graph

14449 commits

Author SHA1 Message Date
Bruno Windels
65ddfc0a50 show format bar when text is selected 2019-09-04 16:35:03 +02:00
Bruno Windels
4575aaa9f6
Merge pull request #3382 from matrix-org/bwindels/escape-command-slash
New composer: allow escaping the first slash to not write a command
2019-09-03 16:04:23 +00:00
Bruno Windels
9a409a7acc
Merge pull request #3381 from matrix-org/bwindels/plain-command
/plain command to bypass markdown conversion
2019-09-03 16:04:07 +00:00
J. Ryan Stinnett
3cb06c01b7
Merge pull request #3385 from matrix-org/jryans/email-invite-text
Improve email invite preview messaging
2019-09-03 16:58:14 +01:00
J. Ryan Stinnett
261bdab156 Fix indent 2019-09-03 16:55:17 +01:00
J. Ryan Stinnett
67299842e3 Use more specific messaging for email invite preview
This changes email invite previews to check more specific cases about whether
the email has been added to your account, you have an IS, the email is bound,
etc.

In addition, it always allows you to join if you want to.

Fixes https://github.com/vector-im/riot-web/issues/10669
2019-09-03 15:41:53 +01:00
Travis Ralston
2e3e2ec420 Fix member power levels in room settings
Fixes https://github.com/vector-im/riot-web/issues/10736

We didn't have an onChange property on the PowerSelector component
2019-09-03 08:36:24 -06:00
Bruno Windels
0d02ab59d6 allow starting a range with both positions known already
we'll need this to start a range for the selection
2019-09-03 16:00:50 +02:00
Bruno Windels
eb87301855 allow getting the DocumentOffset for any node+offset, not just focusNode
we need this to get both offsets of the selection boundaries

getSelectionOffsetAndText offers the extra flexibility,
getCaretOffsetAndText keeps the old api for focusNode/focusOffset

Also did some renaming here now that it's not just for the caret anymore
2019-09-03 15:58:50 +02:00
Bruno Windels
648ae37ff4 make DocumentOffset compatible with what is returned from dom/getCaret
so we can return a DocumentOffset from there without breakage
2019-09-03 15:58:05 +02:00
Bruno Windels
1063da0ed1
Revert "New composer: show markdown legend on focus" 2019-09-03 08:27:45 +00:00
Travis Ralston
71e13842b8
Merge pull request #3368 from matrix-org/travis/disable-msisdn
Disable MSISDN registration if the homeserver doesn't support it
2019-09-02 11:25:17 -06:00
Travis Ralston
5e8eb20c53
Merge pull request #3371 from matrix-org/travis/synapse_admin
Add a button to MemberInfo to deactivate a user
2019-09-02 11:08:45 -06:00
Bruno Windels
06ae0645c7 fix lint 2019-09-02 17:56:16 +02:00
Bruno Windels
712c3e5450 allow escaping the first slash to not write a command 2019-09-02 17:53:14 +02:00
Bruno Windels
41ca54bb09 /plain command to bypass markdown conversion 2019-09-02 17:44:31 +02:00
Bruno Windels
422f482a6d
Merge pull request #3378 from matrix-org/bwindels/cider-md-legend
New composer: show markdown legend on focus
2019-09-02 14:59:44 +00:00
Bruno Windels
de9f923e36
Merge pull request #3380 from matrix-org/bwindels/cider-fix-dirty-flag-without-input-event
New composer: allow submitting after inserting newline
2019-09-02 14:59:18 +00:00
Bruno Windels
6a0842d1ab
Merge pull request #3379 from matrix-org/bwindels/cider-deserialize-headers
Message editing: deserialize headers from html back to markdown
2019-09-02 14:58:54 +00:00
Bruno Windels
c4d7df768d
Merge pull request #3375 from matrix-org/bwindels/cider-colononmention
New composer: share user pill postfix between autocomplete and insert mention
2019-09-02 14:58:23 +00:00
Bruno Windels
ff74dd4b7f
Merge pull request #3374 from matrix-org/bwindels/fix-cider-command-detection
New composer: make command detection not break with pill candidates in command
2019-09-02 14:58:12 +00:00
Bruno Windels
eaed07fcbf
Merge pull request #3377 from matrix-org/bwindels/cider-noemptymsg
New composer: dont allow sending empty messages
2019-09-02 14:57:41 +00:00
J. Ryan Stinnett
00a69b996d Clarify invite error text
This fixes a typo in the message (valide) and also has better handling of error
codes, because in some cases, we don't get one.

Fixes https://github.com/vector-im/riot-web/issues/10683
2019-09-02 15:53:13 +01:00
Bruno Windels
6163cefa6a set dirty flag when programatically inserting text like with newlines 2019-09-02 16:29:25 +02:00
Bruno Windels
5b54cf566d deserialize headers from html back to markdown 2019-09-02 16:23:56 +02:00
Bruno Windels
f200327ef2 show/hide legend when focusing/blurring 2019-09-02 16:15:18 +02:00
Bruno Windels
b7768f34f2 Add legend and style it 2019-09-02 16:15:18 +02:00
Bruno Windels
b9cb22e153 dont allow sending empty messages 2019-09-02 14:36:31 +02:00
Bruno Windels
2683627a82 disable spell check for pills in the new composer 2019-09-02 14:26:15 +02:00
Bruno Windels
c595371845 share user pill postfix between autocomplete and insert mention
where we decide to add a colon only if the composer is empty
2019-09-02 14:06:30 +02:00
Bruno Windels
b46e001d0a allow pill-candidate parts in commands 2019-09-02 13:51:46 +02:00
Bruno Windels
4329d8c4ef
Merge pull request #3372 from matrix-org/bwindels/fix-command-tab-complete
New composer: fix tab-complete in commands
2019-09-02 11:38:13 +00:00
Bruno Windels
fdd23b34ae also look backwards into commands for last word to tab-complete 2019-09-02 11:27:22 +02:00
Bruno Windels
00d81eece9 don't accept @/#/: as part of command, allow to create pill candidate
so if you type these 3 characters, you get the correct autocomplete
2019-09-02 11:26:20 +02:00
Bruno Windels
a4376a76f0 only pass keyboard to autocomplete when it has selections
otherwise if tab is pressed, try to tab complete the last word
2019-09-02 11:25:29 +02:00
J. Ryan Stinnett
7032dc6fa1
Merge pull request #3367 from matrix-org/jryans/features-without-is
Add a dialog when inviting via slash command without IS
2019-09-02 10:14:09 +01:00
Travis Ralston
cfff576ef4 Add a button to MemberInfo to deactivate a user
Part of https://github.com/vector-im/riot-web/issues/4125
2019-09-01 18:04:24 -06:00
Michael Telatynski
6cc29b2a8c
Merge pull request #3363 from matrix-org/t3chguy/react16_6
Migrate away from React.createClass for auth and views/auth. React 16 :D
2019-09-01 22:46:55 +01:00
Michael Telatynski
517c7cba76
Merge pull request #3365 from matrix-org/t3chguy/react16_7
Migrate away from React.createClass for non-auth structures. React 16 :D
2019-09-01 22:46:43 +01:00
Travis Ralston
2bfffa76b5 Appease the linter 2019-08-30 15:54:00 -06:00
Travis Ralston
d47fb799a5 Disable MSISDN registration if the homeserver doesn't support it 2019-08-30 15:50:51 -06:00
J. Ryan Stinnett
8ff0883c22 Add a dialog when inviting via slash command without IS
This adds a dialog to ask how you want to proceed when trying to invite via
email when there is no IS configured.

Fixes https://github.com/vector-im/riot-web/issues/10619
2019-08-30 18:29:07 +01:00
Bruno Windels
63be16beff
Merge pull request #3366 from matrix-org/bwindels/cider-user-pill-text-fallback
New composer: put display name in user pill text fallback instead of mxid
2019-08-30 16:03:28 +00:00
Bruno Windels
3be32022f7
Merge pull request #3364 from matrix-org/bwindels/cider-ime-partii
New composer: force model update after IME composition finishes
2019-08-30 16:03:14 +00:00
Bruno Windels
ec0d048cf0
Merge pull request #3361 from matrix-org/bwindels/autocomplete-colon
New composer: append colon to completed user pill when at start of message
2019-08-30 16:02:58 +00:00
Michael Telatynski
00a06af419 Hide the E2EE PL selector if room is already encrypted
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-30 10:57:46 +01:00
Michael Telatynski
8967871b23 Merge branches 'develop' and 't3chguy/pl_control_e2e' of github.com:matrix-org/matrix-react-sdk into t3chguy/pl_control_e2e
 Conflicts:
	src/components/views/settings/tabs/room/RolesRoomSettingsTab.js
	src/i18n/strings/en_EN.json
2019-08-30 10:56:47 +01:00
Bruno Windels
b16f983a1f put display name in user pill text fallback instead of mxid 2019-08-30 11:51:29 +02:00
Bruno Windels
42ba5f6f0a force model update after composition finishes 2019-08-30 11:37:42 +02:00
Michael Telatynski
abf111ecbd Migrate away from React.createClass for non-auth structures. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-30 10:34:59 +01:00
Michael Telatynski
2e1fb4533c Migrate away from React.createClass for auth and views/auth. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-30 10:27:51 +01:00
J. Ryan Stinnett
27fdef557d
Merge pull request #3359 from matrix-org/jryans/features-without-is
Allow connecting to an IS from address picker
2019-08-30 10:19:28 +01:00
Bruno Windels
4779880a94
Merge pull request #3362 from matrix-org/bwindels/cider-no-enter-autocomplete
New composer: don't capture enter to close autocomplete
2019-08-30 08:17:47 +00:00
Travis Ralston
7dd6471059
Merge pull request #3018 from Sorunome/soru/spoilers
Add Spoilers as per MSC2010
2019-08-29 13:24:06 -06:00
Bruno Windels
c144edfcac dont capture enter to close autocomplete 2019-08-29 18:39:35 +02:00
Bruno Windels
5105140902
Merge pull request #3358 from matrix-org/bwindels/cider-paste-images
New composer: support pasting files
2019-08-29 16:31:28 +00:00
Bruno Windels
dc292d332d
Merge pull request #3357 from matrix-org/bwindels/cider-ime
New composer: don't update model while doing IME compositions
2019-08-29 16:31:05 +00:00
Sorunome
4ae130bd27
add license header, descriptive comment and change to class 2019-08-29 18:13:52 +02:00
Bruno Windels
c9572250be only append colon to user-pill when at start of composer
by passing position to autocomplete, so completion
can depend on where the pill-candidate appears.
2019-08-29 17:47:14 +02:00
Bruno Windels
2ff2ff0e75 support autocomplete replacing text with multiple parts
and append ": " to user pills
2019-08-29 17:43:18 +02:00
J. Ryan Stinnett
166fb696c2 Allow connecting to an IS from address picker
This allows those who previously disconnected from an IS to either choose the
default IS or a custom one from Settings via the address picker dialog.

Part of https://github.com/vector-im/riot-web/issues/10619
2019-08-29 15:28:34 +01:00
J. Ryan Stinnett
752eb17893 Remove subtext in room invite dialog
The subtext here was deemed redundant.

Part of https://github.com/vector-im/riot-web/issues/10619
2019-08-29 15:28:34 +01:00
Bruno Windels
fe7ac11abc New composer: support pasting files 2019-08-29 16:19:05 +02:00
Bruno Windels
891ccf0f4c don't update model while doing IME composition
this prevents the composition from being disrupted because
the DOM is modified, and also complete compositions are added
to the undo history like this.
2019-08-29 13:56:21 +02:00
Bruno Windels
80523f5dbe still convert \n to NewlinePart when pasting/dropping
before we skipped the complete validation (which creates NewlineParts)
when pasting or dropping text. We don't want to create PillCandidatePart
when inserting text like this, as it would open the auto-complete, but
newlines should still be applied. So instead of skipping validation,
pass the inputType to the validation code so they can only reject
pill candidate characters when not pasting.
2019-08-29 13:00:31 +02:00
Bruno Windels
e531b29307 don't ignore BR elements when converting to editor dom to text 2019-08-29 13:00:31 +02:00
Sorunome
fe9ae46ffb
Merge branch 'develop' of https://github.com/matrix-org/matrix-react-sdk into soru/spoilers 2019-08-28 20:23:24 +02:00
J. Ryan Stinnett
599fccd9ce
Merge pull request #3343 from matrix-org/jryans/hide-is-field-during-auth
Reveal custom IS field only when required
2019-08-28 18:36:02 +01:00
Travis Ralston
838e115b72
Merge pull request #3338 from matrix-org/t3chguy/fix_jitsi_persisted_breaking_randomly
Only Destroy the expected persistent widget, not *ANY*
2019-08-28 10:49:29 -06:00
Michael Telatynski
a8c5b02464
Merge pull request #3352 from matrix-org/t3chguy/pl_room_upgrade
Expose upgrade room permissions in room settings and fix command
2019-08-28 17:44:50 +01:00
Bruno Windels
f119ac4b22
Merge pull request #3349 from matrix-org/bwindels/tab-complete-name
New composer: support forcing auto complete on name by hitting tab
2019-08-28 16:17:16 +00:00
Bruno Windels
29f96e659a remove leftover code 2019-08-28 17:53:03 +02:00
David Baker
aa9c0b24fe re-run i18n 2019-08-28 10:37:57 -04:00
David Baker
c749b6355f Update email help text
Fixes https://github.com/vector-im/riot-web/issues/10674
2019-08-28 10:34:50 -04:00
Bruno Windels
85efb71a23 add visual bell when no replacements are available
also add try/catch in _tabCompleteName so errors don't get swallowed
2019-08-28 15:53:16 +02:00
Bruno Windels
c44fbb73d0 fix bug when replacing range starting at end of previous part 2019-08-28 15:52:39 +02:00
Michael Telatynski
f70f983c8c Expose upgrade room permissions in room settings and fix command
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-28 12:00:37 +01:00
Michael Telatynski
66714b29af expose power level toggle for enabling e2ee to room settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-28 11:37:20 +01:00
J. Ryan Stinnett
7000b5a5ad Update i18n 2019-08-28 11:32:36 +01:00
J. Ryan Stinnett
ac6b03551a
Describe props default
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2019-08-28 11:24:11 +01:00
David Baker
ac2b8b874f Don't infinite loop on server change
ServerConfig assumed that the state was already correct when
checking the given urls against the default, but that is not
neccessarily the case (eg. the validation can return a different
url to what the user entered). This would cause an infinite loop
because it would keep firing onServerConfigChange to change to
the desired URLs but the state would never change.

Fixes part of https://github.com/vector-im/riot-web/issues/10666
2019-08-27 17:29:56 -04:00
Travis Ralston
3eddded039 Merge branch 'develop' into travis/tabbed-managers 2019-08-27 09:07:52 -06:00
Travis Ralston
971e1ac8c3
Merge pull request #3340 from matrix-org/travis/homeserver-managers
Support homeserver-configured integration managers
2019-08-27 09:07:09 -06:00
Bruno Windels
d8bb9ecedf bring insert method inline with transform callback, add docs
before the insertPartsAt method would call the update callback
on its own, but now we have the concept of a transformation session,
so lets bring the API in line
2019-08-27 16:43:05 +02:00
Bruno Windels
8e66d382de don't crash on race with room members and initial composer render
not ideal, but for now this prevents a crash at startup
when a user-pill is persisted in local storage
2019-08-27 16:43:05 +02:00
Bruno Windels
e0ec827a64 extra docs 2019-08-27 16:43:05 +02:00
Bruno Windels
f5bb872efa some cleanup 2019-08-27 16:43:05 +02:00
Bruno Windels
f02713d08e force completion when hitting tab
by replacing word before caret with pill-candidate and
forcing auto complete
2019-08-27 16:43:05 +02:00
Bruno Windels
68c2bb7ca6 introduce transform method so update can be called with a position
and also for multiple transformations at once. This removes
the need to call the update callback from `replaceRange()` as well
2019-08-27 16:43:05 +02:00
Bruno Windels
f76a23d5dd return promise from updating autocomplete
so one can await if needed
2019-08-27 16:43:05 +02:00
Bruno Windels
0f6465a1db don't close autocomplete when hitting tab
that's not what the slate impl does and it's not an improvement
2019-08-27 16:43:05 +02:00
Bruno Windels
713205e0ab close autocomplete when removing auto-completed part 2019-08-27 16:43:05 +02:00
Bruno Windels
e0b99b5cc8
Merge pull request #3342 from matrix-org/bwindels/cider-replace-emoticons
Auto-replace emoticons with emojis in new composer
2019-08-27 14:40:53 +00:00
Travis Ralston
08339abd35
Merge pull request #3348 from matrix-org/travis/fix-discovery
Adjust copy and include identity server changing when terms are pending
2019-08-27 08:27:03 -06:00
Bruno Windels
f10e1d7654 fix jsdoc comments 2019-08-27 09:54:13 +02:00
Bruno Windels
56606a46f4 don't assume preceding space for emoticon at start of document
also add more inline comments to explain what is going on
2019-08-27 09:50:36 +02:00
Bruno Windels
5c28b57681 always recalculate position after doing transform step
as the amount of characters might not have changed,
parts may still have been merged, removed or added which
requires a new position.
2019-08-27 09:49:22 +02:00
Michael Telatynski
8bdc1e9446
Merge pull request #3347 from matrix-org/t3chguy/react16_5
Migrate away from React.createClass for views/dialogs. React 16 :D
2019-08-26 19:45:26 +01:00
Travis Ralston
abbc8ffef0 Adjust copy and include identity server changing when terms are pending
Fixes https://github.com/vector-im/riot-web/issues/10636
Fixes https://github.com/vector-im/riot-web/issues/10635
2019-08-26 11:26:21 -06:00
Bruno Windels
0273795f5d add transform step to composer to auto-replace emoticons with emoji 2019-08-26 16:16:27 +02:00
Bruno Windels
4fd4ad41c1 improve editor model documentation 2019-08-26 16:16:27 +02:00
Bruno Windels
f8f0e77bde add transform step during editor model update 2019-08-26 16:16:27 +02:00
Bruno Windels
0e65f71a37 support incrementing/decrementing doc positions with predicate 2019-08-26 16:16:27 +02:00
Bruno Windels
10291bafe0 add support for selecting ranges in the editor model, and replacing them
this to support finding emoticons and replacing them with an emoji
2019-08-26 16:16:27 +02:00
Michael Telatynski
d94e2179bf Migrate away from React.createClass for views/dialogs. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-24 11:59:46 +01:00
Michael Telatynski
360cef66c1 Migrate away from React.createClass for async-components. React 16 :D
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-24 11:53:28 +01:00
Michael Telatynski
e5d3198f53
Merge pull request #3339 from matrix-org/t3chguy/substitute_handle_global
Iterate over all instances of variable/tag for _t substitutions
2019-08-23 19:43:40 +01:00
Travis Ralston
e8b0c41157 minus ; 2019-08-23 12:01:47 -06:00
Travis Ralston
e1552b61fc fix i18n 2019-08-23 12:01:13 -06:00
Travis Ralston
c44ae2df4d Treat 404 errors on IS as having no terms
Fixes https://github.com/vector-im/riot-web/issues/10634
2019-08-23 11:58:04 -06:00
J. Ryan Stinnett
72ec6c7062 Reveal custom IS field only when required
This hides the identity server at first from the custom server auth flows. For
the flows that may need an IS if the HS requires it (registration, password
reset), we then check with the HS before proceeding further and reveal the IS
field if it is in fact needed.

Fixes https://github.com/vector-im/riot-web/issues/10553
2019-08-23 18:43:55 +01:00
J. Ryan Stinnett
47ee299e70
Merge pull request #3337 from matrix-org/jryans/is-token-to-hs
Add IS access token callback
2019-08-23 17:13:55 +01:00
Travis Ralston
dc0c7e3053
Merge pull request #3331 from matrix-org/jaywink/extra-rageshake-cleanup
Tweak rageshake logging messages
2019-08-23 09:59:05 -06:00
Travis Ralston
160396ca9e Appease the linter 2019-08-23 09:16:44 -06:00
Travis Ralston
b3cda4b19a Support multiple integration managers behind a labs flag
Fixes https://github.com/vector-im/riot-web/issues/10622
Implements [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957)

Design is not final.
2019-08-23 09:12:40 -06:00
Travis Ralston
602c338a26 Merge branch 'travis/homeserver-managers' into travis/tabbed-managers 2019-08-23 08:50:21 -06:00
J. Ryan Stinnett
84e3d339ac Change to provider object 2019-08-23 11:17:51 +01:00
Bruno Windels
f39dc6feab
Merge pull request #3287 from matrix-org/bwindels/new-main-composer
Support editing composer to be used as main composer (feature flagged)
2019-08-23 10:06:19 +00:00
Jason Robinson
f505aa0c83 Ensure logging tweak doesn't fail on undefined
Run the replace on the log line string instead of the separate
parts since we can ensure the line is a string.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-08-23 10:14:26 +03:00
Travis Ralston
470295ad14 Expose a getOrderedManagers() function for use elsewhere 2019-08-22 15:17:59 -06:00
Travis Ralston
8493887ceb Import the right js-sdk 2019-08-22 14:57:09 -06:00
Travis Ralston
a35735da45 Support homeserver-configured integration managers
Fixes https://github.com/vector-im/riot-web/issues/4913
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1024
Implements part of [MSC1957](https://github.com/matrix-org/matrix-doc/pull/1957)
2019-08-22 14:49:20 -06:00
Michael Telatynski
7d511fbbc5 remove leftover debugger =)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-22 18:34:26 +01:00
Michael Telatynski
310457059b [i18n] only append tail if it is actually needed
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-22 18:31:02 +01:00
Michael Telatynski
b5daba9026 Iterate over all instances of variable/tag for _t substitutions
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-22 18:17:08 +01:00
Michael Telatynski
cd6a980c7e Only Destroy the expected persistent widget, not *ANY*
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-08-22 16:57:51 +01:00
Travis Ralston
efe8254985
Merge pull request #3333 from matrix-org/travis/fix-tooltip
Remove tooltipClassName from the Field's input
2019-08-22 08:40:23 -06:00
Travis Ralston
fbb2af00da
Merge pull request #3335 from matrix-org/travis/fix-alignment
Fix alignment of discovery section addresses
2019-08-22 08:35:11 -06:00
Travis Ralston
e9b44c9802
Merge pull request #3336 from matrix-org/travis/fix-removing-widgets
No-op removals of widgets that don't exist
2019-08-22 08:34:11 -06:00
J. Ryan Stinnett
e7097d58ec Add IS access token callback
This passes a callback to the JS SDK which it can use to get IS access tokens
whenever needed for either talking to the IS directly or passing along to the
HS.

Fixes https://github.com/vector-im/riot-web/issues/10525
2019-08-22 14:44:09 +01:00
Bruno Windels
5cebce9bbf fix bug detected by tests 2019-08-22 14:41:40 +01:00
Bruno Windels
9c6953f176 lint 2019-08-22 14:11:04 +01:00
Bruno Windels
8c9846efc1 update i18n 2019-08-22 14:10:08 +01:00
Bruno Windels
b395fad834 add feature flag, allowing to revert to old slate editor 2019-08-22 14:07:43 +01:00
Bruno Windels
6e54bb8e51 default is unused here 2019-08-22 14:07:31 +01:00
Bruno Windels
944c56d09b prevent cider history overlapping with slate composer history 2019-08-22 14:07:03 +01:00
Bruno Windels
6a3ecde4e6 duplicate slate code where we changed it drastically
to still make it work when the feature flag will be turned off
2019-08-22 14:05:54 +01:00
Bruno Windels
b366b0b3d8 store composer state when typing in new composer
this doesn't use the MessageComposerStore on purpose so that
both the new and old composer don't overwrite each others state,
as the format is different.
2019-08-22 13:33:20 +01:00
Bruno Windels
9f72268df7 avoid null-refs when receiving an action before initial rendering 2019-08-22 13:33:20 +01:00
Bruno Windels
6df46cc319 send typing notifs in new composer (both send and edit) 2019-08-22 13:33:20 +01:00
Bruno Windels
e2dfe888cc only capture Enter when autocompletion list has selection
this is the old behaviour and makes sense IMO
also close the auto complete when resetting the composer model,
in case it was still open
2019-08-22 13:33:20 +01:00
Bruno Windels
3c5cf3e778 rename ComposerHistoryManager to SendHistoryManager to avoid confusion
...with the undo history manager for the composer.
2019-08-22 13:33:20 +01:00
Bruno Windels
c5cd8b943a support auto complete for /commands 2019-08-22 13:33:20 +01:00
Bruno Windels
88cc1c428d add support for emotes and running /commands
this does not yet include autocomplete for commands
2019-08-22 13:33:20 +01:00
Bruno Windels
cc82353d8f bring back composer send history and arrow up to edit previous message 2019-08-22 13:33:20 +01:00
Bruno Windels
ca3539d53e remove dead code 2019-08-22 13:33:20 +01:00
Bruno Windels
9bc8ff7e1e clear composer undo history when sending a message 2019-08-22 13:33:20 +01:00
Bruno Windels
0adca10f9f make named options argument optional 2019-08-22 13:33:20 +01:00
Bruno Windels
ea1faacd8b support alt+enter on mac, like slate composer 2019-08-22 13:33:20 +01:00
Bruno Windels
9003a8836a put dispatches together 2019-08-22 13:33:20 +01:00
Bruno Windels
2e71dd3ea8 cleanup, move code out of big switch statement 2019-08-22 13:33:20 +01:00
Bruno Windels
60e10364b0 add quoting functionality to new composer 2019-08-22 13:33:20 +01:00
Bruno Windels
10c218825b allow inserting multiple parts at a position 2019-08-22 13:33:20 +01:00
Bruno Windels
ce44c651d0 keep deserialized parts compatible with part api,
to avoid breakage when passing real parts
2019-08-22 13:33:20 +01:00
Bruno Windels
d4fbe7ed69 make editor event parsing suitable for parsing messages to be quoted 2019-08-22 13:33:20 +01:00
Bruno Windels
a9d6d01f10 add reply fields to message content to be sent when replying 2019-08-22 13:33:20 +01:00
Bruno Windels
7b3282185a update proptypes 2019-08-22 13:33:20 +01:00
Bruno Windels
c135cd60d2 restore insert mention
for this, we need to store the last caret in the editor,
to know where to insert the user pill.

Because clicking on a member blurs the editor, and the
selection is moved away from the editor.

For this reason, we keep as cache of the last caretOffset object,
invalidated by a selection with different values.

The selection needs to be cloned because apparently the browser
mutates the object instead of returning a new one.
2019-08-22 13:33:20 +01:00
Bruno Windels
71286b5610 restore reply_to_event action 2019-08-22 13:33:20 +01:00
Bruno Windels
e39c405c55 restore focus_composer action 2019-08-22 13:33:20 +01:00
Bruno Windels
fdf5fca628 add all props to proptypes 2019-08-22 13:33:20 +01:00
Bruno Windels
2cff486ec0 set placeholder same as label 2019-08-22 13:33:20 +01:00
Bruno Windels
f9992a1fc6 implement editor placeholder 2019-08-22 13:33:20 +01:00
Bruno Windels
e2e4ea493f set aria label on main composer too 2019-08-22 13:33:20 +01:00
Bruno Windels
cfbd2e9cc8 support basic sending with new main composer
this removes all formatting options, as the new editor doesn't
have any.
2019-08-22 13:33:20 +01:00
Bruno Windels
df8488e194 pass label through props 2019-08-22 13:33:20 +01:00
Bruno Windels
d22745a5b2 make it obvious arguments are optional
because now they have a setter
2019-08-22 13:33:20 +01:00
Bruno Windels
063eabed71 don't return invalid indices from model, fix for #10358 2019-08-22 13:33:20 +01:00
Bruno Windels
505846ce53 split up css, update class names 2019-08-22 13:33:20 +01:00
Bruno Windels
341fdcd761 cleanup lint errors 2019-08-22 13:33:20 +01:00
Travis Ralston
19b7d18e7a No-op removals of widgets that don't exist
An example of this is setting your very first widget: there's nothing to remove, so you end up with "cannot call .getContent() of undefined" instead.
2019-08-21 18:43:29 -06:00
Travis Ralston
6449016d4b Fix alignment of discovery section addresses
We target the addresses specifically to avoid crushing the subsection text.
2019-08-21 14:41:25 -06:00
Travis Ralston
54633f3ad4 Remove extraneous logging 2019-08-21 12:57:54 -06:00
Travis Ralston
6f7bbf958e Remove tooltipClassName from the Field's input
React doesn't want the property on the <input>, so we'll take it off.
2019-08-21 12:51:16 -06:00
Travis Ralston
04bb2ed322
Merge pull request #3327 from matrix-org/travis/discover-terms
Handle terms agreement in Discovery section of user settings
2019-08-21 10:14:45 -06:00
Travis Ralston
5bf0587cc5 Don't double translate labs settings
SettingsStore.getDisplayName() already calls _t() for us.

Fixes https://github.com/vector-im/riot-web/issues/10586
2019-08-21 08:55:19 -06:00
Travis Ralston
2dc28a608f Move URL abbreviation to its own util file 2019-08-21 08:46:10 -06:00
Travis Ralston
c758b5d3f1 We don't use reject 2019-08-21 08:43:42 -06:00
Jason Robinson
8c73056693 Tweak rageshake logging messages
Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-08-21 16:06:32 +03:00
Bruno Windels
c7c87ccd9c
Merge pull request #3328 from matrix-org/bwindels/modifier-refocus-fix-attempt
Explicitly check for modifier keydown events before focusing composer
2019-08-21 07:39:11 +00:00
Travis Ralston
f55a40001c Touch up settings: alignment, spacing, error states
Fixes https://github.com/vector-im/riot-web/issues/10554

Issues fixed:
* Fields were not ~30px from the avatar (too much right margin)
* Tooltips overflowed the dialog on some resolutions
* SetIdServer didn't have an error state for making the field red
* Spacing between sections in Discovery was wrong (fixed by just removing the problematic n+2 selector - it didn't help anything)
2019-08-20 13:20:07 -06:00
Jason Robinson
29085895a7 Fix regression on widget panel edit button
Due to commit ffa49df889
the parameters for the call to open a widget in edit mode from the
widget panel in a room has broken. The `screen` parameter needs
to be prefixed with `type_` as it was before.

This corresponds to parameters supplied when creating the URL when
opening a widget in edit mode through Scalar screens.

Signed-off-by: Jason Robinson <jasonr@matrix.org>
2019-08-20 15:55:57 +03:00
Bruno Windels
b42b2825c4 explicitly check for modifier keydown events 2019-08-20 10:43:03 +02:00
David Baker
f5da870040
Merge pull request #3326 from matrix-org/dbkr/device_name_public
Clarify that device names are publicly visible
2019-08-20 09:29:45 +01:00
Travis Ralston
7cd2fb3718 Appease the linter
It really wants a trailing comma.
2019-08-19 23:03:01 -06:00
Travis Ralston
3181829532 Use new InlineTermsAgreement component on IS Discovery section
Fixes https://github.com/vector-im/riot-web/issues/10522
2019-08-19 23:00:05 -06:00
Travis Ralston
417de0cac7 Add an inline terms agreement component
Handles agreement of terms in an inline way.
2019-08-19 22:59:33 -06:00
Travis Ralston
525b4cad0f Support IS token handling without checking terms
This is so we can optionally do our own terms handling.
2019-08-19 22:54:23 -06:00
Travis Ralston
83af732d05 Rename and export abbreviateIdentityUrl 2019-08-19 22:53:37 -06:00
J. Ryan Stinnett
fef3438ef1
Merge pull request #3325 from matrix-org/jryans/tweak-privacy-copy
Tweak privacy settings copy and whitespace
2019-08-19 21:35:49 +01:00
David Baker
f7083ac332 Clarify that device names are publicly visible
And also a bunch of other UI fixes in the devices table:
 * It's the devices table, don't need 'device' in all the headers
 * Not really necessary to label checkboxes with 'select'
 * Stop table from moving down when the delete button appears

Fixes https://github.com/vector-im/riot-web/issues/10216
2019-08-19 18:09:37 +01:00
Travis Ralston
2d4c2b76d9 Merge branch 'develop' into travis/is-account-data 2019-08-19 10:36:42 -06:00
Travis Ralston
95bd41aac7
Merge pull request #3317 from matrix-org/travis/terms/inline-is-only
Prompt for terms of service on identity server changes
2019-08-19 10:35:58 -06:00
Travis Ralston
855bf3ad0d Import createClient instead 2019-08-19 10:28:04 -06:00
Travis Ralston
32abfbbfc6 Rename functions 2019-08-19 10:27:57 -06:00
David Baker
6879ddd34c
Merge pull request #3323 from matrix-org/dbkr/add_3pid_without_is
Allow 3pids to be added with no ID server set
2019-08-19 17:02:56 +01:00
David Baker
93af6cfd8d Fix up remove threepid confirmation UX
Probably still not the best design but hopefully break fewer UX rules:

1. Use red to confirm delete rather than cancel and green to cancel
2. Show the action you're about to perform in the confirmation
3. Label confirmation button with the action rather than yes/no.
2019-08-19 15:37:12 +01:00
David Baker
c1b72fd346 Allow 3pids to be added with no ID server set
Fixes https://github.com/vector-im/riot-web/issues/10573
2019-08-19 15:17:14 +01:00
J. Ryan Stinnett
5af9bf7b80 Use designed text for new IS field 2019-08-19 14:44:53 +01:00
J. Ryan Stinnett
d4ecb99d11 Show the default IS as a placeholder in Settings
This changes the UX for the set IS field to show the default IS as a placeholder
value (as opposed to an initial value as if the user had actually entered it).

Fixes https://github.com/vector-im/riot-web/issues/10528
2019-08-19 14:20:01 +01:00