- Display the none hierarchical list of spaces in the left panel
- Space switching when new space selected
- Refresh space list and recents data after sync
* Adopted the new MXLog and replaced NSLog throughout the application - vector-im/element-ios/issues/4351
* Replaced NSLog() and print() usages with MXLog.debug()
* Added swiftlint rules for NSLog(), print(), println() and os_log()
* Escape paths used to run script build phases for swiftlint and swiftgen
The block passed into `[MXSession listenToEventsOfTypes:onEvent:]` is stored with a strong
reference in the `listenerBlock` property of `MXSessionEventListener`. The method also
returns the listener and it is then stored into the `roomTagsListenerByUserId` dictionary
on `self`. Since a strong reference to `self` is captured in the block that means the block
retains `self` (via the capture) and `self` retains the block (via `roomTagsListenerByUserId`)
so there is a memory leak.
The bug is most easily reproduced during testing #4168 which involves closing the current
and creating a new session.
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
- Display an exclamation mark (on a red background). In case of a multi-line message
- When a message with an error is selected, show a bottom bar with the 4 following actions: Retry - Delete - Edit - Copy
- If users press on Delete, a confirmation dialog is displayed
- When error messages occur, a general error message appears above the composer. Selecting Delete will delete all error messages. Pressing on Retry will attempt to resend error messages
- If users press on Delete, a confirmation dialog is displayed
- In room lists, decorate rooms with errored messages with the error icon. Rooms with errors should be sorted first
This is a regression made in #2265 (Key backup: avoid to refresh the home room list on every backup state change).
On other tabs than `self.keyBackupBanner` must be reset to `KeyBackupBannerNone` so that there is no banner section.