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
Nicolas Werner
1f373479b8
Fix unaligned reads
2021-02-25 15:15:59 +01:00
Nicolas Werner
6d678a108f
Use fully read marker and fix stuck read marker with edits
2021-02-10 02:37:47 +01:00
Nicolas Werner
bdb6e6b79e
Fix stuck notifications because of edits
...
Does not fix the read status yet, for that we need to compare read
receipts for all events after the last visible event.
2021-02-10 01:03:20 +01:00
Nicolas Werner
d6504812c7
Render edits
2021-02-09 20:22:02 +01:00
Nicolas Werner
2e77a1554f
Switch to new relations format
2021-02-09 20:22:02 +01:00
Nicolas Werner
0b5269bfc0
Reload the timeline after key import
2021-01-25 17:06:27 +01:00
Nicolas Werner
6313ecb7d4
Treat empty secrets as no secret
2021-01-25 15:28:35 +01:00
rnhmjoj
0e628290af
Write database to the DataLocation
2021-01-24 00:40:19 +01:00
Nicolas Werner
1c98426536
Fix tags
2021-01-22 03:18:36 +01:00
Nicolas Werner
5105d2cb96
Fix crash when persisting null relations
2021-01-19 14:21:04 +01:00
Nicolas Werner
2a19783f99
Fix timeline becoming corrupted on backfill
...
Fixes #273
2021-01-12 00:02:18 +01:00
Nicolas Werner
39f9b7d90a
Handle matrix scheme
...
Link opening only works on Linux for now.
See https://github.com/matrix-org/matrix-doc/pull/2312
2021-01-10 22:41:56 +01:00
Nicolas Werner
3a41bb9fff
Fix typing notifications flickering sometimes
2021-01-05 22:38:21 +01:00
Nicolas Werner
391b1b3285
Fix #359
...
Actually store the login details under the selected profile
2020-12-27 22:56:54 +01:00
Nicolas Werner
525b319a94
lint
2020-12-25 19:20:25 +01:00
DeepBlueV7.X
ea5f6ca0f4
Merge pull request #358 from Nheko-Reborn/windows-fixes
...
Windows fixes
2020-12-25 05:59:18 +01:00
Nicolas Werner
904cafcd39
lint
2020-12-25 04:11:47 +01:00
Loren Burkholder
af52ceb387
Remove unused variable
2020-12-24 21:16:46 -05:00
LorenDB
53f45bdb1c
Switch profile code to a more flexible method
...
This introduces a new version of SingleApplication as well.
2020-12-24 21:16:46 -05:00
Nicolas Werner
01e38d12ed
Fix some compiler warnings
2020-12-25 00:08:06 +00:00
Nicolas Werner
15d8eb2b8b
Update deps for keychain
2020-12-18 03:53:57 +01:00
Nicolas Werner
7b46aa2a6e
Store secrets in keychain
2020-12-16 22:10:09 +01:00
Nicolas Werner
65a4c85ed4
Don't sync db on every sync
...
This fixes some lag, when Nheko is running, which could affect Nheko and
even other applications by excessively calling fsync. This should be
fine, since all filesystems seem to guarantee order and in most cases,
the modified pages are still written. In the worst case we should only
lose the last /sync results or similar.
2020-12-13 01:29:35 +01:00
Nicolas Werner
2ce129e6b6
Properly share and rotate sessions on member and device changes
2020-11-30 01:54:53 +01:00
Nicolas Werner
2290ebcf78
Remove outbound session storage
2020-11-30 01:54:53 +01:00
Nicolas Werner
c24f9a22a5
Load sessions lazily from db
2020-11-30 01:54:53 +01:00
Nicolas Werner
90cae987fd
Bump max dbs
2020-11-26 00:19:09 +01:00
Nicolas Werner
c31b9e2793
Fix race when reading members from db
2020-11-25 23:54:25 +01:00
Nicolas Werner
7cda502edd
Add some db logging and clean up avatar urls a bit
2020-11-25 23:54:25 +01:00
Nicolas Werner
bc93f24a22
Remove redundant user search suggestion code
2020-11-25 19:05:12 +01:00
Nicolas Werner
70f35de449
Don't pass around empty timeline
2020-10-28 13:06:28 +01:00
Nicolas Werner
12fff7408e
Optimize build
2020-10-27 17:45:28 +01:00
Nicolas Werner
3d7bb22df4
Fix login
2020-10-24 18:07:14 +02:00
Nicolas Werner
4797b9fa96
Fix infinite pagination properly now.
2020-10-23 19:42:23 +02:00
Nicolas Werner
66445c507c
Trade CPU usage for 30MB of members in RAM
2020-10-22 20:49:15 +02:00
Nicolas Werner
aa9b453f81
Store timestamp with olm sessions
2020-10-20 13:46:05 +02:00
Nicolas Werner
62d0bdbb77
Fix small typo in robustness logic
2020-10-13 00:14:28 +02:00
Joseph Donofry
31c6857f19
Add some try...catch logic around read-only databases so nheko won't crash if the db doesn't exist
2020-10-09 12:32:21 -04:00
Nicolas Werner
56ba7de501
Fix unused variable warnings on old compilers
2020-10-08 18:49:35 +02:00
Nicolas Werner
cd43147b77
Implement signature upload for own master key
2020-10-08 16:17:38 +02:00
Nicolas Werner
7b6fab3373
Calculate verification status from cross-signing sigs and update dynamically
2020-10-08 00:20:12 +02:00
Nicolas Werner
2a79cd2b6b
Don't fail on missing key for a device and /rotate-megolm-session command
2020-10-03 18:38:28 +02:00
Nicolas Werner
600df6d2ec
Fix fetching inexistent batch tokens
2020-10-02 16:39:20 +02:00
Nicolas Werner
94690ebd4c
Clean up verification and key cache a bit
2020-10-02 01:14:42 +02:00
Nicolas Werner
4802c34009
Merge remote-tracking branch 'origin/master' into cross-signing
2020-09-24 21:36:43 +02:00
Nicolas Werner
54db9c89ed
Simplify outbound session setup
...
Don't send inbound session to self and claim and send all keys at once.
2020-09-20 23:07:02 +02:00
Nicolas Werner
c5f93efcd3
Actually use room account data
2020-09-16 23:49:17 +02:00
CH Chethan Reddy
8eb74daf76
Split qml part of Device Verification
2020-09-14 17:27:49 +05:30
Nicolas Werner
c4e4938d35
Save account data and allow hiding events via account data
2020-09-08 16:21:55 +02:00
Chethan2k1
e8eeb480d5
Fix Wrong Emojis Issue in Room Verification
2020-09-04 12:02:24 +05:30
CH Chethan Reddy
b174bd9380
Merge remote-tracking branch 'upstream/master' into device-verification
2020-08-30 22:27:14 +05:30
Nicolas Werner
3df4bde032
Add some log messages, that migrations are in progress
2020-08-25 23:12:01 +02:00
Nicolas Werner
9f79b85579
Speedup db a bit, but loose some crash resiliency
...
The loss in durability shouldn't matter, if we can just receive the same
events again after a restart
2020-08-25 23:05:31 +02:00
CH Chethan Reddy
1d299951b6
Cache Fix
2020-08-24 13:58:00 +05:30
Nicolas Werner
7f7108161e
Hide CallCandidates again in new store
2020-08-17 23:30:36 +02:00
Nicolas Werner
de7ec4d2b3
Merge remote-tracking branch 'origin/master' into new-event-store
...
Conflicts:
CMakeLists.txt
io.github.NhekoReborn.Nheko.json
src/Cache.cpp
src/timeline/TimelineModel.cpp
src/timeline/TimelineModel.h
src/timeline/TimelineViewManager.cpp
2020-08-17 20:40:33 +02:00
Nicolas Werner
14a0aac748
Add /clear-timeline command
2020-08-09 23:36:47 +02:00
CH Chethan Reddy
1fcd768f88
Adding Room Key Verification Stuff
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
a2979c2df1
Updating keys of outdated encrypted users
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
ac1fbbb69f
Some issue with UserProfile
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
6fae36abc4
[WIP] Add Caching for users
2020-07-30 22:10:27 +05:30
Nicolas Werner
7f3d97517f
Fix double free by closing cursor at the right time
2020-07-30 18:13:19 +02:00
Nicolas Werner
720bb164f7
Fix migration (hopefully)
2020-07-26 19:04:36 +02:00
Nicolas Werner
b294430fe5
Return to redacted messages instead of just storing the redaction
2020-07-25 19:38:27 +02:00
Nicolas Werner
f23d733cff
Fix room joins
2020-07-20 18:25:22 +02:00
Nicolas Werner
6f2bc908ba
Fix reaction display
2020-07-19 12:22:54 +02:00
Nicolas Werner
d467568a65
Close cursor we don't need and where we overwrite the contents
2020-07-18 22:59:03 +02:00
Nicolas Werner
56ea89aa11
Reenable sending messages
2020-07-18 17:43:49 +02:00
Nicolas Werner
9ae7d0dce3
Readd pagination and fix redactions
2020-07-13 00:08:58 +02:00
trilene
7a206441c8
Support voice calls
2020-07-10 19:19:48 -04:00
Nicolas Werner
3421728898
Fetch missing events
2020-07-10 01:37:55 +02:00
Nicolas Werner
530c531c4b
WIP: Event Store split out
2020-07-09 23:15:22 +02:00
Nicolas Werner
0da1a6d5fc
Add relations and order without hidden events to db
2020-07-08 02:02:14 +02:00
Nicolas Werner
82eff09062
Fetch event from db and use string_view where possible
2020-07-06 03:43:14 +02:00
Nicolas Werner
c79205c26a
Use new timeline cache structure
2020-07-05 05:31:15 +02:00
Nicolas Werner
79a29953dd
Persist event order
2020-07-04 02:09:12 +02:00
Nicolas Werner
233b3c06ce
Store events in room specific db
2020-07-03 02:40:48 +02:00
Nicolas Werner
96f4169be9
Show presence and set custom status messages
2020-06-08 01:59:05 +02:00
Nicolas Werner
9eddcfc42f
Remove some redundant functions
2020-05-30 16:38:11 +02:00
Nicolas Werner
7de1fc62e8
Tag rooms via context menu
2020-05-18 04:23:36 +02:00
Nicolas Werner
000ab4853a
Translation updates
2020-05-10 01:38:40 +02:00
Nicolas Werner
a942ae9b93
Fix messages being immediately read again
2020-05-06 19:21:31 +02:00
Nicolas Werner
692c6119b4
Fix joined rooms dropping to the bottom at first
2020-05-05 19:08:59 +02:00
Nicolas Werner
a8b22e49c3
Fix self counting as read message
2020-05-04 00:57:40 +02:00
Nicolas Werner
d6685e8d61
Add delete pending_receipts migration
2020-05-02 17:24:45 +02:00
Nicolas Werner
dad2de7ba2
Add support for db migrations
2020-05-02 16:44:50 +02:00
Nicolas Werner
e6fcccc8bd
Don't store pending receipts in cache
...
We don't get notified for every message. Sometimes we only get a read
receipt for the newest message, which means old read receipts accumulate
in the database. This least to some considerable CPU overhead, when
checking if the timeline should be notified for new read receipts.
Instead just always notify, since that has far less overhead in the
worst case and doesn't need complicated cache cleanup.
The old pending_receipts db is not removed for now. It should still have
minimal storage overhead and we don't have a good mechanism for cache
format upgrades atm.
2020-04-30 22:42:56 +02:00
Nicolas Werner
2022775dd0
Clear notifications when event is read
2020-04-11 01:09:47 +02:00
Nicolas Werner
95272ce4ab
Try to fix avatars not updating after deletion
2020-03-22 20:43:45 +01:00
Adasauce
309461dcba
total + first member shows as one too many room members
...
i was confused when a room with me and two friends showed as "user1" and
3 others.
2020-03-02 21:30:19 -04:00
Nicolas Werner
b80697b072
Fix encrypted messages being pinned to the bottom after read marker fix
2020-02-28 19:29:43 +01:00
Nicolas Werner
1eb2869fa8
Fix stuck unread messages by storing state events in the db
...
This may increase the db size by a factor of 1000 in the worst case and
it will need some fixes, when we decide to not show some events in the
timeline, but it should work for now.
2020-02-24 01:07:25 +01:00
Nicolas Werner
62b962cb44
Improve read status handling in room list
...
Only consider the room as unread, if there is a message in the room and
only consider message and sticker events as messages.
fixes #65
2020-02-23 22:48:54 +01:00
Nicolas Werner
6bdc75d073
Reset user colors on theme change (in qml timeline)
2020-02-20 20:51:07 +01:00
DeepBlueV7.X
275d4dfed9
Fix integer overflow of cachesize on windows
2020-02-05 15:35:04 +01:00
Nicolas Werner
bd3b6aefb4
Remove even more headers
2020-01-31 16:36:58 +01:00
Nicolas Werner
127fb9370b
Remove metatypes from headers
2020-01-31 16:08:30 +01:00
DeepBlueV7.X
0d6a65af07
Try to lower map size
...
Maybe this fixes the 1mb map size in my windows test environment?
2020-01-17 01:25:43 +01:00
Nicolas Werner
3bbd034781
Fix transitive dependencies on iostream
2019-12-23 05:22:03 +01:00
Nicolas Werner
79f967da8c
Reduce Cache.h includes further via one forward declaration
2019-12-15 03:34:37 +01:00
Nicolas Werner
5fc1f3bd67
Reduce overhead of Cache.h
2019-12-15 02:56:04 +01:00
Nicolas Werner
935727864a
Increase max cache size and remove const from lmdb constants
...
fixes compilation issues with last released lmdb++
2019-12-14 23:41:54 +01:00
Nicolas Werner
13df852479
Reduce some include of Cache.h since it needs 11s on average
2019-12-14 23:40:32 +01:00
Nicolas Werner
659e36b113
Update to c++17
2019-12-14 18:59:38 +01:00
Nicolas Werner
52056a79fa
Try to reduce memory usage by reusing avatar pixmaps
2019-08-26 08:51:56 +02:00
Joseph Donofry
89015b9f18
Fix SIGNAL SLOT issue on mtx types
2019-08-19 20:44:58 -04:00
Joseph Donofry
8d04236fbd
Fix build issues w/ clang
2019-08-19 18:54:17 -04:00
Joseph Donofry
52a2621776
Fix issues with caching and loading of mentions.
...
Mentions are now loaded from the cache instead of
directly from the web request. Mentions are also
properly saved to the cache now (instead of as empty
strings). Still lots of tweaks left on this feature.
2019-08-12 22:09:40 -04:00
Joseph Donofry
7c7889a04d
Fix linting issues w/ the last commit
2019-08-09 23:36:45 -04:00
Joseph Donofry
3f563e1e6e
Cache User Mentions
...
Cache user mentions when they are retrieved from the server.
This logic currently isn't being utilized by the UI. Additionally,
the app should use a 'since' value to only get mentions newer
than those stored in the DB, to avoid excessive web requests.
This will be implemented in a future commit.
2019-08-09 23:34:44 -04:00
Joseph Donofry
41dc420edd
Fix linting issues
2019-08-06 08:16:19 -04:00
Joseph Donofry
dbdaf35907
Cache user mentions
2019-08-05 23:00:07 -04:00
Joseph Donofry
175737c28b
Fix some linting issues
2019-07-04 13:18:32 -04:00
Nicolas Werner
713f9dbe89
Show room version in settings
2019-07-04 01:26:16 +02:00
Andrew Johnson
b5733b2737
Attempt to fix issue #19 by increasing the lmdb max_dbs setting.
2019-02-16 17:05:25 -08:00
redsky17
2ba51c821e
Update user colors to use Cache vs Utils
...
User colors are now stored in cache. This is consistent
with other similar variables. I think there's a bug
right now where it doesn't properly refresh colors
for the TimeLineItem when the theme is changed.
2019-01-26 02:55:07 +00:00
Victor Berger
18a98a7c1d
Display tags as sorting items in the community panel ( #401 )
2018-09-28 12:40:51 +00:00
Konstantinos Sideris
fc684f6571
Require login when the cache format changes (regression on #444 )
2018-09-21 14:43:52 +03:00
Konstantinos Sideris
1f3535bc43
Bump cache version due to incompatible changes
2018-09-16 11:19:53 +03:00
Konstantinos Sideris
9ad4aab657
Ignore sessions that cannot be parsed
2018-09-16 11:19:18 +03:00