Commit graph

2527 commits

Author SHA1 Message Date
Nicolas Werner
a55fc8e43b
Work around MSVC bug with structured bindings in lambdas
Causes error messages like:
error C3493: 'key_id' cannot be implicitly captured because no default capture mode has been specified
2022-10-02 02:06:09 +02:00
Nicolas Werner
b55b5a8321
Fix a few more warnings 2022-10-01 23:57:44 +02:00
Nicolas Werner
09babc91d2
Green is not Svg::green
fixes #1203
2022-10-01 23:57:44 +02:00
Nicolas Werner
42a23e1859
Reduce windows ci warnings 2022-10-01 19:05:44 +02:00
Nicolas Werner
22a6b8ddb4
Properly qualify fmt function
Otherwise it conflicts with C++20 fmt.
2022-10-01 18:05:49 +02:00
Nicolas Werner
944e369d50
Fix clazy 2022-10-01 16:30:20 +02:00
DeepBlueV7.X
f8724fdea8
Merge pull request #1198 from rnhmjoj/pr-green
Add green theme color, make "error" configurable
2022-10-01 13:45:26 +00:00
Nicolas Werner
b2b2932c98
Fix linting 2022-10-01 15:26:33 +02:00
Nicolas Werner
7ec842ba51
Replace some user visible mentions of spaces 2022-10-01 15:20:38 +02:00
rnhmjoj
f5d5bea840
Add green theme color, make "error" configurable 2022-10-01 10:59:17 +02:00
Nicolas Werner
78784babd1
Revert accidental animated image change 2022-09-30 04:03:39 +02:00
Nicolas Werner
c34c9f9035
Automatically switch to threading when replying 2022-09-30 03:43:42 +02:00
Nicolas Werner
88cbac1695
Basic threading support 2022-09-30 03:27:05 +02:00
Nicolas Werner
bffa0115d4
Make clazy happy 2022-09-28 17:47:41 +02:00
Nicolas Werner
2fde381a82
Merge branch 'v0.10.2-fixes' 2022-09-28 14:27:54 +02:00
Nicolas Werner
67bee15a38
Prevent the homeserver from inserting malicious secrets
Correctly verify that the reply to a secrets request is actually coming
from a verified device. While we did verify that it was us who replied,
we didn't properly cancel storing the secret if the sending device was
one of ours but was maliciously inserted by the homeserver and
unverified. We only send secret requests to verified devices in the
first place, so only the homeserver could abuse this issue.

Additionally we protected against malicious secret poisoning by
verifying that the secret is actually the reply to a request. This means
the server only has 2 places where it can poison the secrets:

- After a verification when we automatically request the secrets
- When the user manually hits the request button

It also needs to prevent other secret answers to reach the client first
since we ignore all replies after that one.

The impact of this might be quite severe. It could allow the server to
replace the cross-signing keys silently and while we might not trust
that key, we possibly could trust it in the future if we rely on the
stored secret. Similarly this could potentially be abused to make the
client trust a malicious online key backup.

If your deployment is not patched yet and you don't control your
homeserver, you can protect against this by simply not doing any
verifications of your own devices and not pressing the request button in
the settings menu.
2022-09-28 13:36:52 +02:00
Nicolas Werner
8985c2d1d4
Fix infinite loop that can be triggered by some invalid html 2022-09-28 12:03:04 +02:00
Nicolas Werner
051c25d5b8
Allow editing permissions in spaces recursively 2022-09-28 02:09:04 +02:00
Nicolas Werner
0752f9477e
Fix infinite loop that can be triggered by some invalid html 2022-09-27 22:02:41 +02:00
Nicolas Werner
851333a50d
Switch to clang-format14 2022-09-25 20:05:08 +02:00
Nicolas Werner
79ce60382a
Fix crash when deleting room summary
Since this is used across different threads, we have to delete it on the
event loop.

Thank you, q234rty, for the help with debugging this.
2022-09-24 10:36:26 +02:00
Nicolas Werner
ce2d4defde
Try to handle rate limiting 2022-09-23 15:47:25 +02:00
Nicolas Werner
efb9970178
Switch to C++20 2022-09-22 20:18:04 +02:00
Nicolas Werner
b629455fab
Rename groups 2022-09-21 00:03:25 +02:00
Nicolas Werner
421b15c05c
Show the community of a room 2022-09-20 21:26:46 +02:00
Nicolas Werner
fc0baa86b0
Fix const iteration 2022-09-19 21:57:25 +02:00
Nicolas Werner
fe403ddc70
Rework how access rules for rooms are modified completely 2022-09-19 21:39:37 +02:00
Nicolas Werner
cd08a130c6
Make emoji escaping less aggressive 2022-09-16 15:17:48 +02:00
Hiers
8071b192b8
Line to indicate first unread message (#1147)
* First draft of unread line feature.

* Minor visual fix.

* Removed unnecessary ternary operator.

* Extended unread line functionality to work on minimised window or focusing another window.

* Fix for unread line not showing when last read message is hidden.

* Minor performance improvement. Fix for misbehaving event2order DB at application start.

* Fix for possible performance issues when user has joined a large number of rooms.

* Fix for breaking macos and clazy builds.

* Changed on windows focus function to refresh unread line if room is unread.

* Unread line is removed when user sends a message.

* Linting.

* Fixed unread line to work in standalone room windows.

* Switch isRoomUnread for index 0.

* Merged try/catch blocks.

* Fix for crash on opening a room invite.

* Call fullyReadEventId function when used instead of storing it and passing it through.

* Function that was meant to sync the unread line was relying on an async function, oops.

* Linting again.

* More linting...

* Minor changes.
2022-09-11 23:05:20 +00:00
Forest
80f7683a57 Control logging via command line and environment variables
Nheko is very chatty in its log output, generating log noise (which
complicates diagnostics) and needless disk writes (which affect power
consumption and SSD life).  This patch introduces command line options
and environment variables to control log levels and output type.

The old --debug command line option still works, at least for now.
It is overridden by the new command line options when they are used.

Partially addresses #665.
2022-09-10 18:28:44 -07:00
Nicolas Werner
a014b2f8d6
Fix crash on empty private read receipts being received
fixes #1180
2022-09-06 20:25:52 +02:00
Nicolas Werner
1d7575036e
Allow creating spaces 2022-09-05 02:00:20 +02:00
Nicolas Werner
c6bf1e6508
Attribute values can contain slashes 2022-09-04 18:14:14 +02:00
Nicolas Werner
e144c5741f
Implement space stickers & emoji 2022-09-01 13:25:11 +02:00
Nicolas Werner
01fd5e6b61
Unset the transient parent on separate chat windows
relates to #1168
2022-08-31 20:44:21 +02:00
Nicolas Werner
130e1b43fb
Fix empty widgets still being shown 2022-08-30 22:05:33 +02:00
Nicolas Werner
57f505c486
Fix invalid userids on profile requests 2022-08-30 15:40:33 +02:00
Nicolas Werner
732b82c04d
Allow summary tag 2022-08-20 23:45:38 +02:00
Nicolas Werner
ff87bef030
Fix inline image escape order 2022-08-18 22:05:47 +02:00
Nicolas Werner
08b304eccf
Break http images and implement barebones spoiler support when not in mobile mode
see #1042
see #483
2022-08-17 01:35:40 +02:00
Forest
a4bd65ee1e Grammar fix: Group's sidebar -> Groups sidebar 2022-08-15 21:49:57 -07:00
Nicolas Werner
b51ad45dc2
Make member search case insensitive 2022-08-13 18:13:42 +02:00
Nicolas Werner
1cfbac4c92
Fix crash when device has no keys to verify 2022-08-13 18:01:16 +02:00
Nicolas Werner
242b7d5506
Fix crash when fetching global profile 2022-08-13 16:28:41 +02:00
Nicolas Werner
9570c3ccc4
Enable encryption for DMs when started from the profile 2022-08-13 15:51:04 +02:00
Nicolas Werner
9714486447
Hide uneditable spaces from menu 2022-08-10 00:28:23 +02:00
Nicolas Werner
376612e4eb
Support editing space children 2022-08-10 00:20:44 +02:00
Nicolas Werner
f14c192231
Fix c&p error on room names in previews 2022-08-08 22:54:36 +02:00
Nicolas Werner
cd289e0587
Fix macos shadowing 2022-08-05 22:10:22 +02:00
Nicolas Werner
9d8d6b4bca
Show a room preview in the join confirmation dialog
Requires MSC3266

Fixes #1129
2022-08-05 21:57:54 +02:00