Travis Ralston
122868e32f
Removing timing/performance tracking on room list store
...
This was used to verify the fix was actually making improvements and can be safely taken out.
2018-11-01 16:30:48 -06:00
Travis Ralston
0c7aadb92b
Improve room list sort performance by caching common variables
...
This won't help much if the user is in a ton of highly active rooms, but for the most part this will help those in thousands of rooms, many of which are likely to be quiet.
Fixes https://github.com/vector-im/riot-web/issues/7646
Fixes https://github.com/vector-im/riot-web/issues/7645 (due to timestamp ordering)
2018-11-01 16:28:13 -06:00
Travis Ralston
272acfa2f5
Appease the linter
2018-11-01 14:46:39 -06:00
Travis Ralston
5558b7a3b2
Avoid hitting the SettingsStore thousands of times when generating room lists
...
Should fix https://github.com/vector-im/riot-web/issues/7646 to some degree
2018-11-01 14:43:15 -06:00
Travis Ralston
57b99893e5
Merge pull request #1936 from turt2live/travis/pinned-room-list
...
Add options to pin unread/mentioned rooms to the top of the room list
2018-11-01 08:04:12 -06:00
Aaron Raimist
49ce4ef117
eslint --fix src/
...
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2018-10-26 22:50:38 -05:00
Travis Ralston
3d8f0adf56
Move pinned rooms check to the RoomListStore
2018-10-12 14:35:54 -06:00
Bruno Windels
2ed414494f
use Room.myMembership event instead of RoomMember.membership for me
...
This is more reliable with LL enabled as the syncing user is
only known when it was active in the current timeline
or when the members have been loaded
2018-09-17 19:14:52 +02:00
Bruno Windels
fe734b944e
remove obsolete warning as peeking will cause the membership to be null
2018-09-13 18:45:38 +02:00
Bruno Windels
9a3717a274
only dispatch an action for self-membership
...
as everything listens to the dispatcher, dispatching an action can be quite slow,
especially when only matched in one listener, and the rest all having to be called
to just say "no, thanks". This is especially the case for the RoomMember.membership
event being put on the dispatcher, as there can be thousands of these events
when the room members are loading.
Since the RoomMember.membership action is only used on one place,
and only for the syncing user, change it to just that and only dispatch
in that case. This saves 100-300ms when setting the OOB members in
a big room (7000k members)
Maybe later on we can back this by room.getMyMembership() and avoid the
listener even...
2018-09-07 19:53:01 +02:00
David Baker
54620591cc
Don't crash if the value of a room tag is null
...
We were checking that the order was not null, but not the object
itself.
2018-08-23 12:05:09 +01:00
David Baker
941a3cfa53
Support M_INCOMPATIBLE_ROOM_VERSION
...
For https://github.com/vector-im/riot-web/issues/7164
2018-08-21 18:33:25 +01:00
David Baker
94c7ae2bf5
Merge pull request #2098 from matrix-org/dbkr/destroy_widget
...
Destroy non-persistent widgets when switching room
2018-08-17 09:53:41 +01:00
David Baker
e3643bd74c
Lint
2018-08-17 09:42:23 +01:00
Bruno Windels
cead4096d8
Merge pull request #2118 from matrix-org/bwindels/feature_lazyloading
...
Lazy loading of room members
2018-08-16 18:14:55 +02:00
Bruno Windels
440ebd187d
getMyMembership() doesn't take id anymore
2018-08-14 11:47:05 +02:00
David Baker
f44cc8e66e
Merge pull request #2112 from matrix-org/dbkr/recognise_server_notices_room
...
Recognise server notices room(s)
2018-08-07 09:52:25 +01:00
David Baker
b5ce1ac5e1
Recognise server notices room(s)
...
and put them in their own section at the bottom
2018-08-06 18:00:40 +01:00
David Baker
b2302af708
Update room tags behaviour to match spec more
...
Fix Riot's behaviour with room tags after my cleanup in
https://github.com/matrix-org/matrix-doc/pull/1457 . Although, reading
it again, it's not clear how you're supposed to tell the difference
between a reverse-dns tag name and a legacy freeform text tag
(contains a '.'?) - I've left it detecting these as freeform text
for now.
2018-08-06 16:58:54 +01:00
David Baker
7875d37c8e
Destroy non-persistent widgets when switching room
2018-08-01 15:01:11 +01:00
Bruno Windels
cfd20c7e85
fix error/tests
2018-07-25 16:10:49 +02:00
Bruno Windels
d87d34030a
fix dm detection and conf call code with lazy loading
2018-07-25 16:10:49 +02:00
Bruno Windels
7ea913ccec
fall back to synced membership when own membership is not yet available (due to lazy loading)
2018-07-25 16:10:49 +02:00
Bruno Windels
8529bc55e3
use helper method for knowing whether a user was kicked
...
mainly for readability, but also to discourage grabbing into the member
because of lazy loading changes
2018-07-25 16:10:49 +02:00
Bruno Windels
de3e143a8f
only lazy load the members when viewing a joined room
2018-07-25 16:10:49 +02:00
Bruno Windels
8c985bd049
ask client to lazy load room members when viewing a room
2018-07-25 16:10:49 +02:00
David Baker
cdd73e6e1f
Check matrix client exists when stopping
2018-07-24 16:55:45 +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
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
23b6abf8b7
no point saving history at this point, maybe future supported
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-17 09:27:11 +01:00
Michael Telatynski
cbe5944ff0
preserve selection and history between room changes and refreshes
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-16 22:04:42 +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
0f32c3a018
PR feedback
2018-07-16 13:18:10 +01:00
Michael Telatynski
59a14f2c0b
re-hydrate Values which have been serialized into LocalStorage
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-07-15 20:34:27 +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
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
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
Matthew Hodgson
efdc5430d7
merge develop
2018-07-09 17:50:07 +01:00
David Baker
b6f854abe4
Simplify event name as it's the only one
2018-07-05 20:00:42 +01:00
David Baker
658ac73064
comments
2018-07-05 19:57:24 +01:00
David Baker
3f60300983
Remove redundant check
2018-07-05 19:51:12 +01:00
David Baker
8c10dc1860
Remove unhelpful commented code
2018-07-05 19:50:11 +01:00
David Baker
7e2b559ccd
Make if clearer
2018-07-05 19:46:37 +01:00
David Baker
fb7ce9dd7f
More doc
2018-07-05 19:40:45 +01:00