Commit graph

279 commits

Author SHA1 Message Date
Nicolas Werner
b3221b09d6 Add /reset-state command 2022-02-05 08:40:56 +01:00
Nicolas Werner
2e7d26bcc0
Fix secrets not loading after registration 2022-01-29 17:27:28 +01:00
Nicolas Werner
b106eafb0e
Initial qml root window 2022-01-26 21:44:13 +01:00
Ayushi Bisht
8e8e46fe0a fixed a typo in Cache.cpp 2022-01-17 22:51:49 +05:30
Nicolas Werner
970ed56fa5
Fix presence db creation on servers without presence
fixes #873
2022-01-03 15:33:36 +01:00
Nicolas Werner
f14f978c48
Possibly fix crash on accepting invites
fixes #857
2022-01-03 03:57:57 +01:00
Nicolas Werner
61404641d9
Update year in copyright notice to shut up lint job 2022-01-01 04:57:53 +01:00
Nicolas Werner
52a6105dc1
Update translations 2022-01-01 04:41:15 +01:00
Nicolas Werner
9a9dbda571
Update presence dynamically and reduce allocations 2021-12-30 04:54:03 +01:00
Nicolas Werner
19dc6cadea
Reserve size of some containers we are filling 2021-12-29 06:01:38 +01:00
Nicolas Werner
d8ead9573b
Reduce allocations using QStringLiteral 2021-12-29 04:52:52 +01:00
Nicolas Werner
f3e1941612
Add clazy to CI 2021-12-29 00:17:37 +01:00
Nicolas Werner
5743a6de04
Cleanup remaining clazy issues 2021-12-28 23:22:01 +01:00
DeepBlueV7.X
e7664a43da
Merge pull request #855 from rnhmjoj/master
Make nheko usable without a secret storage service
2021-12-28 21:51:35 +00:00
Nicolas Werner
0e9b0c80cd
more cleanups 2021-12-28 22:36:49 +01:00
Nicolas Werner
5ca98829f7
Some qt6 prep 2021-12-28 20:09:08 +01:00
rnhmjoj
9363f0b7c7
Make nheko usable without a secret storage service
This change adds the ability to run Nheko without a secrets storage
service[1]. The secrets are stored in plaintext under the [secrets]
section of nheko.conf. Since this is a "I know what I'm doing" type
of feature, it's disabled by default and can only be enabled with an
hidden setting `run_without_secure_secrets_service=true`.

Fixes issue #705.

[1]: https://freedesktop.org/wiki/Specifications/secret-storage-spec
2021-12-27 10:45:46 +01:00
Nicolas Werner
0897e4c062
Fix inclusion condition for overriden pack types 2021-12-27 06:40:47 +01:00
Nicolas Werner
ea6b19b307
Add an ugly custom emote completer using ~ 2021-12-27 06:23:36 +01:00
Nicolas Werner
9b25ef3c0d
Set notification category 2021-12-19 09:36:00 +01:00
Nicolas Werner
b2b9cccb5e
Fix a few clang tidy warnings 2021-12-06 22:22:37 +01:00
Nicolas Werner
e7d4aec6ec
Only mark as direct, if invite was direct 2021-11-21 07:06:37 +01:00
Nicolas Werner
d26fe37010
Disallow displaynames with only spaces or control characters 2021-11-14 17:37:19 +01:00
Nicolas Werner
ff560a09f5
Improve fetching of device keys after login 2021-11-08 17:01:22 +01:00
Nicolas Werner
5ca1fb18bb
Move away from using an event loop to access secrets
Fixes messages in room flickering and being stuck

fixes #760
relates to #770
relates to #789
2021-11-07 03:52:57 +01:00
Nicolas Werner
d112d6b11f
Fix crash when clearing empty timeline 2021-11-06 00:40:39 +01:00
Nicolas Werner
e1b9a0c619
Update translations 2021-11-03 23:44:55 +01:00
Nicolas Werner
417cc07172
Fix crash on logout 2021-11-01 22:35:48 +01:00
Nicolas Werner
2aabe9dcac
Prompt user when there are unverified devices 2021-11-01 22:20:15 +01:00
Nicolas Werner
2902bbb7e7
Fix calculating hidden space children 2021-10-20 15:05:00 +02:00
Nicolas Werner
550c80525a
Move voip and encryption stuff into their own directories 2021-10-17 17:18:14 +02:00
Nicolas Werner
ad1e6c8298
Support bootstrapping crosssigning
Showing the bootstrap state and showing there are unverified devices is
still missing.
2021-10-09 05:01:53 +02:00
Thulinma
456a41bcdf Added support for refreshing the device list, marking current device with a checkmark instead of a lock 2021-10-06 22:52:19 +02:00
Nicolas Werner
cfca7157b9
Change indentation to 4 spaces 2021-09-18 00:45:50 +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
fb53fc86b6 Fix invites crashing the whole app 2021-09-11 19:35:31 -04: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
Thulinma
2525579610 Fixed duplicate messages appearing in timeline if server sent them 2021-09-05 23:00:29 +02:00
Nicolas Werner
99f3296a64
Make error case with unverified master key more descriptive 2021-09-03 15:08:16 +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
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
56db0dbc7d
Allow downloading keys from key backup 2021-08-17 03:24:12 +02: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
Nicolas Werner
dbea031a86
Fix potential crash when trying to read room info too early 2021-08-11 00:21:24 +02: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
b73bd2859c
Protect against replay attacks 2021-08-07 23:54:35 +02:00
Nicolas Werner
e5a6b2b6ef
Allow creating new packs 2021-08-06 04:31:53 +02:00
Nicolas Werner
a57a15a2e0
Basic sticker pack editor 2021-08-06 04:31:53 +02:00
Nicolas Werner
25e7a985b8
Add option to only send encrypted messages to verified devices
fixes #636
2021-08-01 00:59:46 +02:00
Nicolas Werner
760f675792
Ensure the encrypted rooms db is always created 2021-07-31 17:59:03 +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
eafbab6ae1
Add menu to enable or disable stickers globally 2021-07-23 17:43:17 +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
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
d81e3f94e7
Try to fix crash in setCurrentIndex
fixes #607
2021-07-13 02:45:03 +02:00
Nicolas Werner
b064eb34aa
Fix lint 2021-07-10 16:14:24 +02:00
Nicolas Werner
c755d54243
Remove db bottleneck by caching ro txn for 100 requests 2021-07-10 16:12:38 +02:00
Nicolas Werner
f23fd5f822
Fix a few embarrassing bugs with device list updates 2021-07-06 11:39:29 +02:00
Nicolas Werner
5b016cbc68
Remove dead code to calculate last message 2021-07-01 12:45:47 +02:00
Nicolas Werner
884fb74d2d
Add a basic 'Space page' 2021-06-25 11:34:19 +02:00
Nicolas Werner
6bfa6c4c79
Allow filtering by space 2021-06-25 11:34:18 +02:00
Nicolas Werner
12ce7686ce
Show some spaces in the community sidebar 2021-06-25 11:34:17 +02:00
Alexander Bantyev
9f798e76ed
Allow editing unsent messages
As of 0db4d71ec2 (Prevent edits of
unsent messages), messages that are edits of (or replies to) unsent
messages were not allowed. This change was made because otherwise
the edits were discarded due to use of txnid rather than mxid in the
"m.relates_to" object. Remove this restriction and fix the issue by
replacing txnid with mxid in all related events when the message is
sent (and we obtain mxid from the server).
2021-06-18 16:38:55 +03:00
Nicolas Werner
e6878ee298
Don't read avatarUrl from local profile, if no global avatar is set 2021-06-12 16:05:45 +02:00
Nicolas Werner
d8c0d4874b
Render community items 2021-06-11 13:12:43 +02:00
Nicolas Werner
c290b0747f
Reenable invites 2021-05-24 14:04:07 +02:00
Nicolas Werner
f2bc184550
Fix device list not showing up and UserProfile blocking the window 2021-05-22 14:31:38 +02:00
Nicolas Werner
567fe81ad7
Basic header and footer of room list 2021-05-15 13:05:55 +02:00
Nicolas Werner
2df4c532ed
Add TOFU (Trust On First Use) mode to encryption 2021-05-07 17:01:57 +02:00
Nicolas Werner
0d0709ccd3
Show verification status next to messages 2021-05-07 17:01:57 +02:00
Nicolas Werner
1936749ff5
Fix keys not being reshared to the same devices, that already got them, if the message got lost 2021-04-20 19:52:23 +02:00
Nicolas Werner
20c1ca2aae
Fix a a session with a higher minimum index being able to overwrite an older one 2021-04-20 14:19:07 +02:00
Nicolas Werner
1b0af04cc8
Prevent warning on empty user requests 2021-04-18 21:53:36 +02:00
Nicolas Werner
8108d98fa7
Store state events with state keys 2021-04-13 14:36:37 +02:00
Nicolas Werner
c8a547630b
Fix a weird edge case with persisted empty event ids
No idea, how that happened and where it came from
2021-04-08 12:56:31 +02:00
Nicolas Werner
e5d75c814b
Clean up notification code a bit 2021-03-17 19:18:07 +01:00
Nicolas Werner
86766b739d
Store all state events 2021-03-15 17:11:02 +01:00
Nicolas Werner
569ea5b5f4
Rotate session keys properly 2021-03-15 16:24:01 +01:00
Nicolas Werner
6ad4065de4
Fix a few db access crashes 2021-03-12 17:14:18 +01:00
DeepBlueV7.X
56c44d0454
Merge pull request #505 from Nheko-Reborn/license-headers
License headers
2021-03-05 01:04:36 +00:00
Joseph Donofry
4b12b53133
Fix linting 2021-03-04 19:11:08 -05:00
Nicolas Werner
a6f0d2ea7d
Update license headers 2021-03-05 01:04:07 +01:00
Joseph Donofry
87bf761dc2
Properly format matrix errors in spdlog statements 2021-03-04 18:56:25 -05:00
Nicolas Werner
d28a620f42
Add comment to mark db keys as such 2021-03-03 00:08:33 +01:00
Nicolas Werner
1b0abe97f9
Update to new lmdbxx version 2021-03-03 00:01:17 +01:00