Bruno Windels
037ac29c57
be more forgiving with offset that don't have atNodeEnd=true
...
if index is not found, it means the last position should be returned
if there is any.
We still return -1 for empty documents, as index should always point
to a valid part if positive.
2019-09-04 16:40:34 +02:00
Bruno Windels
42c37d8293
fixup: improve quote and code block newline handling
2019-09-04 16:40:34 +02:00
Bruno Windels
e0668e8517
improve algorithm to reduce selection to text node + charactar offset
...
this follows the documentation of {focus|anchor}{Offset|Node} better
and was causing problems for creating ranges from the document selection
when doing ctrl+A in firefox as the anchorNode/Offset was expressed
as childNodes from the editor root.
2019-09-04 16:40:34 +02:00
Bruno Windels
4691108a16
only increase offset if caret hasn't been found yet
...
also rename caret away as this isn't used for the caret solely anymore
2019-09-04 16:40:34 +02:00
Bruno Windels
7a01d1407f
make _replaceRange internal only
2019-09-04 16:40:34 +02:00
Bruno Windels
4c04bc19c9
fixup: remove now unused import
2019-09-04 16:40:34 +02:00
Bruno Windels
6e694c113a
add support for inline/block code formatting
2019-09-04 16:40:34 +02:00
Bruno Windels
b35a3531bb
move quote formatting out of react component
2019-09-04 16:40:34 +02:00
Bruno Windels
b72d1a78ec
move inline formatting code out of react component
2019-09-04 16:40:34 +02:00
Bruno Windels
47d8d86bbe
whitespace (in model)
2019-09-04 16:40:23 +02:00
Bruno Windels
7f501b2aef
first impl of quote formatting
2019-09-04 16:40:13 +02:00
Bruno Windels
d4c7992f5a
first impl of inline formatting
2019-09-04 16:39:56 +02:00
Bruno Windels
c15dfc3c05
make Range start and end public
2019-09-04 16:38:42 +02:00
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