miruka
1ec8ed466f
Implement crude encrypted EventImage downloading
...
When a message image is clicked in an encrypted room, the full file will
be download (no GUI indication for now, just a print in terminal) and
opened when ready.
Before downloading, copying the image address via right click will put
the full image mxc:// URL in clipboard. After downloading, it will be
the local downloaded image path instead.
2019-12-16 17:36:14 -04:00
miruka
5dbf06ba6c
Fix multiple accounts local echo issues
...
- Messages should now always be in the order they were sent in when
sending from multiple accounts to a same slow room
- Fixed dead lock that occured when sending a message
from account A, then from account B, then from account A, in a
room slow enough so that all of them would be in local echo transition
at the same time.
2019-12-16 10:53:26 -04:00
miruka
817ae905fe
Backend._any_clients(): only pick a healthy client
...
When selecting a random client for get_profile(), thumbnail(), or
download() requests, ignore those that aren't currently syncing.
Also warn if we still can't find a healthy client after 30s.
2019-12-16 07:02:42 -04:00
miruka
9da0b12e45
Resume accounts faster on client startup
2019-12-16 05:14:26 -04:00
miruka
7d8f67bfe2
Retry if initial profile retrieval on login fails
2019-12-16 05:03:57 -04:00
miruka
a8dbd9185a
Update matrix client update() usage
2019-12-14 17:40:31 -04:00
miruka
73dfcce8a7
Prevent crash in loading past evnts
2019-12-14 13:50:21 -04:00
miruka
47c53644e7
Fix/improve transfer speed-related stuff
2019-12-14 13:49:31 -04:00
miruka
51c68cf998
Fix Room.given_name possibly being None
2019-12-13 17:18:36 -04:00
miruka
c8ce50a01c
Fix Room.plain_topic accidentally set to None
2019-12-13 15:09:13 -04:00
miruka
d240de702f
Implement (read-only for now) room settings
2019-12-13 09:22:13 -04:00
miruka
438b0d26a4
Don't share room members models between accounts
...
Is unsafe and creates subtile bugs, like "invite member → member
declines → member disappears from the member list, then reappears a
second after" (race condition)
2019-12-12 10:11:24 -04:00
miruka
707ac61ff6
Support and sort invited room members
2019-12-12 10:03:39 -04:00
miruka
c4ee77ca15
Disable composer/upload button when no permission
2019-12-11 13:54:18 -04:00
miruka
001c643406
Implement inviting to room
2019-12-11 12:42:59 -04:00
miruka
d56b590edc
Rate-limit config files writing
2019-12-10 17:59:04 -04:00
miruka
2cd177dc13
Add text remembering ability to HTextField
2019-12-10 15:32:42 -04:00
miruka
888df282a8
Rename side pane stuff to main pane
2019-12-10 15:17:41 -04:00
miruka
f65425957b
Builtin ability to remember size for HDrawer
2019-12-10 15:01:56 -04:00
miruka
b32d88cd95
Fix users that left a room not deleted from model
2019-12-09 15:34:29 -04:00
miruka
37d8d5c68d
History persistence for DebugConsole
2019-12-09 13:21:12 -04:00
miruka
f125b6d60e
Minor DebugConsole improvements
...
Startup animation, top position by default, add F1 shortcut
2019-12-09 12:27:40 -04:00
miruka
9a074e6097
Improve bad event types messages
2019-12-08 12:46:25 -04:00
miruka
c2f5a5bcbc
Use normal QtQuick.Shortcut
2019-12-08 12:43:39 -04:00
miruka
455801a641
Use new way to cancel current login for signin btn
2019-12-07 18:45:03 -04:00
miruka
6f589dbda5
Implement cancelling python coros from QML
...
This was needed to implement the cancel button featue on the login
screen
2019-12-07 18:33:33 -04:00
miruka
4a93a24f74
cancel_previous(): use @functools.wraps
2019-12-07 17:09:13 -04:00
miruka
74efce589b
Remove periods at the end of room info events
2019-12-06 18:23:25 -04:00
miruka
4ada039384
Upload UI/code improvements
2019-12-06 16:44:25 -04:00
miruka
8ae4bbb6cf
Fix uplaod item delete, pause and cancel bugs
2019-12-06 08:59:35 -04:00
miruka
e51f1f2c79
Implement upload pause function
2019-12-06 08:44:45 -04:00
miruka
a555ad0e19
Upload stats
2019-12-05 10:00:23 -04:00
miruka
3aff20006c
Handle OSError happening in send_file()
2019-12-05 09:51:31 -04:00
miruka
9d89409379
Support UnknownEvent and UnknownEncryptedEvent
2019-12-04 18:20:30 -04:00
miruka
c3dfb523b6
Don't bind ctrl+backspace to zoom reset
...
ctrl+backspace is used to delete previous word in a text field
2019-12-04 10:06:00 -04:00
miruka
b25f3f3e51
FindSomeone: reject invalid user ID
2019-12-04 10:00:29 -04:00
miruka
a992b51ac5
Fix being able to make room with inexistant user
2019-12-04 09:43:04 -04:00
miruka
34e0ec7c7d
Implement UI zooming
2019-12-04 09:08:38 -04:00
miruka
26e63e4ab2
Use new nio AsyncClient.mxc_to_http()
...
Has the correct behavior for all servers,
e.g. mxc://privacytoosl.io/id → https://chat.privacytools.io/ ...
2019-12-02 06:42:48 -04:00
miruka
3919b964ca
Add ability to cancel uploads
2019-12-02 05:06:21 -04:00
miruka
ae009c7412
Serialize Python UUIDs to strings for QML
2019-12-02 04:40:29 -04:00
miruka
92bfb02446
UploadBars: tooltip and expand text on error/click
2019-12-02 03:19:43 -04:00
miruka
e4aa3b6572
Handle upload errors
2019-12-02 02:57:47 -04:00
miruka
08694388dd
Serialize Python types to their __name__ attribute
2019-12-01 12:21:37 -04:00
miruka
3e214dc26b
Don't use Animators for ListView transitions
...
They're buggy
2019-12-01 11:24:20 -04:00
miruka
2fd2806514
Support RoomMessageNotice events
2019-11-30 07:10:48 -04:00
miruka
3b2ab048fb
Rework import keys pass confirmation
...
- Show button as loading until the import is done, *then* close popup
- Remove the dedicated backend password checking function, we can use
import_keys() directly now
- Handle all the possible errors that could be thrown from python
2019-11-30 05:55:27 -04:00
miruka
a09e811e56
Remove old import dialog cruft
2019-11-30 05:55:27 -04:00
miruka
a35526a0b5
Show higher power-level room members first
2019-11-30 04:04:24 -04:00
miruka
61c2919c7f
Sort members and undated rooms case-insensitively
2019-11-30 03:59:44 -04:00