Commit graph

14350 commits

Author SHA1 Message Date
Bruno Windels
7dc39baaf3 implement bold support in format bar 2019-09-04 16:35:03 +02:00
Bruno Windels
77b14beb1f add getter for intersecting parts of range, and total length
we'll need this when replacing selection, to preserve
newlines, etc ... in the selected range (e.g. we can't just
use range.text).
2019-09-04 16:35:03 +02:00
Bruno Windels
48f1bf1816 sort positions in Range constructor, so start always comes before end 2019-09-04 16:35:03 +02:00
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