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
David Baker
1f2d279a0a
Consistency, redundant check & doc
2018-07-05 19:38:42 +01:00
David Baker
eb552e5cef
Just pass the roomId into WidgetEchoStore
2018-07-05 18:43:20 +01:00
David Baker
3199e68578
Lint
2018-07-03 11:22:19 +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
a548c83647
when the user switches room, close room settings
...
this is especially annoying if they choose Leave Room
which indirectly switches room
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-26 17:07:39 +01:00
Luke Barnard
da9fe9917b
Fix click on faded left/right/middle panel -> close settings
...
- implement generic dispatch to close user/room/group settings
- use dispatch to allow clicks on disabled left/right/middle panel to
close settings
A much more maintainable approach would be to use dedicate routing
instead of doing different things depending on what page of the app is
currently being viewed. At the very least we could make the concept of a
settings page generic.
2018-05-29 13:16:39 +01:00
Matthew Hodgson
9c0c806af4
correctly send pills in messages
2018-05-12 20:04:58 +01:00
Matthew Hodgson
02947063d3
Merge branch 'develop' into matthew/slate
2018-05-05 22:45:44 +01:00
Michael Telatynski
f2102e283c
Merge branches 'develop' and 't3chguy/m.relates_to' of github.com:matrix-org/matrix-react-sdk into t3chguy/m.relates_to
2018-05-02 13:08:38 +01:00
David Baker
3d478c3c3a
Merge pull request #1867 from matrix-org/luke/fix-group-request-concurrency
...
Prevent error responses wedging group request concurrency limit
2018-05-02 10:45:12 +01:00
Luke Barnard
2dfb3146b0
Simplify concurrent request error handling
2018-05-02 10:39:15 +01:00
Luke Barnard
71c1198d12
Rewrite limitConcurrency to fix error catching
...
Make sure that we only catch errors that are a result of
calling fn()
2018-05-01 18:01:25 +01:00
Luke Barnard
bd703b17e5
Update documentation for GroupStore.registerListener
2018-05-01 16:57:28 +01:00
Luke Barnard
56ec7713bb
Refresh group rooms and members when selecting a tag
2018-05-01 16:54:14 +01:00
Luke Barnard
4d8394954c
Only create one group store listener in RoomList
...
Instead of creating several and destroying the reference to the one
created before.
2018-05-01 14:24:58 +01:00
Luke Barnard
da1a5616eb
Prevent error responses wedging group request concurrency limit
...
Fixes https://github.com/vector-im/riot-web/issues/6592
2018-05-01 14:04:13 +01:00
Luke Barnard
e3a07be127
Remove GroupStore logging
2018-05-01 13:14:01 +01:00
Luke Barnard
023daef4b7
Refactor GroupStores into one global GroupStore
...
Take a step closer to a flux-like architecture for group data, for
the purposes of providing features that require it.
Now the app has a single GroupStore that can be poked to fetch
updates for a particular group.
2018-05-01 11:24:17 +01:00
Matthew Hodgson
75a2be1a8d
WIP (doesn't build yet) replacing draft with slate
2018-04-23 01:13:18 +01:00
Michael Telatynski
c77807bd22
Merge branches 'develop' and 't3chguy/m.relates_to' of github.com:matrix-org/matrix-react-sdk into t3chguy/m.relates_to
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
# Conflicts:
# src/i18n/strings/en_EN.json
# src/i18n/strings/eu.json
# src/i18n/strings/fr.json
# src/i18n/strings/lv.json
# src/i18n/strings/ru.json
# src/i18n/strings/zh_Hant.json
2018-04-12 09:48:06 +01:00
Luke Barnard
42141f7da7
Fetch group data when leaving or joining to update the view
2018-04-10 10:03:54 +01:00
Michael Telatynski
b5ed08eba2
Merge
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-03-24 17:52:49 +00:00
Luke Barnard
35cc443562
Limit group requests to 3 at once
...
using a FIFO queue.
This is needed in order to lower the priority of getting group
state and prioritise everything else, namely initial sync.
It should be noted that this by no means guarantees that the
first incremental sync will happen sooner; the client could
end up doing some other requests first instead.
2018-03-13 11:35:19 +00:00
Luke Barnard
faf517419f
Return null instead of undefined on failure
2018-03-06 12:14:41 +00:00
Luke Barnard
0fc79a4a0d
Remove delay used in testing
2018-03-06 12:13:46 +00:00
Luke Barnard
afbd563810
Potentially fix a memory leak in FlairStore
...
For each successful request of a group profile, we previously
emitted an `updateGroupProfile` event per caller of
`getGroupProfileCached`. This is sub-optimal because only a single
event emit is required to update the views listening.
It's possible that this was enabling some race to cause a memory
leak but this is not certain, hence the extra logging for future
debugging.
2018-03-06 11:33:56 +00:00
Luke Barnard
d5908fbc1e
Fix FlairStore cache busting
2018-03-01 15:06:05 +00:00
Luke Barnard
4037a22492
Fix bug where avatar change not reflected in LLP
...
Fixes vector-im/riot-web#6189
2018-03-01 14:40:03 +00:00
Luke Barnard
fae7af1a62
Do proper null-checks on decypted events to fix NPEs
...
Previously we assumed that a decrypted event has a room_id
but this isn't necessarily true for to_device events.
It makes sense to ignore events that aren't associated with
rooms anyway given that the list we're updating only contains
rooms!
2018-02-23 15:04:04 +00:00
Luke Barnard
9e969e33b7
Reorder the RoomListStore lists on Event.decrypted
2018-02-23 10:32:33 +00:00
Luke Barnard
644ddbf9b9
Regenerate room lists on Room event
...
To make sure that we handle rooms that our
client has not seen previously, we regenerate
the room list when the room is stored -
which is indicated by the js-sdk by the
Room event.
2018-02-20 17:57:46 +00:00
Michael Telatynski
665ddccb0d
restrict to m.text for now
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-20 15:45:25 +00:00
Michael Telatynski
34b427d15e
s/quote_event/reply_to_event/
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-02-19 23:41:07 +00:00
Luke Barnard
32130fbc28
Don't regenerate RoomListStore state for notifs/scrollback/etc.
...
Only do so for the live timeline of rooms.
2018-02-19 09:56:03 +00:00
Luke Barnard
94a0a90457
Make RoomListStore aware of Room.timeline events
...
so that we can do reorderings of lists ordered by most recent event.
No optimisations here; we only update for timeline events
on live timelines that could update the "unread count".
2018-02-16 14:16:50 +00:00
Luke Barnard
c8ccbed0b1
Merge pull request #1751 from matrix-org/luke/dnd-group-view-tag-panel
...
Implement GroupTile avatar dragging to TagPanel
2018-02-15 11:05:28 +00:00
Luke Barnard
389d96bc46
Use optimistic removedTagsAccountData state in TagOrderStore
...
when receiving TagOrderActions.moveTag.pending, which now exposes
this state.
2018-02-14 16:47:29 +00:00
Luke Barnard
3020c8cd94
Fix custom tags not being ordered manually
...
Actually fixes vector-im/riot-web#6135 unlike #1748 , which
incorrectly assumed that custom tags would be included in
listOrders.
This fix makes sure that the `default` case in the `switch`
is actually used.
2018-02-14 11:23:29 +00:00
Luke Barnard
c670b76ec8
Merge pull request #1743 from matrix-org/luke/feature-tag-panel-tile-context-menu
...
Add context menu to TagTile
2018-02-13 17:28:43 +00:00
Luke Barnard
a34fea8af8
Merge branch 'develop' into luke/feature-tag-panel-tile-context-menu
2018-02-13 16:51:00 +00:00
Luke Barnard
f16bc93fee
If a tag is unrecognised, assume manual ordering
...
(as we did previously)
Fixes https://github.com/vector-im/riot-web/issues/6135
2018-02-13 16:09:17 +00:00
Luke Barnard
5af560f625
Make removedTags a Set for perf
2018-02-13 14:43:34 +00:00
Luke Barnard
322012cf88
Add comment to explain hacky optimism
2018-02-12 18:46:36 +00:00
Luke Barnard
e3f68f12c8
Add context menu to TagTile
...
With two options: View Community and Remove, which
removes the tag from the panel.
2018-02-12 18:01:08 +00:00
lukebarnard
9b0df19149
Make RoomListStore aware of sub list orderings
...
so that it can do optimistic updates of ordered lists.
2018-02-08 16:20:37 +00:00
lukebarnard
dd0e981d72
Handle indication from server that a room has no more tags
2018-02-06 12:00:23 +00:00
lukebarnard
8d0d0b43ff
Handle first tag added/last tag removed
...
This is a special case because untagged rooms should
appear in im.vector.fake.recent and tagged rooms
should not.
2018-02-06 12:00:06 +00:00
lukebarnard
c665c1170b
Regenerate room lists when we get RoomMember.membership
2018-02-05 18:27:50 +00:00
lukebarnard
9982efbd8f
Regenerate room lists when we get m.direct
2018-02-05 18:06:29 +00:00
lukebarnard
330ce0f02e
On failure, regenerate state from sdk
...
Instead of using history, which could be unpredictable
2018-02-05 17:34:05 +00:00
lukebarnard
81eca49266
Merge branch 'luke/room-list-flux' of github.com:matrix-org/matrix-react-sdk into luke/room-list-flux
2018-02-05 11:40:42 +00:00
Luke Barnard
ff8fcb3139
Merge branch 'develop' into luke/room-list-flux
2018-02-05 11:39:39 +00:00
David Baker
cfd1f28258
Merge pull request #1722 from matrix-org/luke/load-tags-after-first-sync
...
Use correct condition for getting account data after first sync
2018-01-30 15:21:12 +00:00
lukebarnard
40907ecf29
Use correct condition for getting account data after first sync
...
so that we can get tags sooner.
2018-01-26 19:39:06 +01:00
lukebarnard
4820a195ab
Remove logging
2018-01-26 09:15:03 +01:00
lukebarnard
701abb6a21
Move management of room lists to RoomListStore
...
this is part maintenance to make RoomList clearer and part
allowing room list state to be modified via a dispatch.
2018-01-25 22:16:03 +01:00
Michael Telatynski
37dcb33b15
Reset quotingEvent on Room Change because inideal UX
...
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-01-22 14:45:04 +00:00
lukebarnard
5f413ddf8b
Do not fetch GroupStore resources if already fetching
2018-01-17 17:01:42 +00:00
lukebarnard
3ebf278cf3
Refactor GroupStore based on existing STATE_KEY concept
...
by factoring out a lot of repeated code.
2018-01-17 16:59:13 +00:00
lukebarnard
2a1f8bd394
Ignore remote echos caused by this client
...
by sending each tag_ordering with a _storeId and ignoring accout data
that has a matching _storeId.
This will tend to become out of sync with the server over time if
requests continually fail, but subsequent successful requests will
rectify any differences.
2018-01-17 10:51:28 +00:00