miruka
b9f5ec4b72
Fix parsing user/room ID and alias with dashes
...
Properly highlight IDs and aliases where the server part contains a
dash, e.g. "@test:example-abc.org".
2020-06-27 06:20:09 -04:00
miruka
fedcc17c44
Correctly clear room local highlights
2020-06-26 16:26:15 -04:00
miruka
0c9474598c
Bump version to v0.5.2
2020-06-26 07:06:56 -04:00
miruka
7f66ebb786
Re-add local highlights similar to 0.5.0
2020-06-26 05:59:16 -04:00
miruka
aa8dbce3a7
Re-add local unread "counter" similar to 0.5.0
2020-06-26 05:59:11 -04:00
miruka
edc73c6952
Implement blacklisting from verification key popup
2020-06-26 02:16:00 -04:00
miruka
bcbc356a98
Implement manual key verification popup
2020-06-26 02:09:59 -04:00
miruka
d35173adc3
Correctly handle & warn about key-less devices
2020-06-25 16:10:44 -04:00
miruka
51327d810b
Implement device renaming
2020-06-25 12:11:11 -04:00
miruka
476888ca84
Fix guest access event text, always said "allowed"
2020-06-25 10:11:42 -04:00
miruka
da4a5ab5cd
Rework HBox-based pages and account settings
...
- Refactor everything about HBox, and adapt all the pages and popups
that used it
- Replace HTabContainer by HTabbedBox
- Make boxes swippable
- Make esc presses in boxes click the cancel button
- Make all boxes and popups scrollable when needed
- Replace generic apply button icons in popups
- Fix tab focus for error and invite popups
- Rework (still WIP) the account settings page:
- Use the standard tabbed design of other pages
- Ditch the horizontal profile layout, hacky and impossible to extend
- Add real-time coloring for the display name field
- Implement a device list in account settings (Sessions, still WIP)
2020-06-25 08:49:27 -04:00
miruka
926f77fa91
Add MatrixClient.devices_info() method
2020-06-12 23:09:17 -04:00
miruka
451abfdf25
Support MIRAGE_CACHE_DIR env variable
2020-06-11 21:50:26 -04:00
miruka
e685b0a8b7
Prefer using own account to fetch own profile
2020-06-05 08:11:40 -04:00
miruka
f632b4e332
Bump version to v0.5.1
2020-06-05 06:26:44 -04:00
miruka
b81dea9bc2
Fix KeyError when forgetting a room
2020-06-05 01:39:17 -04:00
miruka
43468c25e3
Update account unread count when forgetting room
2020-06-05 01:16:27 -04:00
miruka
7f72373afe
Implement editing & saving room settings
2020-06-03 04:52:33 -04:00
miruka
a6529b040c
Fix handling topics containing \n, \t or <text>
2020-06-02 22:03:22 -04:00
miruka
76f0c5626f
Separate window urgency hint setting for mentions
2020-06-02 21:42:16 -04:00
miruka
ccd2308427
Fix new added account's order
2020-06-02 21:11:04 -04:00
miruka
241c16932f
Immediatly update cached profile after changing it
2020-06-02 21:09:21 -04:00
miruka
5bf1a90242
Separate MatrixClient function to get our profile
...
Side-effect: don't endlessly retry anymore when getting the profile
fails for some reason
2020-06-02 20:40:44 -04:00
miruka
283d2235dc
Don't wait for server to zero unread counters
2020-06-01 18:59:49 -04:00
miruka
835d1c486f
Add markRoomReadMsecDelay setting
2020-06-01 18:57:17 -04:00
miruka
f686b96511
Cross-client unread counters & send read receipts
2020-06-01 09:25:09 -04:00
miruka
d2300bf663
Update account total notif/highlight calculation
2020-05-31 19:41:05 -04:00
miruka
3791a08eea
Terminology: room mention count → highlight count
2020-05-31 19:13:19 -04:00
miruka
dce3328037
Use new nio server-backed room unread counts
2020-05-31 19:06:25 -04:00
miruka
7b5aa8ffe1
Store room member read markers in model
2020-05-31 00:38:48 -04:00
miruka
160ce2643e
Add type hints for all NioCallbacks methods
2020-05-31 00:11:56 -04:00
miruka
ca7a47bc19
Register nio callbacks for any class in nio.events
2020-05-30 23:39:07 -04:00
miruka
b399de6776
Remove account collapse bug workaround
...
Unable to reproduce the bug where collapsing an account with lots of
rooms corrupts the ListView, did updating to Qt 5.14.2 do something?
With the workaround removed, the 0.2s delay when removing batch of
ListView items (e.g. when filtering) is gone.
2020-05-30 23:08:21 -04:00
miruka
de894ab4bb
Protect proxy/filter models with write_lock
2020-05-30 23:08:21 -04:00
miruka
877290fc00
Handle 502 errors when inviting bad user to room
2020-05-30 23:08:21 -04:00
miruka
60fa027c2e
Lock models when trying to decrypt events
...
Trying to deep-copy can result in pickling errors (#50 ),
write-lock the models instead to avoid "dictionary changed size during
iteration" issues.
2020-05-28 14:16:43 -04:00
miruka
c0118c4e28
Rename Model._write_lock → Model.write_lock
2020-05-28 14:13:14 -04:00
miruka
855672481f
Improve some python documentation and add an intro
2020-05-22 17:27:57 -04:00
miruka
c8f3a4937c
Fix potential exceptions on AllRooms model __init__
...
Calling super().__init__ may result in source model items being added,
which needs the self.account and self._collapsed attributes to
already exist.
2020-05-22 16:47:15 -04:00
miruka
562e1431b9
Fix adding account when none were previously saved
2020-05-22 08:48:58 -04:00
miruka
b3b12014ee
Workaround collapsing large account ListView bug
2020-05-22 07:31:00 -04:00
miruka
3d40f762ce
Don't strip <mx-reply> tags
2020-05-22 02:11:21 -04:00
miruka
6c7335e5db
Add keybind to open links in messages
...
Ctrl+O by default.
Opens externally all links in selecteds, focused or the last
message that has links.
Can't open files (media events) yet.
2020-05-22 00:10:45 -04:00
miruka
bbd845c040
Use kwargs when calling nio.AsyncClient.upload()
2020-05-21 20:52:42 -04:00
miruka
921f75827d
Use pdb if remote_pdb isn't installed
2020-05-21 20:50:43 -04:00
miruka
fb975fad71
Remove unused Backend.await_model_item()
2020-05-21 20:46:08 -04:00
miruka
8c9b5267e9
Update and add missing new docstrings
2020-05-21 20:45:15 -04:00
miruka
35e6c1c7eb
Make sure to register room on ignored events
2020-05-21 14:37:48 -04:00
miruka
58dd63a850
Traceback if getting profile/server config fails
2020-05-21 14:14:27 -04:00
miruka
b30ce33494
Fix default media_mime for media events
2020-05-21 01:05:31 -04:00
miruka
96e61f15ce
Set a more useful minimum size for main pane
...
144px min for a pane that's still useful.
Also set `collapseSidePanesUnderWindowWidth` config option to `450`
instead of `400` by default now.
2020-05-21 01:04:24 -04:00
miruka
07701ae880
Remove uvloop support, causes issues
2020-05-20 23:56:19 -04:00
miruka
e128471628
Merge branch 'dev' of https://github.com/mirukana/mirage into dev
2020-05-20 23:40:41 -04:00
vslg
6f68f35810
Fix goal is disabling kinetic scrolling
2020-05-20 23:03:36 -03:00
vslg
f72544e3d0
Improve trackpad fix
...
- Add it to remaining components
- Do not use Timer, as flickDeceleration from
Flickable is more performant
- Add a setting option for it: useTrackpadFix
2020-05-20 21:09:34 -03:00
miruka
4a91b3d09d
Hide unknown events by default (reaction spam)
2020-05-20 11:49:25 -04:00
miruka
42b62377ab
Fix past member events affecting actual room state
2020-05-20 09:05:36 -04:00
miruka
7719df0135
Fix message mention link regex
...
Also stop trying to autolink strings like "$messageId:example.org" in message
text, matrix.tpo message links need a room ID to make sense.
2020-05-20 07:54:40 -04:00
miruka
87fa18fbcd
Fix missing event text in plaintext reply fallback
2020-05-20 07:09:24 -04:00
miruka
d1d7bffc8f
Add replyToFocusedOrLastMessage keybind (ctrl+Q)
2020-05-20 06:51:26 -04:00
miruka
66f9a17111
No need for origin_*body Event keys
...
Also fixes lack of original message text when
replying to non-message events.
2020-05-20 06:38:25 -04:00
miruka
fb35a6ec14
Implement replying to event in backend
2020-05-20 06:19:13 -04:00
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
miruka
2d231b7af1
Properly check power levels before allowing kick
2020-05-15 20:56:23 -04:00
miruka
2a0a3765fc
Add kick to room member context menu
2020-05-15 20:56:23 -04:00
miruka
4f8dc98d13
Sort mentioned/unread rooms by last event date
2020-05-15 20:56:23 -04:00
miruka
0ba8c6eecf
Make all events able to increment unread/mentions
2020-05-15 20:56:23 -04:00
miruka
f3aa9f0c5f
Sort rooms with mentions, then unreads first
2020-05-15 20:56:23 -04:00
miruka
0a1834b763
Mark rooms as read on all our accounts
2020-05-15 20:56:23 -04:00
miruka
568d4fddce
Don't increment room unreads for our own events
2020-05-15 20:56:23 -04:00
miruka
e98a539433
Don't increment room unreads for past events
2020-05-15 20:56:23 -04:00
Emi Simpson
6ee20a2717
Added limited local read/unread tracking
2020-05-15 20:56:23 -04:00
miruka
b2cfc27ce2
accounts.json: support new "enabled" key
...
Specifying false will cause Mirage to ignore an account and not
log it in on startup.
Defaults to true when adding new accounts or if not present.
2020-05-15 20:56:23 -04:00
miruka
80ac8896d8
Pass a filesize to AsyncClient.upload()
...
Fixes #37
2020-05-15 20:47:33 -04:00
Mikko Rasa
9a6c4b5b30
Fix asyncio event loop init in qml_bridge.py
...
Depending on Python version the file may be imported in a thread and
asyncio only implicitly creates an event loop in the main thread of the
process. Backend does things which need asyncio so we must ensure an
event loop exists before it is imported.
Fixes #15
2020-05-15 15:10:05 +03:00
miruka
4bae3cf90e
Fix AttributeError with matrix-nio 0.11+
2020-05-14 13:58:34 -04:00
miruka
8b8829af86
Use asyncio.Task.current_task for python 3.6
2020-04-26 13:49:44 -04:00
miruka
4961042bde
Fix error on <a> tags without a href attribute
2020-04-07 09:57:32 -04:00
miruka
e0e33649a2
Stricter user/room/message ID mention parsing
...
Fixes issues like this entire string being linkified:
"! foo:example.org"
2020-04-06 08:30:47 -04:00
miruka
aa4cd5bd2c
Bump version to v0.4.3
2020-04-03 07:56:42 -04:00
miruka
b48e663007
Cancel sending events when removing local echoes
2020-04-03 07:53:36 -04:00
miruka
0e04eafebd
Redaction local echo for our other accounts
2020-04-03 07:53:36 -04:00
miruka
8af63a304f
Redact local echo: same text as redaction event
2020-04-03 07:53:36 -04:00
vSLG
af861ac13a
Add redact echo before we receive RedactionEvent
2020-04-03 07:53:36 -04:00
miruka
f8fe5d812b
Imrpove redacted events text
2020-04-03 07:53:36 -04:00
miruka
6d270029ad
Remove message keybind: don't bind ctrl+del
...
Ctrl+Del has a special function for deleting words in text, don't
override that
2020-04-03 07:53:36 -04:00
miruka
5ea339ea33
Add keybinds for message removal
2020-04-03 07:53:36 -04:00
miruka
05319af858
Redaction code adjustments + theme addition
2020-04-03 07:53:36 -04:00
vSLG
e60a7f6dac
Make "Remove" option conditional in context menu
...
Refactor code in the backend so things can work
better
2020-04-03 07:53:36 -04:00
vSLG
fc878e7537
Fix event redaction and remove junk code
2020-04-03 07:53:36 -04:00
vSLG
db1afc980e
Add RedactionEvent support on backend
2020-04-03 07:53:36 -04:00
vSLG
b3f1075507
Add redacting event via context menu
2020-04-03 07:53:36 -04:00
miruka
f838bdf96d
focusRoomAtIndex binds: default to cmd+num on OSX
2020-04-03 07:53:36 -04:00
miruka
6e63569ad7
Add leaveRoom and forgetRoom keybinds
2020-04-03 07:53:36 -04:00
miruka
2a648d7f59
Add invite to room keybind
2020-04-03 07:53:36 -04:00
miruka
22be0bf5f0
MIRAGE_CONFIG_DIR and MIRAGE_DATA_DIR env vars
...
Allow overriding the default path where config files and user data are
found
2020-04-03 07:53:36 -04:00
miruka
eafd65d490
Fix compact mode being enabled by default
2020-03-28 11:04:43 -04:00
miruka
4185a30a6e
theme_parser: translate hard tabs to spaces
2020-03-28 07:48:27 -04:00
miruka
311a53f8f4
"Unselect" → "Deselect"
2020-03-27 07:06:38 -04:00
miruka
4c76ffd88b
Bump version to v0.4.2
2020-03-27 05:40:23 -04:00
miruka
936c49127d
Add keyboard controls for message focus/selection
2020-03-27 04:49:01 -04:00
miruka
6ca10e1f2b
Customizable unselectAllMessage keybind
2020-03-27 03:53:25 -04:00
miruka
684ddd364c
Don't ignore case when linkifying display names
2020-03-24 04:12:09 -04:00
miruka
3dc81700c1
Correct mailto: linkifying in some special cases
...
adresses where the host ends with a digit or where the host is only one
character
2020-03-24 04:08:00 -04:00
miruka
0e191f11d0
Member ev. processing: don't assume any key exists
2020-03-24 03:56:31 -04:00
miruka
be43f68059
Support $id:server message ID mentions
2020-03-23 17:17:15 -04:00
miruka
bed0dbf998
Add setting to ignore unknown events
2020-03-23 16:58:31 -04:00
miruka
bd53993b90
Ignore mention links with no text
2020-03-23 16:34:51 -04:00
miruka
2e6488e6f9
Bump version to v0.4.1
...
Changelogs:
Added:
- `hideMembershipEvents` setting in config file, controls whether
events such as "x joined the room" are shown in the timeline
- `hideProfileChangeEvents` setting in config file, controls whether
display name and avatar change events are shown in the timeline
- Compact mode to make accounts, rooms, messages and room members
take only one line as well as reducing vertical spacing between them.
Set by the new `compactMode` setting in config file, and can also
be toggled with the `keys.toggleCompactMode` keybind which defaults
to Alt+Ctrl+C
- `keys.focusRoomAtIndex` in config file, a
`{"<index>": "<keybind>"}` mapping which by default binds
Alt+1-9 and Alt-0 to focus room 1 to 10 in the current account
- User ID, display names, room ID and room aliases are now
automatically transformed to matrix.to links and will be rendered
as mentions by clients.
In Mirage, this results in user ID/names being colored with the
same color seen when they send messages
- Track the number of times your user was mentioned in rooms.
The visual counter is not yet displayed, since there currently is
no way to mark messages as read and make the counter go down
Fixed:
- Python exceptions occuring in the asyncio loop not being printed
in the terminal
- Extra newline shown after code blocks in messages
- Constant CPU usage due to button loading animations still being
rendered while uneeded and invisible
Theme changes:
- Added `controls.avatar.compactSize` property
- Added `.mention` class styling to `chat.message.styleSheet`
2020-03-23 15:06:57 -04:00
miruka
38e57d2ff9
Color user mentions in local echoes too
2020-03-23 14:23:32 -04:00
miruka
4fdf531631
Fix mention-related KeyError in message callback
2020-03-23 13:43:30 -04:00
miruka
688f36b7f1
Event: add [(text, link)] mentions attributes
2020-03-23 15:39:14 -04:00
miruka
8e7cd7bde9
Add data-mention attributes to mention links
2020-03-23 15:23:01 -04:00
miruka
3084745522
Remove extra newline from <pre> elements
2020-03-23 15:11:29 -04:00
miruka
a20cfcffe5
Add special CSS classes to mention links
2020-03-23 15:02:31 -04:00
miruka
ef2504ecae
Visual unread mentions counter
2020-03-22 23:55:48 -04:00
miruka
367fff8f4a
Fix mentions incorrectly linked for outgoing html
2020-03-22 23:00:30 -04:00
miruka
8d5bc45ceb
Safer linkifying for user display names
2020-03-22 20:58:05 -04:00
miruka
8fd7ce4e14
Safer linkifying for user ID, room ID, room alias
...
Don't replace anything in already existing links or <code>.
2020-03-22 19:40:43 -04:00
miruka
2fbfac5e0d
Proper user ID, name, room ID, alias linkifying
2020-03-22 17:38:28 -04:00
miruka
f858e505a6
Linkify typed usernames/id in markdown
2020-03-22 16:21:29 -04:00
miruka
9f52fa86fa
Add Alt+1-0 keybinds to switch to a room at index
2020-03-22 14:08:27 -04:00
miruka
53dfd08131
Add toggleCompactMode keybind, re-rename setting
2020-03-22 13:30:03 -04:00
miruka
18c16ca486
Rename compact mode setting → compactModeByDefault
2020-03-22 13:24:38 -04:00
miruka
5d513f84fa
Add compact mode for sidepanes + setting
2020-03-22 12:50:51 -04:00
miruka
c6390238a9
Add settings to hide membership and profile events
2020-03-22 12:04:43 -04:00
miruka
f13327b073
Config files loaded data accessible from Python
2020-03-22 12:01:22 -04:00
miruka
f54075b7e0
Improve default device name
...
The number returned by platform.version() is only meaningful in a
long-time scenario on Windows. Also make the function clearer.
2020-03-21 23:39:57 -04:00
miruka
2dd275c618
Update minimum Pillow requirement to 7.0.0
...
- Includes fix for security issue CVE-2019-16865 before 6.2.0
- Default rescale algorithm is now bilinear, or nearest for palette
images. No need to pass lanczos on our own.
2020-03-21 18:56:47 -04:00
miruka
d0a19852b7
generate_thumbnail: Catch+log any kind of error
2020-03-20 13:51:32 -04:00
miruka
4ab25ada43
AppImage improvements and fixes
...
- No need to build manually the olm python 3 bindings, pip does it
- make clean in mirage dir if possible, since having build/ files from a
compiling that happened from another distro can make the process fail
- Save linuxdeployqt and appimagetools outside of the mirage repo
- Lint the AppDir with the script from pkg2appimage
- From python, restore LD_LIBRARY_PATH, PYTHONHOME and PYTHONUSERBASE to
their original values. The AppRun laucher overwrites them to properly
launch the program, but it affects external programs too launched e.g.
when user clicks a link.
2020-03-18 19:12:38 -04:00
miruka
8692aa4a26
Change some default keybinds to make more sense
...
toggleFocusMainPane: Alt+S → Alt+F
clearRoomFilter: Alt+Shift+S → Alt+Shift+F
addNewAccount: Alt+Shift+N → Alt+Shift+A
addNewChat: Alt+N → Alt+C
sendFile: Alt+F → Alt+S
sendFileFromPathInClipboard: Alt+Shift+F → Alt+Shift+S
2020-03-17 17:11:10 -04:00
miruka
3568abb9af
Rename keybind focusMainPane → toggleFocusMainPane
2020-03-17 16:55:16 -04:00
miruka
53bace3915
Add keybind to toggle room pane focus
2020-03-17 16:52:14 -04:00
miruka
b092cc11eb
Add room header buttons to access sidepanes
2020-03-17 16:52:11 -04:00
miruka
5392016dab
Add setting controlling when panes should collapse
2020-03-17 15:38:54 -04:00
miruka
e4d47b9b9c
Ensure we don't atomically write an empty file
2020-03-17 12:09:08 -04:00
miruka
c969a98f30
Clear the last event date when clearing room msgs
2020-03-16 12:36:39 -04:00
miruka
992719554f
Log the involved user id in sync failures
2020-03-16 00:31:31 -04:00
miruka
cada86a05f
Log server sync errors as warnings instead
2020-03-15 19:08:12 -04:00
miruka
faaa5933d4
Fix local echo
2020-03-15 19:08:12 -04:00
miruka
8a99ccd976
Make retry_decrypt_events() work for good
2020-03-15 19:08:12 -04:00
miruka
adbe2d88ee
Fix dict changing size problem in retry_decrypt_..
...
Also add a copy() method to models, and make them able
to not have a sync_id (in which case they won't send pyotherside
events).
2020-03-15 19:08:12 -04:00
miruka
73d54b5788
Don't show CancelledError when logging out early
2020-03-15 19:08:12 -04:00
miruka
25101578cc
Fix retry_decrypting_events()
2020-03-15 19:08:12 -04:00
miruka
4d2345f4b9
Fix JsonDataFile default file loading
2020-03-15 10:26:53 -04:00
miruka
f507523af6
Fix default theme retrieval mess
2020-03-14 22:20:41 -04:00
miruka
cc3bb3c4fd
Fix utils.py import for Python 3.6
2020-03-14 17:32:05 -04:00
miruka
190eb58187
Write user files and media atomically
2020-03-13 04:36:22 -04:00
miruka
9d3e2dbfc4
Fix quotes in room subtitles
2020-03-13 03:55:04 -04:00
miruka
7e5896f52b
Fix MediaCache asyncio Semaphore early import bug
2020-03-13 02:46:21 -04:00
miruka
ca53e18e24
Add main pane top bar, improve readability
2020-03-12 22:16:33 -04:00
miruka
a6315f7829
Fix default theme path with QRC
2020-03-12 16:46:44 -04:00
miruka
77d877047b
Update docstrings
2020-03-12 14:41:00 -04:00
miruka
9bad0132d6
Make upload cancelling instant without visual hack
2020-03-12 13:28:30 -04:00
miruka
e8d4823227
Unset parent_model when deleting item in model
2020-03-12 13:28:30 -04:00
miruka
59296dd22c
Change name and bump version
2020-03-10 10:41:27 -04:00
miruka
298ab30672
Read theme in app dir if doesn't exist in user dir
2020-03-10 09:51:51 -04:00
miruka
264c2ab16b
Rename themes
2020-03-10 09:48:51 -04:00
miruka
49966e06ad
Fix Transfer.time_left that could be None
2020-03-09 17:36:47 -04:00
miruka
f9f558cd34
Fix Thumbnail.from_bytes()
2020-03-09 17:33:07 -04:00
miruka
24180fc346
GUI-report important errors that occur during sync
...
Important = "isn't a server 5xx error"
2020-03-09 13:08:09 -04:00
miruka
46f3f15694
Fix cached thumbnails extensions
2020-03-09 12:10:04 -04:00
miruka
7ee83c5fe4
Downloaded files: include title + ext in filename
2020-03-09 11:46:08 -04:00
miruka
048c1ddabf
Reject files too large before attempting to upload
2020-03-09 10:23:08 -04:00
miruka
382235875c
Upload thumbnails with the correct extension
2020-03-09 10:10:21 -04:00
miruka
2307d5f1b2
Fix thumbnail uploading for SVG files
2020-03-09 10:03:22 -04:00
miruka
61cc87cf18
Show max file size on upload button tooltip
2020-03-09 09:57:53 -04:00
miruka
0fa16400df
Error msg for bad invites in non-federated room
2020-03-09 07:59:23 -04:00
miruka
c618fb8ba3
Don't upload thumbnail if heavier than original
2020-03-08 08:10:27 -04:00
miruka
e1b26d1ec7
Show thumbnail uploading progress when uploading
2020-03-08 08:05:41 -04:00
miruka
d1e42a72a0
Fix upload pause/cancel
2020-03-08 07:34:38 -04:00
miruka
5709b5b756
Fix local echoed message replaced only for one acc
2020-03-07 12:35:12 -04:00
miruka
ff72983bb4
Don't copy the default theme to userdata dir
2020-02-14 12:21:24 -04:00
miruka
ce0a868579
Refix Event.source, JSONify dicts for ListModel
2020-02-12 14:14:09 -04:00
miruka
9a0969adf5
Fix Event.source for messages we send
2020-02-12 08:10:59 -04:00
miruka
f922204644
Optimize Model insertions (blist + bisect)
2020-02-12 07:43:03 -04:00
miruka
7020706ff1
items.py: rebase fix
2020-02-12 06:27:21 -04:00
miruka
e982de1c61
Make Event.inline_content & links pure attrs
2020-02-12 06:21:43 -04:00
miruka
8a29143b60
Working Event.event_type & source fields
2020-02-12 06:19:49 -04:00
miruka
b992db9bfe
Use typing.TYPE_CHECKING to avoid inner imports
2020-02-12 05:56:18 -04:00
miruka
a653a6160a
Get SortProxyFilterModel stuff working?
...
Came back from a break and forgot what I was fixing
2020-02-12 05:56:18 -04:00
miruka
9990fecc74
Begin yet another model refactor
...
Use native ListModel which require a lot of changes, but should be
much faster than the old way which exponentially slowed down to a crawl.
Also fix some popup bugs (leave/forget).
Not working yet: side pane keyboard controls, proper highlight,
room & member filtering, local echo replacement
2020-01-06 03:41:14 -04:00
miruka
2ce5e20efa
Fix chat creation client methods
2019-12-29 14:30:15 -04:00
miruka
5f3ecef408
Merge branch 'style' into 0.3
2019-12-27 16:35:56 -04:00
miruka
ce733c6641
Catch signal exception when imported from thread
2019-12-27 09:28:46 -04:00
miruka
e7caa0b8ef
Use a C++ implementation of hsluv
2019-12-27 08:23:32 -04:00
miruka
f977d9acf2
GUI popup for uncaught asyncio loop exceptions
2019-12-26 10:17:54 -04:00
miruka
eff64fabd6
Catch any nio.ErrorResponse to raise MatrixErrors
2019-12-26 08:16:04 -04:00
miruka
44e5de02f8
font color → span mx color for outgoing HTML
...
Also remove HTML_PROCESSOR `filter_inline` and `from_markdown_inline`
methods. `filter` and `from_markdown` now take an `inline` argument.
2019-12-22 09:35:21 -04:00
miruka
335d931b0a
Turn markdown color names into hex codes
...
Not all clients may know the same color names or even support them, hex
codes are unambiguous.
2019-12-22 09:35:15 -04:00
miruka
b0d77d74a9
Add custom markdown syntax for coloring text
...
<color>(text to color) where color can be a SVG color name,
3 characters hex or 6 characters hex code.
Can be used to send colored message from the composer. Other clients
that follow the matrix spec should be able to display them (e.g. riot,
even if it can't send them)
2019-12-20 14:44:31 -04:00
miruka
d9b7118f45
load_past_events: raise instead of logging errors
2019-12-20 09:30:57 -04:00
miruka
aaa8411cb9
Room.last_event: be an Event instead of dict
2019-12-19 16:52:21 -04:00
miruka
cdd119405e
backend.py: remove some unused imports
2019-12-19 16:31:01 -04:00
miruka
fb1f9c62e5
Add SPDX ID LGPL v3+ license headers
2019-12-19 07:46:16 -04:00
miruka
a1f89ca9c4
Fix utils.guess_mime / uploading with 0 byte files
2019-12-18 16:52:39 -04:00
miruka
e6541cd767
Document model.py
2019-12-18 16:41:51 -04:00
miruka
1f41e2ffaa
Document Backend attrs, adapt to new ModelStore
2019-12-18 16:24:43 -04:00
miruka
6fa2d91b69
Simplify and document ModelStore
2019-12-18 16:24:25 -04:00
miruka
5f1044e96a
Document model items
2019-12-18 15:00:34 -04:00
miruka
934d6a79a2
Document nio_callbacks.py, small code improvements
2019-12-18 14:24:55 -04:00
miruka
d9b27eff9f
Document media_cache.py
2019-12-18 13:43:31 -04:00
miruka
c6938903b8
Document matrix_client.py
2019-12-18 13:16:15 -04:00
miruka
05a331382e
Improve pyotherside_events.py doc
2019-12-18 10:39:38 -04:00
miruka
d89c83af5b
Document theme_parser.py
2019-12-18 09:50:53 -04:00
miruka
845fa40ed8
Improve docs for utils.py
2019-12-18 09:42:56 -04:00
miruka
d7045644f1
Rename and document html filtering stuff
2019-12-18 09:33:22 -04:00
miruka
cfcc190473
Rename QmlBridge to QMLBridge
2019-12-18 08:49:03 -04:00
miruka
ab46ac15e7
Document errors module
2019-12-18 08:46:36 -04:00
miruka
61cd3b2f55
Rename config_files module → user_files + document
2019-12-18 08:41:02 -04:00
miruka
23be12fb60
Document backend & qml_bridge + minor code changes
2019-12-18 08:14:35 -04:00
miruka
87b262ebee
Move backend.__about__ stuff into __init__
2019-12-18 06:55:05 -04:00
miruka
9e372d01d5
Python backend "App" becomes QmlBridge
...
Is now strictly about setting up asyncio/uvloop and providing the
functions for QML to interact with it and call backend coroutines.
The appdirs attribute is moved to Backend.
2019-12-18 06:44:18 -04:00
miruka
717c5078c7
Move QML Python stuff to its own subfolder
2019-12-18 05:00:27 -04:00
miruka
2bdf21d528
Rename some filers and folder for clarity
2019-12-18 04:45:09 -04:00