Commit graph

3697 commits

Author SHA1 Message Date
Bruno Windels
8c9ceca14f take into account lazy loading when enlarging avatar 2018-07-25 16:10:49 +02:00
David Baker
cf6ce0c1e2
Merge pull request #2082 from matrix-org/t3chguy/slate_cont2
Moar Slate Fixes
2018-07-24 17:34:20 +01:00
David Baker
c19a5bd2a8
Merge pull request #2084 from matrix-org/dbkr/store_destroy_persistent_widget
Make ActiveWidgetStore clear persistent widgets
2018-07-24 17:12:49 +01:00
David Baker
7044410a13 Move destroyPersistentWidget to store 2018-07-24 16:50:34 +01:00
David Baker
ec4c7ffb71 Make ActiveWidgetStore clear persistent widgets
ActiveWidgetStore is now reponsible for removing the current
persistent widget from the store if it's been removed from whatever
room it was in. As per comment, this leaves us with the store updating
itself in this case but in all other cases, views call setters on the
store to update its state. We should make it so the store keeps itself
up to date and views aren't responsible for keeping the store up to date.

The store now emits events so it can notify PersistentApp when it changes.

Fixes https://github.com/vector-im/riot-web/issues/7076
2018-07-24 16:21:43 +01:00
Michael Telatynski
fe3850d61f
Merge pull request #2078 from psaavedra/fix_render_in_CreateRoomDialog
CreateRoomDialog is rendered before getting the config default_federate
2018-07-24 16:03:26 +01:00
Michael Telatynski
020e714b85
fix focus and too many <p>s after a Event>Quote in RT mode
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 15:54:24 +01:00
Michael Telatynski
afa19cd60d
make clicking autocomplete suggestions work again
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 13:48:05 +01:00
Michael Telatynski
7c3873b449
fix @room pill href=undefined and @room parsing breaking subsequent pills
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-24 12:18:10 +01:00
David Baker
b8ca65627b
Merge pull request #2076 from matrix-org/t3chguy/slate_cont2
Slate Fixes
2018-07-23 17:25:51 +01:00
David Baker
6804647dda Destroy widget when its permission is revoked 2018-07-23 17:11:53 +01:00
Pablo Saavedra
77ab7d2589 CreateRoomDialog is rendered before get default_federate value
In React the order of the execution of mount and render functions
is: `componentWillMount --> render --> componentDidMount`

The `CreateRoomDialog` `render()` function is executed before than
the `componentDidMount()` function so the

  `this.defaultNoFederate = config.default_federate === false;`

; instruction which is executed in the `componentDidMount` function
(in `CreateRoomDialog`) is evaluated always after than the rendering
of the page.

Therefore, the obvious issue is that the values obtained from the
`SdkConfig.get()` function (`config.default_federate`) are obtained
later than their usage on `render()`.

This patch makes this change to fix the described issue:

* componentWillMount instead of componentDidMount

Signed-off-by: Pablo Saavedra <psaavedra@igalia.com>
2018-07-23 17:51:51 +02:00
David Baker
4f8ece53b2 Fix CSS naming 2018-07-23 15:58:07 +01:00
David Baker
5adcd673ab Fix persisent apps being the wrong size 2018-07-23 15:08:17 +01:00
David Baker
00f78822c5 Fix widgets resetting when going to the top-left
Remove the hash from the parentUrl because this change when we
change rooms.
2018-07-23 13:50:16 +01:00
Michael Telatynski
93abb4b74b
workaround to prevent Slate getting too empty when undoing RT pastes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-20 15:06:27 +01:00
Bruno Windels
6f278ceab0
Merge pull request #2071 from matrix-org/dbkr/persistedelement_border
Fix border around persisted widgets
2018-07-20 12:23:02 +01:00
David Baker
f9af96d422
Merge pull request #2070 from matrix-org/t3chguy/slate_cont2
Even More Slate Fixes :D
2018-07-19 13:49:42 +01:00
Michael Telatynski
855f8871b8
replace heuristic for the time being as it failed with inlines like pills. Fixes vector-im/riot-web#7059
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 16:50:07 +01:00
David Baker
f868cd6699 Fix border around persisted widgets
The PersistedElement had zero height so the border ended up in the
wrong place. Add a wrapper to fix the height back.

Fixes https://github.com/vector-im/riot-web/issues/7030
Fixes https://github.com/vector-im/riot-web/issues/7029
2018-07-18 11:52:57 +01:00
Michael Telatynski
88dddb628d
in MD mode forgo any Magic Rich Pasting conversion as its confusing
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 11:50:13 +01:00
Michael Telatynski
6bb88c0548
attempt to fix clash of Cmd-M on Mac. Should fix vector-im/riot-web#7047
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 11:28:48 +01:00
Michael Telatynski
3e956514b3
also prevent merge/skip on rich text pastes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 11:00:45 +01:00
Michael Telatynski
1a9de3fabe
fix undo on pasting plaintext content
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 10:58:27 +01:00
Michael Telatynski
f5856270cc
undo removal of stripping <p>s as it breaks HTML /mes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 10:48:54 +01:00
David Baker
68c46a694e lint 2018-07-18 10:18:55 +01:00
Michael Telatynski
19e5dc5799
do less rewriting for composer quote to prevent breaking pills
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 10:10:42 +01:00
Michael Telatynski
8bb08b1b75
fix focus on new editorState as it didn't have focus so broke when alt tab
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-18 10:10:11 +01:00
David Baker
7aab6fa6f1 Merge remote-tracking branch 'origin/develop' into dbkr/widget_echo 2018-07-18 09:35:57 +01:00
Matthew Hodgson
02c3bc9476
Merge pull request #2069 from matrix-org/t3chguy/slate_cont2
Moar Slate Fixes
2018-07-17 17:15:01 +01:00
Michael Telatynski
720a728278
workaround for placeholder being shown when empty text but block. Fixes vector-im/riot-web#7042
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 16:13:33 +01:00
Michael Telatynski
1b467f6ca8
fix pasting of plaintext content (prevent loads of <p>s) Fixes vector-im/riot-web#7043
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 16:02:37 +01:00
Michael Telatynski
414908611d
prevent exception if there is no text node at anchor
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 13:48:15 +01:00
Michael Telatynski
688776bc10
allow enter to remove current block if its empty useful for lists
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 13:29:40 +01:00
Michael Telatynski
8d4cead105
special-case 'inline-code' button because mark is called 'code'
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 13:24:28 +01:00
Michael Telatynski
ff76b6a981
allow user to break out of blockquote/etc by hitting enter twice
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 12:30:22 +01:00
Matthew Hodgson
48fbf1406f
Merge pull request #2068 from matrix-org/t3chguy/slate_cont2
fix 2nd typo in one PR :(
2018-07-16 21:36:57 +01:00
Michael Telatynski
1c24f1fd5a
fix 2nd typo in one PR :(
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 21:34:25 +01:00
Matthew Hodgson
8c17ee7281
Merge pull request #2067 from matrix-org/t3chguy/slate_cont2
check if has some completions, not if >=0
2018-07-16 21:32:04 +01:00
Michael Telatynski
547e0ed52c
check if has some completions, not if >=0
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 21:30:04 +01:00
Matthew Hodgson
a5b932bfdd
Merge pull request #2066 from matrix-org/t3chguy/slate_cont2
Slate fixes
2018-07-16 21:29:20 +01:00
Michael Telatynski
3000099991
add additional checks for hiding autocomplete to prevent text calculation
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 21:27:52 +01:00
Michael Telatynski
bdbc2cbd38
disable spellCheck when the placeholder is shown because "unencrypted"
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 18:32:50 +01:00
Michael Telatynski
c7859fed1a
add heuristic to compare documents to prevent autocomplete flicker
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 18:27:06 +01:00
David Baker
a79caed0c9 Merge remote-tracking branch 'origin/develop' into dbkr/tiny_jitsi_follows_you_between_rooms 2018-07-16 17:21:51 +01:00
David Baker
379d65bd6c
Merge pull request #2064 from matrix-org/t3chguy/slate_cont2
simplify MessageComposerStore and improve its performance
2018-07-16 17:20:48 +01:00
Michael Telatynski
2f1779751b
make the MessageComposerStore stateless for better performance
and inter-tab composition (by simplifying it. WIN-WIN)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 16:56:08 +01:00
David Baker
d16ac4d80c
Merge pull request #1890 from matrix-org/matthew/slate
Replace Draft with Slate
2018-07-16 14:16:25 +01:00
David Baker
4c6419a3c5 Merge remote-tracking branch 'origin/develop' into dbkr/widget_echo 2018-07-16 13:24:13 +01:00
David Baker
ff96537048 lint 2018-07-16 11:49:53 +01:00
Michael Telatynski
4850387ae0
add null-guard for stickerpickerWidget in StickerPicker 2018-07-13 14:24:29 +01:00
Bruno Windels
7bbb967ddd
Merge pull request #2053 from matrix-org/dbkr/jitsi_always_on_screen
Implement always-on-screen capability for widgets
2018-07-13 11:14:37 +01:00
David Baker
e56feea9ec Put always-on-screen widgets in top left
always-on-screen widgets now appear in the top-left where the
call preview normally is if you're not in the room that they're in.

Fixes https://github.com/vector-im/riot-web/issues/7007
Based off https://github.com/matrix-org/matrix-react-sdk/pull/2053
2018-07-12 18:43:49 +01:00
David Baker
5a5e967262 Fix avatars vanishing on hover
Turns out the z-index was to make the avatar appear above the
EventTile_line even though it comes before in the DOM (it's
absolutely positioned to overlap with it). Instead, just put
it afterwards in the DOM.
2018-07-12 17:48:49 +01:00
Michael Telatynski
7405c5eff2
specify alternate history storage key to prevent conflicts with draft
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-12 16:35:42 +01:00
David Baker
8f10ee01c6 Implement always-on-screen capability for widgets
As per https://github.com/matrix-org/matrix-doc/issues/1354

This is whitelisted to only jitsi widgets for now as per comment,
mostly because any widget that we may make always-on-screen we need
to preemptively put in a PersistedElement container, which is
unnecessary for any other widget.

Apologies that this does a bunch of refactoring which could have
been split out separately: I only discovered what needed to be
refactored in the process of doing this.

Fixes https://github.com/vector-im/riot-web/issues/6984
2018-07-11 18:07:32 +01:00
Michael Telatynski
b4bc09c335
null-guard savedState since now we're accessing its props
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 17:13:33 +01:00
Michael Telatynski
3e05bf19c5
hide autocomplete when moving caret to match existing behaviour
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 16:30:45 +01:00
Michael Telatynski
95909de446
fix MessageComposer not marking translatable strings. run gen-i18n
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 11:39:55 +01:00
Michael Telatynski
c3aef6e3a0
workaround for tommoor/slate-md-serializer#14
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 10:29:14 +01:00
Michael Telatynski
fd4f9679df
convert md<->rt if the stored editorState was in a different state
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-11 09:43:39 +01:00
Bruno Windels
3e14cd2190
Merge pull request #2024 from matrix-org/t3chguy/improve_eventtile_error_handling
fix nullguard on EventTile, getComponent never returns falsey, it throws
2018-07-11 09:12:49 +01:00
Michael Telatynski
abbb69dc36
fix fn call, fixes usage of SlashCommands
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-10 17:35:13 +01:00
David Baker
25e453badd Fix stickerpicker PersistedElement usage
Earlier PR changed the prop to persistKey in PersistedElement but
containerId here, so this was ending up as 'undefined'.
2018-07-10 17:32:17 +01:00
Matthew Hodgson
02c6f3d168 fix typo 2018-07-10 15:18:07 +01:00
Michael Telatynski
100ecfe7ce
remove trailing spaces to make linter happy (no-trailing-spaces)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-10 10:29:52 +01:00
Michael Telatynski
58301e5dd4
navigateHistory only when at edges of document, to prevent Firefox bug
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-10 10:28:17 +01:00
Matthew Hodgson
51591a4d62 fix lint 2018-07-09 20:49:31 +01:00
Matthew Hodgson
ffec1b5a95 fix lint 2018-07-09 20:11:17 +01:00
Matthew Hodgson
0d0934add7
unbreak modifier+space (e.g. emoji insert on macOS)
(cherry picked from commit c490f87)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:58:04 +01:00
Matthew Hodgson
021409aafe
apply review feedback from @lukebarnard1
(cherry picked from commit 37d4bce)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:54:57 +01:00
Michael Telatynski
5b74c615ae
add missing import
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 47b6099)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:42:57 +01:00
Michael Telatynski
43204ea177
fix Control-Backspace after select-all
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 0f32ec0)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:42:10 +01:00
Michael Telatynski
faf17f06c6
remove debugger statement
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit b6f7940)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:40:36 +01:00
Michael Telatynski
483116fb03
add rule to slate-md-serializer: make underlined and removed work for CM
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit b521efd)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:40:29 +01:00
Michael Telatynski
372fa29ad3
take edge into consideration when moving focus region on arrow keys
fixes: >Pressing right when the caret is immediately left of some entity (pill, emojione emoji, etc..) causes the caret to jump to the left of the next entity (or end of the message if there are no more entities)

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 0982617)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:40:20 +01:00
Michael Telatynski
c6837af398
import-type Change from slate
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

(cherry picked from commit 85ed499)
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-09 19:40:00 +01:00
Matthew Hodgson
efdc5430d7 merge develop 2018-07-09 17:50:07 +01:00
David Baker
1646c3180c
Merge pull request #2041 from matrix-org/t3chguy/improve_devtools_perf
use TruncatedList to prevent rendering hundreds/thousands of DOM nodes
2018-07-09 10:17:05 +01:00
Will Hunt
a6cff4a969 Show server bans in the timeline 2018-07-06 11:06:31 +01:00
David Baker
b6f854abe4 Simplify event name as it's the only one 2018-07-05 20:00:42 +01:00
David Baker
eb552e5cef Just pass the roomId into WidgetEchoStore 2018-07-05 18:43:20 +01:00
Michael Telatynski
dc6b3cb081
showing all is pretty slow, show an additional 50 instead
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-04 13:07:57 +01:00
Michael Telatynski
e5392e2c00
use TruncatedList to prevent rendering hundreds/thousands of DOM nodes
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-04 12:57:22 +01:00
Michael Telatynski
168edbca16
Merge branch 'develop' into t3chguy/optional_new_behaviour_roomsublist 2018-07-04 11:21:16 +01:00
Michael Telatynski
6c91952d26
Merge pull request #2039 from akihikodaki/sticker_upstream
Import react as React in src/components/views/messages/MStickerBody.js
2018-07-04 11:11:53 +01:00
Akihiko Odaki
f941c93322 Import react as React in src/components/views/messages/MStickerBody.js
Signed-off-by: Akihiko Odaki <nekomanma@pixiv.co.jp>
2018-07-04 18:28:56 +09:00
David Baker
ad35fbf208 Pull out z-index to the sticker picker
As it's not a thing that's necessary for other PersistedElements,
only the sticker picker because it has to sit above the ContextMenu
it sits in.
2018-07-03 18:25:33 +01:00
David Baker
74f2d0a360 Use inline class field for PropTypes 2018-07-03 14:54:43 +01:00
David Baker
3f88721bc1 Give PersistedElement a key
So there can be more than one on a page
2018-07-03 14:43:27 +01:00
David Baker
c665ab8a22 Add error dialog if widget remove fails
Also up the timeout because matrix.org is that slow
2018-07-03 11:55:41 +01:00
David Baker
8b64ddcbe8 Do some level of local echo for widgets
* Show a spinner while we wait for widgets to be deleted
 * Hide widgets while they're pending deletion
 * Don't put another jitsi widget into the room if there's already
   one pending
2018-07-03 11:16:44 +01:00
Michael Telatynski
37a8e7f2e2
add setting to throw new RoomSubList hide behaviour behind an opt-in
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-30 17:07:28 +01:00
Michael Telatynski
ea6e1b6f72
Merge branch 'develop' into t3chguy/warn_self_mute 2018-06-29 19:17:43 +01:00
Michael Telatynski
85a0736c78
update wording as per D4ve's feedback
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-29 19:16:56 +01:00
Michael Telatynski
322b77b57f
don't throw, console.warn + dummy render instead
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-29 12:54:36 +01:00
Luke Barnard
016e9176f6 Fix room topics/names reseting when UserSetting re-renders
This reverts a fix to EditableText introduced in
    https://github.com/matrix-org/matrix-react-sdk/pull/1445
which introduced a bug that causes room name and topic to
reset when UserSettings is rerendered because
    `initialValue != this.value`

This also fixes the same bug originally fixed by #1445:
 >fix entering the same thing twice (which had the bug of not
 >emptying the "new" field)

which, in other words meant that clicking "+" when adding a room
alias would not reset the contents of the bottom-most alias in the
list.

The fix is to increment the `key` of the element, causing a new
instance to be mounted instead of passing new props to the existing
one.
2018-06-28 18:11:52 +01:00
Michael Telatynski
55f4f1723d
fix nullguard on EventTile, getComponent never returns falsey, it throws
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-27 11:44:11 +01:00
Luke Barnard
6345fcb8f2 Fix incorrectly positioned copy button on <pre> blocks 2018-06-27 11:31:55 +01:00
David Baker
6fb57c0c66
Merge pull request #2021 from matrix-org/t3chguy/room_sub_list_badge_click
on room sub list badge click goto first relevant room
2018-06-27 10:29:22 +01:00