Commit graph

2088 commits

Author SHA1 Message Date
Nicolas Werner
529c93503d
Remove useless ; 2021-08-31 04:13:51 +02:00
Nicolas Werner
c80e253a24
Stop encrypting all sessions with secret 2021-08-31 04:06:51 +02:00
Nicolas Werner
79ecad5a09
Require a working secrets storage 2021-08-31 01:51:03 +02:00
Nicolas Werner
fc7df50d9a
Fix another leak when creating an animated image without an image 2021-08-29 19:24:14 +02:00
Nicolas Werner
7645ab1736
Fix memory leak of animated image textures 2021-08-29 18:38:11 +02:00
Nicolas Werner
374ad0a816
Small image pack editor improvements
- add missing mimetype
- allow removal of images from pack
- allow GIF as a format
- don't divide size by 2 if the image is very small already
2021-08-29 17:22:49 +02:00
Nicolas Werner
15bf643347
Add option to only play animated images on hover 2021-08-29 16:32:28 +02:00
Nicolas Werner
47c7c4c777
cleanup QSettings usage a bit 2021-08-29 16:32:28 +02:00
Nicolas Werner
ef068ac2b3
Support animated images
fixes #461
2021-08-29 16:32:28 +02:00
Nicolas Werner
09c041c8ac
Use in memory media player instead of storing unencrypted files on disk 2021-08-29 16:32:22 +02:00
Nicolas Werner
e88fc1996e
Fix warning about double reference qualifier 2021-08-26 04:02:09 +02:00
Nicolas Werner
d02e77f69a
Implement key backup upload 2021-08-26 03:43:52 +02:00
Nicolas Werner
23697e28a3
warn about online keybackup and default to off 2021-08-26 03:43:51 +02:00
Nicolas Werner
2cabd107bf
Useless capture 2021-08-22 15:09:27 +02:00
Nicolas Werner
055f0d6709
Even if you just change the log level, ensure that this compiles before pushing... 2021-08-22 14:56:44 +02:00
Nicolas Werner
63998a217a
Add db migration that clears the cache
This fixes spaces or stickers not showing up for old databases as well
as the wrong format of the state_keys db.
2021-08-22 14:45:57 +02:00
Nicolas Werner
5416988057
Trust key forwards from the original sender 2021-08-20 14:00:35 +02:00
Nicolas Werner
b63289ba54
Cleanup @room escape logic a bit 2021-08-20 14:00:35 +02:00
Nicolas Werner
3d2f503305
Add workaround for stickers not showing on iOS
see: https://github.com/vector-im/element-ios/issues/2353
2021-08-18 18:16:29 +02:00
Nicolas Werner
c2e777f3e4
Update translations 2021-08-17 23:51:15 +02:00
Nicolas Werner
5b460861b1
Allow accepting knocks in the timeline
As well as selecting more join rules.
2021-08-17 23:31:25 +02:00
Nicolas Werner
5287ba38f9
Fix all rooms being opened on startup 2021-08-17 19:00:00 +02:00
Nicolas Werner
995b62122a
Fi lineendings 2021-08-17 14:22:37 +02:00
Nicolas Werner
028bcd5b7c
Update join button in room directory after join 2021-08-17 14:21:04 +02:00
DeepBlueV7.X
b01496f9b4
Merge pull request #659 from kamathmanu/nhekoRoomDirectory
Nheko room directory
2021-08-17 11:56:47 +00:00
Nicolas Werner
7d62af7cda
Remove unneeded code 2021-08-17 09:59:13 +02:00
Nicolas Werner
56db0dbc7d
Allow downloading keys from key backup 2021-08-17 03:24:12 +02:00
Nicolas Werner
1e7756c508
Fix dpi scaling of avatars 2021-08-16 12:48:45 +02:00
DeepBlueV7.X
b1634d60a0
Merge pull request #680 from govynnus/token-registration
Support token authenticated registration
2021-08-15 18:22:01 +00:00
Callum Brown
0da58c476c Run linter 2021-08-15 15:51:10 +01:00
Nicolas Werner
42d2b10d5d
Round images in the image provider 2021-08-14 17:17:50 +02:00
kamathmanu
eaddfb4f73 Clean up final nits 2021-08-14 09:44:34 -04:00
Nicolas Werner
69e65cef2f
Fix shadowing 2021-08-14 02:52:43 +02:00
Nicolas Werner
110fef5c68
Request keys when opening a room for the first time 2021-08-14 02:41:34 +02:00
Nicolas Werner
13633c7644
Ensure device signatures always get verified on device update 2021-08-14 02:06:48 +02:00
Nicolas Werner
9bad584931
Show verification status in memberlist 2021-08-13 23:58:26 +02:00
Nicolas Werner
18ea01e198
Show if there are unverified devices in a room
Also fixes some issues where nested transactions will poison the
verification cache.
2021-08-13 23:19:54 +02:00
Callum Brown
4fa644f2b7 Fix cancel button on registration token dialog 2021-08-12 17:57:07 +01:00
Callum Brown
7d484a8228 Use QInputDialog to get registration token 2021-08-12 16:41:29 +01:00
kamathmanu
9ab1296131 Ran qmlformat and make license 2021-08-12 10:45:42 -04:00
kamathmanu
570e5ffde2 Added Spinner while rooms load 2021-08-12 09:50:52 -04:00
Callum Brown
b56a1be0bd Support token authenticated registration
Using a dialog after username and password have been provided.
2021-08-11 15:07:06 +01:00
DeepBlueV7.X
d84c1f59a4
Merge pull request #679 from Kirillpt/iss_672
add shortcut Escape button for closing images. issue #672
2021-08-11 00:09:16 +00:00
Nicolas Werner
02b217d009
Remove some unused headers 2021-08-11 01:30:55 +02:00
kirp
5335e043e7
linting 2021-08-11 02:29:36 +03:00
kirp
c7295d7fd1
change slot close, to signal closing 2021-08-11 02:26:26 +03:00
kirp
a88c68c0a8
add shortcut Escape button for closing images issues 672 2021-08-11 01:39:27 +03:00
Nicolas Werner
5e2526dac4
fix sticker packs being uneditable in some rooms 2021-08-11 00:39:01 +02:00
Nicolas Werner
dbea031a86
Fix potential crash when trying to read room info too early 2021-08-11 00:21:24 +02:00
Nicolas Werner
7f633a0298
Add rate limiting to unknown device list path 2021-08-09 20:52:54 +02:00
kamathmanu
6a75e5270c Fix nits from code review 2021-08-09 09:18:08 -04:00
Nicolas Werner
71290e208d
Enable insecure fallback for secret storage 2021-08-08 18:57:38 +02:00
Nicolas Werner
ad57a336dc
Breaking: Change secret names and fix bug when storing secrets 2021-08-08 18:38:05 +02:00
Nicolas Werner
8784156da5
Fix trying to delete unsupported events 2021-08-08 11:35:27 +02:00
Nicolas Werner
b73bd2859c
Protect against replay attacks 2021-08-07 23:54:35 +02:00
kamathmanu
2dfccda73c
Merge branch 'master' into nhekoRoomDirectory 2021-08-07 21:20:43 +00:00
kamathmanu
14f8f4d61b Fix Duplicate fetched chunk 2021-08-07 17:13:18 -04:00
kamathmanu
4ec0c8c9bb make lint 2021-08-07 17:00:28 -04:00
kamathmanu
d3d7844106 Made only unjoined rooms joinable 2021-08-07 17:00:28 -04:00
kamathmanu
04d0d413e3 Linted code 2021-08-07 17:00:28 -04:00
kamathmanu
0d700d9933 Implemented Room Directory model to store and provide QML view with public room data from mtxclient 2021-08-07 17:00:12 -04:00
Nicolas Werner
72bbad7485
Show encryption errors in qml and add request keys button 2021-08-07 22:51:09 +02:00
DeepBlueV7.X
9f742fe23d
Merge pull request #664 from govynnus/token-registration
Reorganise src/RegisterPage.cpp
2021-08-07 00:27:39 +00:00
Nicolas Werner
cc22309c5b
this is not needed for translations 2021-08-06 04:43:56 +02:00
Nicolas Werner
e5a6b2b6ef
Allow creating new packs 2021-08-06 04:31:53 +02:00
Nicolas Werner
16d0190f4e
Allow uploading additional stickers 2021-08-06 04:31:53 +02:00
Nicolas Werner
a57a15a2e0
Basic sticker pack editor 2021-08-06 04:31:53 +02:00
Callum Brown
bd31726f2f Allow all characters when checking server input
So IDNs are not rejected. Invalid server names will be caught later.
2021-08-05 17:25:37 +01:00
Callum Brown
bb6a57644c Make things private slots 2021-08-05 16:12:36 +01:00
Nicolas Werner
87e81498b7
Fix window placement on wayland and add close buttons
We explicitly set a parent. We can't assign to
ApplicationWindow.transientParent though, only to
Window.transientParent, so we just call setTransientParent in C++.
2021-08-04 02:27:50 +02:00
Callum Brown
041d8fb56c Reorganise src/RegisterPage.cpp 2021-08-02 20:08:55 +01:00
DeepBlueV7.X
619525e62f
Merge pull request #662 from LorenDB/qml-all-the-things
QML all the things, part 3: Raw message dialog
2021-08-01 10:51:21 +00:00
Nicolas Werner
25e7a985b8
Add option to only send encrypted messages to verified devices
fixes #636
2021-08-01 00:59:46 +02:00
Loren Burkholder
dab1c9068a QML the raw message dialog 2021-07-31 12:11:15 -04:00
Nicolas Werner
760f675792
Ensure the encrypted rooms db is always created 2021-07-31 17:59:03 +02:00
DeepBlueV7.X
5b5a89b522
Merge pull request #655 from LorenDB/qml-all-the-things
QML all the things, part 2: Read receipts dialog
2021-07-30 22:08:51 +00:00
Loren Burkholder
f48f244dcb Use correct date format 2021-07-30 08:44:07 -04:00
Loren Burkholder
7dcdd51a8b make lint 2021-07-30 08:19:05 -04:00
Loren Burkholder
3cb4209d7b
Reformat dates
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2021-07-30 07:56:25 -04:00
Nicolas Werner
e7877ae5af
Fix crash when we don't have keys for other device when receiving an olm message from it 2021-07-30 12:44:08 +02:00
Nicolas Werner
e4cd8b1c11
Log how many rooms we loaded 2021-07-30 03:31:49 +02:00
Nicolas Werner
6409462a96
Rate limit olm session creation 2021-07-30 03:31:29 +02:00
Loren Burkholder
368e13fac3 Use built-in sorting so that dynamic updates work 2021-07-29 21:07:52 -04:00
Loren Burkholder
7e538851d6 Use a QSortFilterProxyModel instead of resetting the model 2021-07-29 21:07:52 -04:00
Loren Burkholder
1777a1b52f Reset model instead of doing weird convoluted updates 2021-07-29 21:07:52 -04:00
Loren Burkholder
2fe010c04a Dynamically update read receipts 2021-07-29 21:07:52 -04:00
Loren Burkholder
2be91b591d make lint 2021-07-29 21:07:52 -04:00
Loren Burkholder
9c7bde22d1 Remove unused headers
Why didn't I see these earlier?
2021-07-29 21:07:52 -04:00
Loren Burkholder
8a329d6517 Remove Avatar class
RIP
2021-07-29 21:07:52 -04:00
Loren Burkholder
0d42909e40 Simplify read receipt storage 2021-07-29 21:07:52 -04:00
Loren Burkholder
774a9fdc3a Remove outdated comment 2021-07-29 21:07:52 -04:00
Loren Burkholder
4dd994ae00 QML the read receipts list
There are probably a few things wrong with this, but I'm going to call it good enough for an initial commit
2021-07-29 21:07:16 -04:00
Nicolas Werner
d955444dc1
Port to explicit connect syntax
Also fix a lot of warnings.
2021-07-27 22:35:38 +02:00
Nicolas Werner
6222ae88ce
Fix crash on invalid utf8 in decrypted events 2021-07-26 18:59:21 +02:00
Nicolas Werner
e8e48305c8
Remove version checks for unsupported Qt versions 2021-07-26 18:59:20 +02:00
Nicolas Werner
570d00b000
Fix crash when storing secrets
Nested QEventLoops are scary. Ultimately we shouldn't use them, but I
have no better solution right now.

fixes #656
2021-07-25 17:07:10 +02:00
Nicolas Werner
80b9d4528e
Remove SSSS requests on the UI thread
might fix #656
2021-07-25 15:39:49 +02:00
Nicolas Werner
8b3d0c14d0
Properly verify OTK signature 2021-07-25 14:10:38 +02:00
Nicolas Werner
8444683271
Don't send encrypted olm messages to ourselves 2021-07-25 13:51:21 +02:00
Nicolas Werner
f4e670d8d5
Fix SSSS unlock without a password set
fixes #657
2021-07-25 12:13:24 +02:00
Joe
fb3c443ce0 Remove additional key requests preference code 2021-07-24 18:27:59 -04:00
Joe
3f567a8da7 Merge master and fix conflicts 2021-07-24 18:26:25 -04:00
Nicolas Werner
a61678242b
Fix edge case that could lead to no new one time keys being uploaded 2021-07-24 14:59:14 +02:00
Nicolas Werner
bef2cbbd7f
Try to avoid more olm loops 2021-07-23 19:08:44 +02:00
Nicolas Werner
dba2fb525a
Remove unused this capture 2021-07-23 18:21:55 +02:00
DeepBlueV7.X
ca3d17dc22
Merge pull request #651 from LorenDB/qml-all-the-things
Fix a few UI things
2021-07-23 16:17:43 +00:00
Nicolas Werner
eafbab6ae1
Add menu to enable or disable stickers globally 2021-07-23 17:43:17 +02:00
Nicolas Werner
0c798554b5
Rename image pack model 2021-07-22 20:05:25 +02:00
Loren Burkholder
0ce7d02abe make lint 2021-07-22 07:55:12 -04:00
Nicolas Werner
5ae73bf8fd
Add trailing newline to session export to make gomuks happy 2021-07-22 12:00:14 +02:00
Loren Burkholder
bbecadf1a8 Add functionality for loading global user profile where needed
This is so viewing profiles from the invite dialog will work as expected.
2021-07-21 20:38:18 -04:00
DeepBlueV7.X
1d3579196a
Merge pull request #650 from LorenDB/qml-all-the-things
Open room members when member info label clicked
2021-07-21 23:18:21 +00:00
Loren Burkholder
44be4c1f4a Move various room auxiliary functions to TimelineManager 2021-07-21 18:56:20 -04:00
Loren Burkholder
b17002929c Open room members when member info label clicked 2021-07-21 12:36:02 -04:00
Nicolas Werner
f401ed16ac
Tweak rainbows slightly 2021-07-21 17:44:29 +02:00
Nicolas Werner
8a300f7333
Fix some media not being cached properly
Most noticeable in the goose chooser.
2021-07-21 16:55:28 +02:00
Loren Burkholder
6458614ea1 make lint 2021-07-20 21:48:10 -04:00
Loren Burkholder
efda94ca50 Modify message to be more accurate 2021-07-20 21:48:10 -04:00
Loren Burkholder
77c636f3d3 Insert user before loading avatar/display name 2021-07-20 21:48:10 -04:00
Loren Burkholder
44d2818e0c Add property for plain room name 2021-07-20 21:48:10 -04:00
Loren Burkholder
21eb312f69 Only run spinner while loading members 2021-07-20 21:48:03 -04:00
Loren Burkholder
a9ed83a1ce Remove size_t property stuff 2021-07-20 21:48:03 -04:00
Loren Burkholder
48669302ec make lint 2021-07-20 21:48:03 -04:00
Loren Burkholder
10c6f2b43f Use Nico's favored formatting (*shrugs*) 2021-07-20 21:48:03 -04:00
Loren Burkholder
4384554587 Only invite if there is something/someone to invite 2021-07-20 21:48:03 -04:00
Loren Burkholder
f30c3db860 Fix loaded member count 2021-07-20 21:47:54 -04:00
Loren Burkholder
baa9dfe110 Clean up code 2021-07-20 21:47:46 -04:00
Loren Burkholder
913d0fd139 Make macOS CI happy (again) 2021-07-20 21:47:37 -04:00
Loren Burkholder
d2d5229ede make lint 2021-07-20 21:47:32 -04:00
Loren Burkholder
db8af24bea Don't emit signal in constructor 2021-07-20 21:47:32 -04:00
Loren Burkholder
60b3c34d78 Permissions only needs a roomid to function 2021-07-20 21:47:32 -04:00
Loren Burkholder
c566a62541 Clean up code 2021-07-20 21:47:22 -04:00
Loren Burkholder
a176de5f11 Make sure to use the default room id if none is specified 2021-07-20 21:47:22 -04:00
Loren Burkholder
f0c88fc474 Get member info loading working 2021-07-20 21:47:22 -04:00
Loren Burkholder
a76fc7d200 Add a fancy loading spinner to the member list 2021-07-20 21:47:22 -04:00
Loren Burkholder
e1acf5d324 make lint 2021-07-20 21:47:22 -04:00
Loren Burkholder
6c57fa6c5b QML the invite dialog
This also adds a property `roomId` to TimelineModel.
2021-07-20 21:47:22 -04:00
Loren Burkholder
77a0c574bf QML the room member list 2021-07-20 21:47:05 -04:00
Nicolas Werner
88ed0fade7
Explicitly reload data in delegates, if related events got loaded 2021-07-20 14:09:19 +02:00
Nicolas Werner
3b56ff2d85
Fix replying and editing stickers 2021-07-19 16:14:09 +02:00
Nicolas Werner
9f416f1fc9
Fix only first 7 stickers showing up 2021-07-19 12:43:16 +02:00
Nicolas Werner
56b44a85b5
Fix unused state key when iterating room stickers 2021-07-19 03:29:48 +02:00
Nicolas Werner
9d5ba4f681
Move sticker parsing and enable room stickers 2021-07-19 03:02:30 +02:00
Nicolas Werner
8a1666bc88
Basic sticker support 2021-07-19 01:28:07 +02:00
Nicolas Werner
aa84cf24f6
Disable unchecked key sharing to trusted users by default 2021-07-17 21:43:25 +02:00
Nicolas Werner
3f0aa13cb6
Share historical keys
We share all keys with our devices and ones created by us to other
users.
2021-07-17 02:14:44 +02:00
Nicolas Werner
9fadd14871
Store megolm session data in separate database 2021-07-17 01:27:37 +02:00
Nicolas Werner
0b864d9485
Fix replies not reloading after fetching them 2021-07-16 11:47:49 +02:00
Joseph Donofry
19f2c02eda
Remove 'respond to key requests' functionality 2021-07-15 18:08:59 -04:00
Nicolas Werner
be0576f6a1
Add workaround for TextEdit not rerendering after image loaded
fixes #541
2021-07-15 00:26:39 +02:00