Commit graph

11624 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
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
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
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
1aef157d2a Fix variable reference 2019-02-25 11:52:45 -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
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
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
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
Bruno Windels
d4c6198fa3 update copyright 2019-02-25 18:43:08 +01:00
Bruno Windels
d3f0b609f5 use URL instead of creating new a element 2019-02-25 18:43:08 +01:00
Bruno Windels
c2791b9470 refactor pickServerCandidates into statefull class
so we don't need to iterate over all members for every permalink
2019-02-25 18:43:08 +01:00
Travis Ralston
5bf9f721c8 Port minimize to tray to new settings tab (post-merge)
Brings in b02b371250
2019-02-25 09:43:39 -07:00
Travis Ralston
4801b25f77 Merge remote-tracking branch 'origin/develop' into travis/settings-cleanup-1 2019-02-25 09:40:50 -07:00
Travis Ralston
addc7e519b
Merge pull request #2699 from matrix-org/travis/fix-bug-in-notifications
Fix NPE relating to toggling notifications
2019-02-25 07:31:59 -07:00
Travis Ralston
8049d5c2b2
Merge pull request #2684 from matrix-org/travis/fix-e2e-menu-item
Only set e2e info callback if the event is encrypted
2019-02-25 07:31:17 -07:00
Travis Ralston
1c10b3050d Revert "Add some logging for riot-web#7838"
This reverts commit f5ff580e35.
2019-02-24 18:05:40 -07:00