Commit Graph

349 Commits

Author SHA1 Message Date
miruka
a8e1ece1ea Add buttons to image viewer 2020-07-20 19:39:31 -04:00
miruka
e62d99c3cc Stricter requirements to consider a client healthy
A healthy client must not only have a sync task running, but also have
finished its initial sync and have been succesful in its last sync
attempt.

The previous weak requirement caused this issue:
Have two clients, one on a failing server, and try to fetch a media,
thumbnail or profile: since these functions don't need auth, any
healthy client is picked to do the request, but the previous
requirement made it possible to pick the failing client.
2020-07-20 16:03:46 -04:00
miruka
30ce271ebc Real "copy URL" & "copy path" context menu entries
Replace the poorly implemented 2-in-1 "copy address" media event
menu option with:

- Copy <mediaType> address: visible for non-encrypted media, always
  copies the http URL

- Copy local path: always visible for already downloaded media, even if
  they were downloaded before mirage was started
2020-07-20 00:22:12 -04:00
miruka
8a73e65254 Rename openMessagesLinks keybind (...OrFiles) 2020-07-19 20:17:52 -04:00
miruka
e2c6f0e64c Don't cancel upload if server max size is unknown 2020-07-19 16:24:16 -04:00
miruka
6b1a5a46e6 Fix upload for servers not returning max size 2020-07-19 15:37:05 -04:00
miruka
7595c522c4 Fix image upload without thumbnail 2020-07-19 15:34:06 -04:00
miruka
26fe8c4a09 Include decryption dicts in m.image local echoes
Fixes local echoes for images resulting in 404s, related to the
retry fix in the previous commit.
2020-07-19 15:00:23 -04:00
miruka
f1055ce5b9 Fix loading m.image events in encrypted rooms
Fix bug introduced in 11fb32:

When loading an encrypted thumbnail, QML lacks the decryption dict for
half a second at first.

When calling python like this, python calls the wrong matrix API
for fetching the encrypted thumbnail, and the added retry code
would be forever stuck.

The retry code has been moved to QML, and now works for all HImage.
2020-07-19 14:49:41 -04:00
miruka
11fb32bff6 Retry downloading media if they fail with 404/500+
Trying to fetch a media right after it was uploaded can sometimes lead
to a  404
2020-07-18 22:26:23 -04:00
miruka
1b5a09c052 Move Presence class to its own python file
It's not a ModelItem
2020-07-18 18:33:57 -04:00
miruka
692c78f398 Optimize presence-related model item field changes 2020-07-18 18:19:56 -04:00
miruka
4b215f7ddb Bump version to v0.6.0 2020-07-17 08:10:57 -04:00
vslg
9b9cbcb23c Fix unable to unset status_msg from other clients 2020-07-17 08:09:52 -04:00
miruka
46fa68e9ca Reduce "termined" logging when closing app 2020-07-17 07:31:24 -04:00
miruka
d6e904ca4c Fix indentation for some backend.py lines 2020-07-17 01:30:51 -04:00
miruka
6c4ee17e40 Retrieve last seen time for offline room members 2020-07-17 00:46:46 -04:00
miruka
a17daf61c8 Add timeout for exit-settting-offline 2020-07-16 23:50:44 -04:00
miruka
4784c80ed9 Refactor exit-offline code 2020-07-16 23:34:35 -04:00
miruka
f316a24550 Handle SIGINT, SIGTERM, SIGUP and SIGQUIT 2020-07-16 23:16:21 -04:00
vslg
b69cbf9d14 Set users to offline before exiting Mirage 2020-07-16 22:26:55 -04:00
miruka
15de44f47a
Merge pull request #104 from vSLG/presence
Save status_msg to accounts.json
2020-07-16 18:28:46 -04:00
vslg
27745bacca Fix not being able to unset status_msg 2020-07-16 19:25:02 -03:00
miruka
5cc1c55d95 Immediatly show UI transfer for clipboard paste
Create an Upload model item before compressing the image and writing it
to disk
2020-07-16 16:14:07 -04:00
vslg
d57414c06c Save status_msg to accounts.json
Restore it if there is not any status_msg set on
the server
2020-07-16 17:09:14 -03:00
miruka
292d88a9bf Fix power level event display in room subtitle
For single-change events only
2020-07-16 12:47:28 -04:00
miruka
49a93ebf2b Format single-change power level event in one line 2020-07-16 12:42:50 -04:00
miruka
9674bf6a84 Handle dicts in power level event, improve sorting 2020-07-16 12:42:50 -04:00
miruka
7d7376a5cf Correctly handle <img> with no src attribute 2020-07-16 12:42:50 -04:00
miruka
2d623118b5 Support pasting image to upload in the composer 2020-07-15 18:08:17 -04:00
miruka
2449fd5f18 Have spaces in device key for member verification 2020-07-15 11:27:33 -04:00
miruka
d51c0e3e5d Add keybind to hide room pane (default Ctrl+Alt+R) 2020-07-14 16:51:01 -04:00
miruka
efda3a419e Add kineticScrollingDeceleration setting 2020-07-14 05:46:48 -04:00
miruka
a44d683956 Show all power level changes for initial event 2020-07-13 23:54:10 -04:00
miruka
d4bc87ea88 Fix onRedactionEvent "etype" mistake 2020-07-13 23:43:46 -04:00
miruka
ec9004101a Show details in timeline for power level events 2020-07-13 23:36:18 -04:00
miruka
bd50cd46fa Fix old power events sent when setting user level 2020-07-13 21:14:14 -04:00
miruka
757679a6e0 Make power level control permission-aware 2020-07-13 18:57:42 -04:00
miruka
f408d511a6 Fix Room.can_xyz attributes
The attributes by mistake used nio.AsyncClient.user instead of the
proper user_id. If the user logged in with a partial username instead of
typing their full ID, the can_ attributes (e.g. can_kick) would always
be False.
2020-07-13 18:54:30 -04:00
miruka
0459657575 Room default power level awareness 2020-07-13 18:54:30 -04:00
miruka
9d397b62c5 Update room member models on power levels event 2020-07-13 18:54:30 -04:00
miruka
6ff3cc5f39 Add buttons to Save/cancel power level changes 2020-07-13 18:54:28 -04:00
miruka
7227ac04a3 Client remove_member(): room item may not exist 2020-07-11 18:49:23 -04:00
miruka
b4f706d2e8 Refresh Room.unverified_devices when members leave 2020-07-11 17:23:36 -04:00
miruka
2644e6d8b0 Fix account update method for unasaved accounts
If the account passed to `saved_accounts.update()` doesn't exist in the
config file, return instead of failing with a KeyError.

An account can be absent from the file if "Remember my account" was
unchecked on login, or if the file hasn't been updated yet on disk after
login (race condition).
2020-07-11 17:11:04 -04:00
miruka
f05f2357c7 Fix accounts.json update with missing enabled key 2020-07-11 14:38:10 -04:00
miruka
3c620f6fd1 Add auto-away feature for Linux X11 2020-07-11 14:38:08 -04:00
miruka
63b80168a6 Fix matrix_client mypy error 2020-07-10 16:54:29 -04:00
miruka
fec1026346 Add direct keybinds for presence states 2020-07-10 15:15:53 -04:00
miruka
3848ce60ca Add keybind to open presence (account) menu 2020-07-10 14:59:55 -04:00