Fix declining invitation being ignored

This commit is contained in:
miruka 2019-08-16 02:03:13 -04:00
parent 8baf336cf9
commit 653934be71
3 changed files with 7 additions and 9 deletions

View File

@ -14,18 +14,14 @@
- Reloading config files (cache) - Reloading config files (cache)
- Ignore @ when filtering members - Ignore @ when filtering members
- Tiny invisible scrollbar - Tiny invisible scrollbar
- Update state.json page when accepting an invite
- Run import in thread and AsyncClient.olm functions, they block async loop - Run import in thread and AsyncClient.olm functions, they block async loop
- Handle import keys errors - Handle import keys errors
- Update the room subtitle when a message is decrypted/edited
- Don't linkify images for outgoing html - Don't linkify images for outgoing html
- state: If last page is a room and the account for it is no longer present,
load Default.qml instead
- Message position after daybreak delegate - Message position after daybreak delegate
- Keyboard flicking against top/bottom edge - Keyboard flicking against top/bottom edge
- Don't strip user spacing in html - Don't strip user spacing in html
- [hr not working](https://bugreports.qt.io/browse/QTBUG-74342) - [hr not working](https://bugreports.qt.io/browse/QTBUG-74342)
- Terrible performance using `QT_QPA_PLATFORM=wayland-egl`, must use `xcb` - Terrible performance using `QT_QPA_PLATFORM=wayland-egl`, must use `xcb`
@ -53,6 +49,8 @@
- Adapt shortcuts flicking speed to font size and DPI - Adapt shortcuts flicking speed to font size and DPI
- Show error box if uploading avatar fails - Show error box if uploading avatar fails
- EditAccount page: - EditAccount page:
- Remove account from client
- state: Set UI state page to Default.qml when account is removed
- Device settings - Device settings
- Multiaccount aliases: - Multiaccount aliases:
- Warn when conflict with another alias - Warn when conflict with another alias

View File

@ -453,15 +453,16 @@ class MatrixClient(nio.AsyncClient):
for room_id, info in resp.rooms.leave.items(): for room_id, info in resp.rooms.leave.items():
# TODO: handle in nio, these are rooms that were left before # TODO: handle in nio, these are rooms that were left before
# starting the client. # starting the client.
if room_id not in self.rooms: if room_id not in self.all_rooms:
log.warning("Left room not in MatrixClient.rooms: %r", room_id)
continue continue
# TODO: handle left events in nio async client # TODO: handle left events in nio async client
for ev in info.timeline.events: for ev in info.timeline.events:
if isinstance(ev, nio.RoomMemberEvent): if isinstance(ev, nio.RoomMemberEvent):
await self.onRoomMemberEvent(self.rooms[room_id], ev) await self.onRoomMemberEvent(self.all_rooms[room_id], ev)
await self.register_nio_room(self.rooms[room_id], left=True) await self.register_nio_room(self.all_rooms[room_id], left=True)
if not self.first_sync_happened.is_set(): if not self.first_sync_happened.is_set():
asyncio.ensure_future(self.load_rooms_without_visible_events()) asyncio.ensure_future(self.load_rooms_without_visible_events())

View File

@ -19,7 +19,6 @@ HPage {
modelSources[["Room", userId]] || [], "room_id", roomId modelSources[["Room", userId]] || [], "room_id", roomId
) || "waiting" ) || "waiting"
onRoomInfoChanged: { onRoomInfoChanged: {
print( JSON.stringify( roomInfo, null, 4))
if (roomInfo.left) { if (roomInfo.left) {
// The room will most likely be gone on client restart // The room will most likely be gone on client restart
window.uiState.page = "Pages/Default.qml" window.uiState.page = "Pages/Default.qml"