miruka
710dd56109
Correct "Empty room" display
2019-11-27 10:04:55 -04:00
miruka
81ce4635fc
Linkify alias in m.room.alias events
2019-11-27 06:30:42 -04:00
miruka
f187a5f0ab
Handle m.room.avatar, improve name/topic/alias
...
- Display the new room's avatar as an EventImage
- Show "x removed the room's avatar" if it's set to none
- Show "x removed the room's y" for empty name/topic/canonical alias
events instead of "x changed the y to ''"
2019-11-27 06:18:06 -04:00
miruka
e57ffdae3f
Room.__lt__(): use tuple comparison
2019-11-26 16:18:48 -04:00
miruka
2754fff0df
Fix set_avatar_from_file()
2019-11-26 15:52:04 -04:00
miruka
2b288bdfc6
Import/export keys improvements
2019-11-23 11:14:14 -04:00
miruka
60c64ad96f
Fix logout
2019-11-22 04:27:20 -04:00
miruka
2123f5a66f
Improve upload code, based on nio PR #76
2019-11-17 13:31:00 -04:00
miruka
fc2fb605e3
Prefer using own client for fetching own profile
2019-11-14 16:20:30 -04:00
miruka
7e5bd5299e
Fix logout not properly stopping the sync task
2019-11-12 18:19:48 -04:00
miruka
9f3bb1aa4d
set_avatar_from_file: raise if file isn't an image
2019-11-12 09:48:11 -04:00
miruka
5f04628178
No need to str(path) anymore for model item Upload
2019-11-12 09:46:29 -04:00
miruka
37f5f5973c
Clarify upload data type, guess_mime seek on end
2019-11-12 09:37:21 -04:00
miruka
47bfad1d72
Move Size type alias to utils
2019-11-12 09:26:43 -04:00
miruka
ef391d1eb1
Make utils function accept Path, str, bytes and IO
2019-11-12 09:24:58 -04:00
miruka
5832c3ca2d
Raise on init if homeserver url is missing scheme
2019-11-12 09:13:45 -04:00
miruka
73541ad7a5
download/thumbnail don't need authentification
2019-11-12 09:10:00 -04:00
miruka
4cc2ebf6e3
Use exceptions for get_profile
2019-11-12 08:47:03 -04:00
miruka
6558bdc87f
Put custom exceptions in their own file
2019-11-12 08:38:43 -04:00
miruka
290d3e9f6b
Simplify Backend.get_profile
2019-11-12 08:34:08 -04:00
miruka
3ebb11aa69
Raise on room send error instead of logging
2019-11-12 07:45:54 -04:00
miruka
a7e505a387
Document utils.py
2019-11-11 09:26:35 -04:00
miruka
746a9259db
SignIn: cancel previous task when clicking button
2019-11-11 09:12:31 -04:00
miruka
7f48c1b35d
Properly handle login errors with new exceptions
2019-11-11 06:39:11 -04:00
miruka
de7053f196
Improve MatrixError.from_nio, use it for upload()
2019-11-11 06:08:31 -04:00
miruka
f2ab84c754
Add tab navigation shortcuts (for AddChat)
2019-11-10 09:28:57 -04:00
miruka
c0adf8353b
Add account settings keybinds
2019-11-10 08:54:45 -04:00
miruka
e32747d434
Keybinds: remove old sidepane workaround binds
2019-11-10 08:50:50 -04:00
miruka
4920ef8155
Keybinds: Alt(+Shift)+N for add new chat/account
2019-11-10 08:49:51 -04:00
miruka
35a3ae2558
Change default collapse keybind to Alt+O
2019-11-10 08:36:54 -04:00
miruka
5d4840dcd8
Add shortcut to add new chats
2019-11-10 08:32:17 -04:00
miruka
46ff911bfa
Add FindSomeone page
2019-11-09 14:20:53 -04:00
miruka
0aedc1a7d0
Prevent "failed to convert null" qt warning
2019-11-09 13:41:12 -04:00
miruka
b34387ad79
Implement enabling encryption when creating room
2019-11-09 13:38:21 -04:00
miruka
e95a23ef90
Handle JoinRoom errors, error clases overhaul
2019-11-09 10:20:16 -04:00
miruka
dbcca17192
Add JoinRoom page
2019-11-09 09:52:16 -04:00
miruka
a9a99e4a65
Add ctrl+tab keybind to go to last page
2019-11-08 16:01:09 -04:00
miruka
ad34d2d171
Implement room creation functions
2019-11-08 15:32:12 -04:00
miruka
37e6ced259
Readd nio_callbacks.py
2019-11-08 10:20:48 -04:00
miruka
83ff9bf61d
Put all nio callbacks in a new separate class
2019-11-08 10:17:23 -04:00
miruka
693ae1c78e
Put all nio callbacks in a new separate class
2019-11-08 10:13:50 -04:00
miruka
eee2162575
Serialize Path objects to QML
...
- media_cache.get_(thumbnail/media) now return a Path instead of str
- When converted to strings in the serialization, the "file://" prefix
is prepended. This fixes problems when the app is built in release
mode with QRC resources.
2019-11-07 04:02:41 -04:00
miruka
a8f4a00e5e
Remove old broken __main__.py
2019-11-07 03:53:59 -04:00
miruka
acd69108e8
Common func for ModelItem/POSEvent value serializ
2019-11-07 03:43:05 -04:00
miruka
6953239bc3
Add shortcut to send file from path in clipboard
2019-11-06 17:03:34 -04:00
miruka
25a86bc484
Add shortcut to send file
2019-11-06 16:45:33 -04:00
miruka
18e184d1f0
Cache local media on upload, fix media local echo
2019-11-06 09:43:05 -04:00
miruka
1de82492dd
media_cache: remove leftover pdb call
2019-11-06 09:03:50 -04:00
miruka
de41e859be
Fix picking same file twice not working
2019-11-06 08:55:47 -04:00
miruka
4b47b0f7ec
Remove useless UploadStatus.Success
2019-11-06 07:52:43 -04:00
miruka
4c15b7dc62
Fix SVG uploads, fix entire Upload model deleted
2019-11-06 07:50:31 -04:00
miruka
e45f2c9d2d
Fix thumbnail API error when QML gives float sizes
2019-11-06 06:51:55 -04:00
miruka
92d3390106
Fix CryptDict redefined in media_cache.py
2019-11-06 06:30:17 -04:00
miruka
078cf61b7e
Show an uploads bar in chats when uploading files
2019-11-06 06:28:48 -04:00
miruka
8f3df28b9d
ModelItem: serialize enum members to their values
2019-11-05 18:03:48 -04:00
miruka
7408322fbe
Fix/improve image sizes
2019-11-05 09:19:48 -04:00
miruka
82104266fe
Encrypt uploads in a thread
2019-11-04 15:18:01 -04:00
miruka
2d682516e8
Support encrypted file reading & caching
...
Also don't convert palette images to JPEG when creating thumbnails.
2019-11-04 14:37:48 -04:00
miruka
de8d0b5823
Fix image events opened/copied url
2019-11-04 10:46:06 -04:00
miruka
02c6ec4500
Implement Media download
2019-11-04 10:29:18 -04:00
miruka
484eefe86d
Fix image URL preview, add Thumbnail.create()
...
- Make HMxcImage's mxc property work with http too (temporary quick
solution)
- Thumbnail objects can now be initialized with existing bytes and not
have to download anything.
2019-11-04 07:00:28 -04:00
miruka
337603595a
Backend: separate wait_until_(any_?)client_exists()
2019-11-04 06:56:26 -04:00
miruka
e1600389fc
Upload 800x600 thumbnails instead of 512x512
...
Maximum thumbnail size, match Riot's behavior.
2019-11-03 14:08:29 -04:00
miruka
2f19ff493b
Rewrite media caching (old image provider)
...
- Doesn't use pyotherside's image provider feature, for more flexibility
and simplicity
- Suitable for supporting matrix media events and more later
- Avoid a lot of duplicate files that the old cache created due to
server not returning what we expect, mistakes in Python/QML code, etc
- Changed file structure
(e.g. thumbnails/32x32/<mxc id> instead of
thumbnails/<mxc id>.32.32.crop)
- Backend.wait_until_account_exist: start issuing warnings if the
function runs for more than 10s, which means in most case a bad user
ID was passed
- New HMxcImage QML component, used in H(User/Room)Avatar
2019-11-03 13:48:12 -04:00
miruka
b9fbd36661
Restart sync if exception occurs
2019-10-30 11:15:35 -04:00
miruka
ce2a7f1018
Support encrypting uploads
...
For files and thumbnails.
Also fix the PIL thumbnail() bad argument function call.
2019-10-30 10:34:20 -04:00
miruka
b11c9d5675
Use lanczos filter and optimize saved thumbnail
2019-10-30 05:47:22 -04:00
miruka
adeec71fac
Log warning when thumbnailing fails
2019-10-30 05:36:54 -04:00
miruka
48bcc91582
Never upscale images when thumbnailing
2019-10-30 05:34:32 -04:00
miruka
412a86762e
Generate thumbnail when uploading images
2019-10-29 16:42:56 -04:00
miruka
7a5a1fc650
Print python exception tracebacks
2019-10-29 13:34:55 -04:00
miruka
001d6eff71
Initial upload implementation
2019-10-28 15:27:36 -04:00
miruka
820cc68373
Rename MatrixClient.send_markdown() to send_text
...
Because it deals with text command parsing too
2019-10-28 13:51:46 -04:00
miruka
662b60d7a8
Separate _function for local echoing
2019-10-28 13:49:55 -04:00
miruka
09a50f8bc7
Separate _function for general message sending
2019-10-28 13:34:59 -04:00
miruka
6eb3a378bc
Proper upload exceptions, handle in QML set avatar
2019-10-28 08:06:22 -04:00
miruka
5894481dc5
Python exceptions can now be handled via QML
...
callCoro/callBackendCoro can now take onSuccess(result) and
onError(type, args, errorObject) callbacks.
2019-10-28 06:26:02 -04:00
miruka
07e6d74b91
Fix HTML escaping for markdown parsing
...
Use mistune's escape option instead of `html.escape()` which messes up
links.
2019-10-27 12:06:19 -04:00
miruka
7090ff601f
Don't have local echoes stay fixed at the bottom
2019-10-24 10:28:07 -04:00
miruka
986e39cdc2
Fix quotes rendering in inline filtered html
...
Before:
a
>x
b
>z
This message would have been shown all gray in the client due to it not
beginning with a >. Now, the colors are properly shown for both quotes
and the non-quote text in between.
2019-10-24 09:43:40 -04:00
miruka
39b4706c75
Have return symbols in inline filtered html
...
Before: "foo\nbar" was rendered as "foobar"
Now: "foo\nbar" is rendered as "foo ⏎ bar" (U+23CE unicode).
2019-10-24 09:08:10 -04:00
miruka
5522de5165
html_filter: don't remove \n in <pre> content
2019-10-24 08:06:50 -04:00
miruka
c4b05befa4
html_filter: html escape markdown before filtering
...
Fixes the problem where a user sends e.g. "hi <test>" and the "<test>" is
removed because it's seen as a bad html tag.
2019-10-24 07:27:13 -04:00
miruka
d20ab5a348
Refactor EventContent
...
Use proper layouts and get rid of multiple annoyances/bugs like
text-wrapping randomly happening in the middle of words, background
rectangles being too large, a certain binding loop, etc
2019-09-19 15:49:29 -04:00
miruka
f19d337817
Move hover preview height from settings to theme
2019-09-17 16:39:45 -04:00
miruka
692749e72f
Support video events, new media player
2019-09-17 16:30:04 -04:00
miruka
451038641e
Display RoomMessageImage events
2019-09-14 00:46:54 -04:00
miruka
0db34cc3c8
Add EventMediaLoader
...
Handles loading of URL previews and will handle all
matrix media messages types.
2019-09-14 00:36:19 -04:00
miruka
8ad13b033d
Event: optional (inline_)content, auto-gen inline
2019-09-13 23:02:11 -04:00
miruka
a5095274ba
MatrixClient: RoomMessageMedia support
2019-09-13 22:48:33 -04:00
miruka
a2ab7b3090
Add event callback for RoomUnknownMessage
2019-09-13 19:58:45 -04:00
miruka
d3a02deb46
Update version to 0.2.3
2019-09-12 20:59:12 -04:00
miruka
0b60b2b5bc
Add autoplay GIF setting
2019-09-12 17:32:48 -04:00
miruka
f8811f4e0c
Disable underscore emphasis syntaxes for markdown
2019-09-11 17:25:50 -04:00
miruka
0e6b6c830d
Support inline HTML/links for room topic
2019-09-11 16:01:37 -04:00
miruka
72bcb9bbe3
Update version to v0.2.2
2019-09-10 22:07:41 -04:00
miruka
60663ed040
Leave non-image links out from Event.previe_links
...
normal links preview isn't implemented yet, which caused any message
with a link to take at least 256px due to the preview repeater.
2019-09-10 22:07:06 -04:00
miruka
7797b0e1eb
HtmlFilter: Remove excess newlines
...
To avoid additional blank lines with HTML/CSS using `white-space: pre`
2019-09-10 21:22:42 -04:00
miruka
b3135601ed
Stop supporting starting without pyotherside
2019-09-10 20:49:01 -04:00
miruka
d6b8fae30a
matrix_client: leave room before forgetting it
2019-09-10 01:34:01 -04:00