Commit graph

2145 commits

Author SHA1 Message Date
Nicolas Werner
4dd5f9841d
Add additional check for invalid megolm sessions 2021-10-04 21:46:31 +02:00
Loren Burkholder
a6c3e3562c Fix some strings and translation stuff 2021-10-01 12:29:54 -04:00
Thulinma
94441e68fd Support pasting image/svg+xml format straight from supporting applications 2021-09-28 01:42:35 +02:00
Thulinma
c4b788917f Fixes for pasting images, especially under windows where the image mime type detection doesn't work as expected 2021-09-28 00:54:00 +02:00
Thulinma
6941c3d3d7 Fix --help and --version command line options when Nheko is already running. Also adds an info message when it sends a URI to another instance 2021-09-28 00:45:00 +02:00
Joseph Donofry
526c1cdcc4 Add Unicode 14.0 emoji 2021-09-25 02:19:44 -04:00
Nicolas Werner
a54f828fb4
Fix a few verification typos 2021-09-20 01:15:51 +02:00
Nicolas Werner
cfca7157b9
Change indentation to 4 spaces 2021-09-18 00:45:50 +02:00
DeepBlueV7.X
e118f3882d
Merge pull request #728 from Thulinma/goto
Improvements for linking to events
2021-09-17 10:19:58 +00:00
Patryk Cisek
d499fffb7e
Added a text field that allows choosing custom homeserver in "Room directory" dialog. (#727)
* Added a text field that allows choosing custom homeserver in "Room directory" dialog.

* Moved "Choose custom homeserver" text field to the right and shrinked it to 30% of "Room directory" dialog's width.

* Adding "server_name=" when needed when joining room.

When joining room that is hosted on a different homeserver than
the account is registered on, the request fails. In such scenario
the server has to be explicitly mentioned in a server_name URL
parameter. More info here:
https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-join-roomidoralias

* Minor fix: intentation (4 spaces -> 8 spaces)

Co-authored-by: Patryk Cisek <patryk@cisek.email>
2021-09-17 10:12:56 +00:00
Thulinma
1d5bf56cf9 Improvements for linking to events
- Fixes scrolling to an event not being reliable
- Adds new /goto command that can open URLs, go to events, or go to message indexes.
- Refactored ChatPage::handleMatrixUri() to contain the handling originally in Nheko::openLink(), and makes it return a boolean based on whether the URL was handled internally or not.
2021-09-16 02:17:07 +02:00
Nicolas Werner
5bff9df4ae
Workaround for broken fetchMore() with reuseItems 2021-09-15 23:38:01 +02:00
DeepBlueV7.X
d6eeaa1c04
Merge pull request #721 from symphorien/hotlist
Implement a binding to go to a room with unread messages
2021-09-14 19:00:50 +00:00
Nicolas Werner
f91a0267e6
Add workaround for crash on some jdenticon inputs 2021-09-14 16:10:04 +02:00
Guillaume Girol
82b1cc4e5f add Alt+A keybinding to switch to next room with unread messages 2021-09-14 12:00:00 +00:00
Nicolas Werner
f032c75e6a
Remove unused prototype 2021-09-13 23:45:09 +02:00
DeepBlueV7.X
8e2f1e9dce
Merge pull request #416 from LorenDB/jdenticon
Add jdenticon support
2021-09-13 21:31:29 +00:00
Nicolas Werner
1b82b8242b
Keep identities for users cached
There is not really a reason to stop tracking them, just because the
server says so. We might still want to show a users profile, etc.
2021-09-13 14:31:22 +02:00
Loren Burkholder
b9255803fb Streamline getting other user id from invited direct chat 2021-09-11 19:45:01 -04:00
Loren Burkholder
0b8527eb1b Don't try to check whether a preview is direct 2021-09-11 19:35:31 -04:00
Loren Burkholder
fb53fc86b6 Fix invites crashing the whole app 2021-09-11 19:35:31 -04:00
Loren Burkholder
87bff3493d Add direct chat handling for previews and invites 2021-09-11 19:35:31 -04:00
Loren Burkholder
094ddb48a2 Don't bother with crop 2021-09-11 19:35:31 -04:00
Loren Burkholder
2147ce8556 Only try loading plugin once 2021-09-11 19:35:31 -04:00
Loren Burkholder
f14762e6a5 Always show jdenticon toggle (disable if no plugin) 2021-09-11 19:35:31 -04:00
Loren Burkholder
0e3f3f2b20 make lint 2021-09-11 19:35:31 -04:00
Loren Burkholder
17729ce662 Fix jdenticons in various places 2021-09-11 19:35:31 -04:00
Loren Burkholder
356723fe06 Use more descriptive property name 2021-09-11 19:35:31 -04:00
Loren Burkholder
a23c586cde make lint 2021-09-11 19:35:31 -04:00
Loren Burkholder
dcdf00dcc5 Finish fixing rounded avatars 2021-09-11 19:35:31 -04:00
Loren Burkholder
350fc593ed Use better id loading methodology 2021-09-11 19:35:31 -04:00
Loren Burkholder
1ac4f3a97b Remove unused struct 2021-09-11 19:35:31 -04:00
Loren Burkholder
c991f20284 Make sure jdenticon toggle is always initialized 2021-09-11 19:35:31 -04:00
Loren Burkholder
350d1977af Add some fancy effects to jdenticon 2021-09-11 19:35:31 -04:00
Loren Burkholder
1fdecdcc21 Get direct chat jdenticons to line up 2021-09-11 19:35:31 -04:00
Loren Burkholder
7a200d7e77 Add licenses 2021-09-11 19:35:31 -04:00
Loren Burkholder
651d620afd Remove unnecessary stuff 2021-09-11 19:35:31 -04:00
Loren Burkholder
ebe80a6006 Fix typo 2021-09-11 19:35:31 -04:00
Loren Burkholder
069115ba5f Don't add toggle for jdenticon if the plugin can't be found 2021-09-11 19:35:31 -04:00
Loren Burkholder
4e4a9c6e0c Fix braces; make lint 2021-09-11 19:35:31 -04:00
Loren Burkholder
d2e193ff78 Add jdenticon support 2021-09-11 19:35:31 -04:00
Thulinma
45b5629fe4 Fix a few more HTML injections 2021-09-12 00:09:24 +02:00
Nicolas Werner
f9a334233f
Don't allow images in username change messages and user completer
Sorry, no fun for you!
2021-09-09 21:20:34 +02:00
Nicolas Werner
495a4334df
Fix day separator when loading older messages
fixes #632
2021-09-08 12:47:44 +02:00
Thulinma
a39cb537ae More profile improvements:
- Now scrolls entire profile instead of only device list, improving the experience on smaller screens
- Fixed centering of room name
- Allow profile to be sized smaller to match the new scrolling behavior
- Silenced warning about room being null for global profiles
- Matrix URLs now open global profiles instead of room-specific profiles if the user is not in the currently opened room
- Opening global profile from room specific profile now uses openGlobalUserProfile function instead of reinventing the wheel
2021-09-08 01:26:05 +02:00
Nicolas Werner
80fa3e801f
Fix duplicate check possibly leaving large gaps if initial state was not in timeline 2021-09-06 01:41:23 +02:00
Nicolas Werner
6490ee3a34
Add workaround for broken key counts 2021-09-06 00:32:09 +02:00
DeepBlueV7.X
d30401c3c4
Merge pull request #713 from Thulinma/noMoreDuplicates
Fixed duplicate messages appearing in timeline if server sent them
2021-09-05 22:24:16 +00:00
Nicolas Werner
70e20f5d10
Fix key count updates on conduit 2021-09-06 00:07:14 +02:00
Nicolas Werner
e035d1407a
Conduit does not send count, if it didn't change 2021-09-05 23:15:44 +02:00
Thulinma
2525579610 Fixed duplicate messages appearing in timeline if server sent them 2021-09-05 23:00:29 +02:00
Thulinma
e7564396fb Improvements to user profiles:
- Set a minimum width on the profile window (avatar size + margins)
- Made avatar editing a separate button, so you can zoom in on your own avatars
- Added hover text to avatar/displayname change buttons, which clarify where they will apply for global/room-specific profiles
- Added display of room name for room-specific profiles, with hover text that explains what that means.
- Added way to open global profile for users from their room-specific profiles (globe button next to room name)
2021-09-05 19:05:43 +02:00
Nicolas Werner
99f3296a64
Make error case with unverified master key more descriptive 2021-09-03 15:08:16 +02:00
Thulinma
6bd62f8283 Make desktop alerting independent from notification support in the homeserver. 2021-09-03 03:13:15 +02:00
Nicolas Werner
3528fe4e5d
Warn the user before they ping the whole room 2021-09-02 03:15:39 +02:00
Nicolas Werner
1b07bde788
update translations 2021-09-01 01:23:20 +02:00
Nicolas Werner
98533f01d9
Fix session always being rotated if 'verified only' is active 2021-08-31 16:40:31 +02:00
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