Commit graph

14178 commits

Author SHA1 Message Date
Bruno Windels
c920dd2e8a check top of node instead of bottom, since coming in from last
as we're approaching from the last node, if we're scrolled up,
the first node we encounter would be below the bottom of the viewport

change the logic to stop at the first node that has its top
above the viewport bottom.

When completely scrolled up, this was causing nodes way below
the viewport to be selected as the reference for the pixelOffset,
and when pagination came in, it would immediately try to apply
the big negative pixelOffset, scrolling to a negative scrollTop,
thus going to the top again, and triggering another pagination,
entering in an infinite pagination loop until you scrolled down.
2019-02-26 16:26:24 +01:00
Bruno Windels
42030796c7 remove test for #528 as we removed that fix 2019-02-26 10:49:03 +01:00
Bruno Windels
ba5f16358f fall back to InteractionObserver for detecting timeline resizes
this is not nearly as smooth as using ResizeObserver, as the
callback rate is a lot lower, but seems to be quite a bit better
than what we have right now, without the 7% cpu hog that
the requestAnimationFrame polling fallback has.
2019-02-26 10:49:03 +01:00
Bruno Windels
8bb8ec141e clear min-height on timeline resets and other occasions where we load it 2019-02-26 10:49:03 +01:00
Bruno Windels
32f055bec2 clarify why we need this 2019-02-26 10:49:03 +01:00
Bruno Windels
db7203ed71 make sure the min-height doesn't get cleared by checkScroll 2019-02-26 10:49:03 +01:00
Bruno Windels
3823642863 some cleanup 2019-02-26 10:49:03 +01:00
Bruno Windels
41ae618d0e only clear min-height on scroll & adding items (componentDidUpdate)
before we would clear it as soon as you were 1px away from
the bottom of the timeline, which would still create jumping as
the whitespace would around 36px. To play it safe, we only clear it
after moving 200px from the bottom.

Also include "local echo" scroll events, caused by setting scrollTop
2019-02-26 10:49:03 +01:00
Bruno Windels
03784e586c replace getBoundingClientRect() with offset/scrollTop & clientHeight
as they are an order of magnitude faster in most browsers,
getBoundingClientRect() tends to cause relayout.
2019-02-26 10:49:03 +01:00
Bruno Windels
ecb074862e remove fix for old chrome bug 2019-02-26 10:49:03 +01:00
Bruno Windels
b3e6cbfddd restore scroll state when timeline resizes using ResizeObserver
(only where supported, polyfill doesn't give good results)
2019-02-26 10:49:03 +01:00
Bruno Windels
68ba14909b
Merge pull request #2671 from matrix-org/bwindels/permalinkperf
Improve permalink performance
2019-02-26 10:48:20 +01:00
Bruno Windels
0a404d5adc
Merge pull request #2702 from matrix-org/nadonomy/room-list
Normalise room list font weight, bold unreads
2019-02-26 10:43:21 +01:00
Bruno Windels
4d95af705d fix lint 2019-02-26 10:26:33 +01:00
Travis Ralston
18b27a72d8
Merge pull request #2692 from matrix-org/t3chguy/room_context_menu_settings
Settings button in Room Context Menu
2019-02-25 20:28:38 -07:00
Travis Ralston
28805da9f6
Merge pull request #2689 from matrix-org/t3chguy/roomnick
add roomnick SlashCommand
2019-02-25 20:28:13 -07:00
Michael Telatynski
7029695224 make it i18n friendly
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-25 23:26:24 +00:00
Travis Ralston
f6021e78b1
Merge pull request #2697 from matrix-org/t3chguy/pretty_Devtools
replace text Inputs in Devtools with Field bcuz prettier
2019-02-25 16:13:14 -07:00
Michael Telatynski
8d149575ea Merge branches 'develop' and 't3chguy/room_context_menu_settings' of github.com:matrix-org/matrix-react-sdk into t3chguy/room_context_menu_settings 2019-02-25 23:12:06 +00:00
Michael Telatynski
d4b6ce6932 Apply PR feedback, don't change room to go to its settings
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-25 23:08:51 +00:00
Michael Telatynski
dd9077f1e4 Merge branches 'develop' and 't3chguy/pretty_Devtools' of github.com:matrix-org/matrix-react-sdk into t3chguy/pretty_Devtools 2019-02-25 22:39:37 +00:00
Michael Telatynski
56d58f8600 make better use of space
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-25 22:38:33 +00:00
Michael Telatynski
fd2acb18f3 Merge branches 'develop' and 't3chguy/roomnick' of github.com:matrix-org/matrix-react-sdk into t3chguy/roomnick 2019-02-25 22:24:45 +00:00
Michael Telatynski
175938f5a0 set membership in case we don't get the ev
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-25 22:15:50 +00:00
Michael Telatynski
5bdd61111d Fix textareas
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-02-25 22:12:06 +00:00
Travis Ralston
9a42d2edee
Merge pull request #2685 from matrix-org/travis/settings-cleanup-1
Maintenance: Clean up some stuff around settings
2019-02-25 11:53:23 -07:00
Travis Ralston
1aef157d2a Fix variable reference 2019-02-25 11:52:45 -07:00
Nad Chishtie
88dfd3287f Normalise room list font weight and make bold when there are unreads. 2019-02-25 11:02:27 -07:00
Travis Ralston
24099de2a4 Merge branch 'develop' into travis/settings-cleanup-1 2019-02-25 10:56:43 -07:00
Travis Ralston
e0a5eeca75
Merge pull request #2686 from matrix-org/travis/old-room-sorting
Support the old room sorting algorithm and SettingsStore watchers
2019-02-25 10:51:10 -07:00
Travis Ralston
cdf09300ac Merge remote-tracking branch 'origin/develop' into travis/settings-cleanup-1 2019-02-25 10:44:33 -07:00
Bruno Windels
77f979ed6d also pass permalinkCreator here 2019-02-25 18:43:08 +01:00
Bruno Windels
a7db42c6cf use nesting instead of short-circuited && operator 2019-02-25 18:43:08 +01:00
Bruno Windels
b8c6bed906 adjust permalink code for tombstone message 2019-02-25 18:43:08 +01:00
Bruno Windels
fb672ffb28 change handling of event permalinks in replies 2019-02-25 18:43:08 +01:00
Bruno Windels
31dda34e6b use new permalink class in share dialog & context menu 2019-02-25 18:43:08 +01:00
Bruno Windels
f7ea9cfeb2 rename all instances of permalinkCreator 2019-02-25 18:43:08 +01:00
Bruno Windels
be3d12721c check room exists 2019-02-25 18:43:08 +01:00
Bruno Windels
fe71c17bb7 keep previous >= pl limit 2019-02-25 18:43:08 +01:00
Bruno Windels
63504fcc17 dont assume there are powerlevels set 2019-02-25 18:43:08 +01:00
Bruno Windels
f97ea37717 permalink is one word 2019-02-25 18:43:08 +01:00
Bruno Windels
476b81fc1e add test for membership change 2019-02-25 18:43:08 +01:00
Bruno Windels
db5a2138ea this is dead code actually, can go 2019-02-25 18:43:08 +01:00
Bruno Windels
ed4960f1c5 nicer formatting 2019-02-25 18:43:08 +01:00
Bruno Windels
b9c3919dc1 calculate highest pl from load! 2019-02-25 18:43:08 +01:00
Bruno Windels
35809dc7d5 also update highest power level when acls come in 2019-02-25 18:43:08 +01:00
Bruno Windels
12f55391db observe powerlevels from state event, less handlers this way 2019-02-25 18:43:08 +01:00
Bruno Windels
5ef673e80e port existing tests 2019-02-25 18:43:08 +01:00
Bruno Windels
29be28919d create permalink creator in roomview and pass it on to the event tiles 2019-02-25 18:43:08 +01:00
Bruno Windels
8d929add18 delegate to class when needing a roomId permalink 2019-02-25 18:43:08 +01:00