miruka
63af4be1e2
Defer fetching user profiles for events
...
Previously, events for which the sender, target (state_key) or remover
was missing from the room members would have their profile fetched
from network when registering the event into models.
This could cause very slow past events loading times for rooms, since
the event registering function (which contained the profile retrieval
directives) is run sequentially event-by-event.
Missing profiles are now lazy-loaded when events come into the
user's view in the QML timeline.
2020-05-20 03:42:40 -04:00
miruka
bc5549195b
Improve HTMLProcessor performance (mentions)
...
- Try to autolink usernames only for outgoing messages
- Improve and add some missing docstrings
Fixes the very slow loading/python "freezing" for rooms with a huge
number of members.
2020-05-20 00:59:30 -04:00
miruka
ef9b880152
Register room members only when needed
2020-05-17 15:29:23 -04:00
miruka
f23a83b0d5
NioCallbacks: add self.models/user_id aliases
2020-05-17 13:57:09 -04:00
miruka
a1b485c039
Add ownMessagesOnLeftAboveWidth setting
...
Replaces the theme eventList.ownEventsOnRightUnderWidth property.
Can be set to -1 to always keep our own messages on the right.
2020-05-16 14:37:45 -04:00
miruka
60ad7416d9
Add maxMessageCharactersPerLine setting
...
Can be set to -1 for no maximum width.
2020-05-16 14:37:34 -04:00
miruka
ddf7e724fd
Set a loop_sleep_time for sync_forever()
...
https://github.com/poljar/matrix-nio/pull/132#pullrequestreview-412701098
"If not [set] the client will sync without any sleep between syncs.
This will cause a lot of load on the homeserver and the client."
2020-05-15 20:56:23 -04:00
miruka
dfd7d509a4
Fix item losing its parent model when filtered out
2020-05-15 20:56:23 -04:00
miruka
bbb74b7b90
Remove nio <0.11 asdict workaround
...
Mirage 0.5.0 requires nio 0.11+
2020-05-15 20:56:23 -04:00
miruka
e006e14b05
Bump version to v0.5.0
2020-05-15 20:56:23 -04:00
miruka
9b5b3a9f06
Support a order
key for accounts in config
2020-05-15 20:56:23 -04:00
miruka
fd3fe06d15
Add keybinds to go to account at specific indice
2020-05-15 20:56:23 -04:00
miruka
6f1f82f82d
Change unfocus/deselect & debug message keybinds
...
unfocus/deselect → ctrl+D, because escape conflicts with any text field
that must handle escape
debug message → ctrl+shift+D instead of ctrl+D
2020-05-15 20:56:23 -04:00
miruka
bbb00dd8a0
Let escape presses work properly inside HDrawer
...
Also add escape to clear member filter when focusing the field, and
clearMemberFilterOnEscape setting.
2020-05-15 20:56:23 -04:00
miruka
d444c800b9
Remove unused showEveryRoom keybind
2020-05-15 20:56:23 -04:00
miruka
974478f576
Add keybinds for previous/next unread/mention room
2020-05-15 20:56:23 -04:00
miruka
eff203032c
Python implementation of account collapsing
2020-05-15 20:56:23 -04:00
miruka
4d3c26abd4
Gather both Accounts and Rooms in all_rooms model
2020-05-15 20:56:23 -04:00
miruka
19243ec5a6
Fix serialize_value_for_qml handling of class type
2020-05-15 20:56:23 -04:00
miruka
97fdc214dd
No need for special model attributes in Backend
2020-05-15 20:56:23 -04:00
miruka
f4dca1c2c9
Fix SyncId type hint & remove debug prints
2020-05-15 20:56:23 -04:00
miruka
37a9332aed
Python filtered models for room members
2020-05-15 20:56:23 -04:00
miruka
200f25d23e
Python filter for AccountsBar
2020-05-15 20:56:23 -04:00
miruka
0e49b5f972
Write-lock when refiltering
2020-05-15 20:56:23 -04:00
miruka
c502aa4245
Add model batch removal optimization for filtering
2020-05-15 20:56:23 -04:00
miruka
5432958121
Working python proxy/filter for room list
2020-05-15 20:56:23 -04:00
miruka
eee198b238
Add python proxy/filter models
2020-05-15 20:56:23 -04:00
miruka
ac0907fad7
ModelItem can only have one parent model again
2020-05-15 20:56:23 -04:00
miruka
2a772e5f54
Ensure waiting after sync failure before retrying
2020-05-15 20:56:23 -04:00
miruka
592a9fe8e7
Have id field on ModelItem base class
2020-05-15 20:56:23 -04:00
miruka
9f7d30f248
Add account total unread/mentions indicator
2020-05-15 20:56:23 -04:00
miruka
fcf88209f2
Single room list approach, account bar scrolls
2020-05-15 20:56:23 -04:00
miruka
393a56a50a
Model items can now have multiple parent models
2020-05-15 20:56:23 -04:00
miruka
34f98b48d1
Add "every room" button
2020-05-15 20:56:23 -04:00
miruka
65103eaaba
Add keybinds to switch accounts
2020-05-15 20:56:23 -04:00
miruka
7fb67259e7
load_all_room_members doc + ensure registering
2020-05-15 20:56:23 -04:00
miruka
ecb88864a9
Higher firstsync limit to avoid missing room name?
2020-05-15 20:56:23 -04:00
miruka
744c6f1b3f
Load all room members when showing a room to user
2020-05-15 20:56:23 -04:00
miruka
99d59bb49b
Use filtered model strictly when neccessary
2020-05-15 20:56:23 -04:00
miruka
01adcff77e
Reduce the number of room delegate errors
2020-05-15 20:56:23 -04:00
miruka
6536f89507
Fix missing rooms and wrong avatars in initialsync
2020-05-15 20:56:23 -04:00
miruka
fd8cf4ad8d
Optimize model field replacements
2020-05-15 20:56:23 -04:00
miruka
68e344ae21
Give a base class to model item pyotherside events
2020-05-15 20:56:23 -04:00
miruka
a4c33f8edb
Ensure first event for each rooms is a visible one
...
Dependening on the user's config, request for the first sync that
profile changes, membership changes or unknown events be filtered out.
This ensures we have something to show as the room subtitle (last
message) in the UI.
2020-05-15 20:56:23 -04:00
miruka
aba2fd1b4b
Improve sync & load_past_events filter usage
...
Limit to 1 message/room only for the first sync
2020-05-15 20:56:23 -04:00
miruka
eacd7f1f3e
Get only 1 event of each kind for rooms on start
2020-05-15 20:56:23 -04:00
miruka
3a77a0288f
Use user ID for unknown typing users in room
2020-05-15 20:56:23 -04:00
miruka
9e07612249
Remove "room load until there's non-profile event"
2020-05-15 20:56:23 -04:00
miruka
1adbddc063
Enable member lazy-loading for /sync and /messages
2020-05-15 20:56:23 -04:00
miruka
2cc3f27247
Add Ban to member context menu
...
Also don't try to load past messages in rooms we've left/been
kicked/banned from.
2020-05-15 20:56:23 -04:00