Commit graph

15 commits

Author SHA1 Message Date
J. Ryan Stinnett
ae0a8b8da4 Auto-fix lint errors 2021-06-29 13:11:58 +01:00
Travis Ralston
a3e846685d Add array utility tests (and support upsampling in resample)
See contained diff. 

The upsampling is important for Voice Messages, but is being done here because it's easier to add all the tests at once.

This also introduces a new Object utility - that will be tested on its own commit.
2021-04-22 20:08:45 -06:00
J. Ryan Stinnett
4e87fdcdfe Fix object diffing when objects have different keys
The object diff optimisation in 32cca0534c is not
correct for the case where `b` has some keys that are not in `a`.

By ensuring their key arrays are same length, we can preserve optimisation and
be correct as well.

Fixes https://github.com/vector-im/element-web/issues/16514
2021-02-24 13:45:25 +00:00
Michael Telatynski
49f511bbab delint 2021-02-19 00:26:52 +00:00
Michael Telatynski
32cca0534c improve algo by skipping an O(n) operation 2021-02-19 00:19:35 +00:00
Michael Telatynski
3ca5632f6a Replace ObjectUtils.js with objects.ts 2021-02-19 00:00:10 +00:00
Michael Telatynski
6220f50360 delint 2020-08-05 09:28:02 +01:00
Michael Telatynski
cd29edb442 Write more typescript defs 2020-08-05 09:13:01 +01:00
Travis Ralston
5b15d12865 Ensure list visibility changes get counted as list changes
Fixes https://github.com/vector-im/riot-web/issues/14799

We were checking to see if the tags were visible at render time, but we needed to ensure that they were(n't) included when checking for diffs. This introduces a new kind of object cloning for semantic reasons.

This also fixes the selection indicator being a bit off on custom tags.
2020-07-30 14:18:54 -06:00
Travis Ralston
e953bfbf88 Replace flawed objectHasValueChange usage with objectHasDiff
Fixes https://github.com/vector-im/riot-web/issues/14782

We need to check if the keys changed, not just the values.
2020-07-30 14:08:18 -06:00
Travis Ralston
b91026fa89 Ensure CustomRoomTagStore doesn't fire useless updates
This could in theory cause double rendering of the room list under some conditions.
2020-07-27 17:18:01 -06:00
Travis Ralston
4d7980eb07 Ensure references to the room list store are broken for diffing
See commit diff for details.
2020-07-24 10:38:04 -06:00
Travis Ralston
9969b01c5f Only render sublists when they change significantly
We can ignore off-screen updates, so do that. See diff for more details on what we're doing.
2020-07-23 22:13:32 -06:00
Travis Ralston
1fe3e33dbf Factor out cloning to a util and use it everywhere 2020-06-22 14:14:43 -06:00
Travis Ralston
099661c2aa Only fire setting changes for changed settings
Previously we were firing updates for everything, which is bad. This has an effect of causing the room list to update itself every time the user goes to toggle some account settings.
2020-06-22 10:18:38 -06:00