Commit graph

307 commits

Author SHA1 Message Date
Nicolas Werner
57f505c486
Fix invalid userids on profile requests 2022-08-30 15:40:33 +02:00
Nicolas Werner
1cfbac4c92
Fix crash when device has no keys to verify 2022-08-13 18:01:16 +02:00
Nicolas Werner
3c480d47f1
Make code compile with hidden friends 2022-07-29 04:04:44 +02:00
DeepBlueV7.X
a5dafec147
Merge pull request #1121 from MayeulC/32bit
Better handle 32-bit platforms by limitting database size
2022-07-20 14:04:06 +02:00
Mayeul Cantan
fb2e019591 fixup! Better handle 32-bit platforms by limitting database size 2022-07-20 12:44:07 +02:00
Nicolas Werner
07bb95fbcd
Fix crash when creating link to room preview 2022-07-19 18:57:22 +02:00
Mayeul Cantan
702d7e620f Better handle 32-bit platforms by limitting database size
Experimentally, setting the database size to 2GB didn't work.
These values are quite arbitrary, and should probably be settings or
automatically adjusted.
2022-07-19 14:13:14 +02:00
r0hit05
6663e5683d Updated call event namespaces to voip 2022-07-15 17:20:05 +05:30
Nicolas Werner
7198cee85e
Fix crash on empty user cache stored 2022-07-01 09:14:17 +02:00
Nicolas Werner
b6bbbdeae7
Fix bad timestamps being stored for room infos 2022-06-28 23:18:36 +02:00
Nicolas Werner
1145610694
Fix timestamps after loading 2022-06-26 01:48:16 +02:00
Nicolas Werner
ead10cd0fd
Request full online keybackup when turning it on 2022-06-19 16:37:00 +02:00
Nicolas Werner
35ff02ce48
Remove a few more headers 2022-06-18 02:31:01 +02:00
Nicolas Werner
b57152a1c9
Skip migration if sender_key is not a string or present 2022-06-18 00:10:47 +02:00
Nicolas Werner
8cdfbf9391
Get rid of 'using json = nlohmann::json' 2022-06-17 22:03:54 +02:00
Nicolas Werner
ef941920ea
Fix compilation without implicit nlohmann conversions 2022-06-17 03:14:48 +02:00
Nicolas Werner
28acea55e2
Remove redundant alias function 2022-06-17 03:14:48 +02:00
Nicolas Werner
ef9ebe3fd3
Speedup startup by caching last message timestamp
The cache is only approximate, i.e. it doesn't skip edits and similar,
but this might be good enough? Also no migration right now.

Speeds up startup by about 5x on my system.

Half the startup time is now loading the powerlevels for each room. We
can probably lazily load those too in the future.
2022-06-15 02:13:17 +02:00
Nicolas Werner
6e1fec1e63
Update hidden read receipts MSC 2022-06-14 00:35:28 +02:00
Joseph Donofry
f688e15379 Fix cursor not being closed before txn was committed 2022-04-14 19:23:12 -04:00
Nicolas Werner
060a03e055 Fix accidental shadowing 2022-04-13 20:49:33 +02:00
Nicolas Werner
0a405a7446 Store notification counts across restarts 2022-04-13 20:40:00 +02:00
Nicolas Werner
cf38e6974a Fix typo in key export 2022-04-08 03:33:00 +02:00
Nicolas Werner
f316dbed43 Fix a few issues with receiving to_device messages in initial sync 2022-04-08 03:24:10 +02:00
Nicolas Werner
66b7ff639c Remove sender key from megolm session index
implements MSC3700

see https://github.com/matrix-org/matrix-spec-proposals/pull/3700
2022-04-08 01:53:00 +02:00
Nicolas Werner
7256c70108
Fix crash on missing pack description 2022-03-25 18:40:27 +01:00
Nicolas Werner
9f5b647fb3
Fix editing pending messages 2022-02-27 06:43:45 +01:00
Nicolas Werner
47b822604d
Hidden events: Refactor slightly for reusability 2022-02-12 19:48:53 +01:00
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