Commit Graph

2595 Commits

Author SHA1 Message Date
Nicolas Werner 37009906bb
Evaluate push rules locally 2022-10-13 17:55:07 +02:00
Nicolas Werner af699eb83e
Mark classes as final where possible 2022-10-10 14:38:45 +02:00
Nicolas Werner 4002b1ecf1
Properly propagate pack usage to UI
We can't have a pack that is neither sticker nor emoji. Which is why
none defaults to both on. That wasn't propagated to the UI, which made
the interaction very confusing. It also made some states unsettable,
since you can't turn anything off from the none state.

fixes #1152
2022-10-09 02:14:31 +02:00
Nicolas Werner 30fde1f8ac
Don't send avatars over dbus by default
This should reduce payload size a lot
2022-10-09 00:56:02 +02:00
Nicolas Werner 7e0ea12ebb
Update to unicode 15 and make script jinja:3 compatible 2022-10-08 00:27:57 +02:00
Nicolas Werner a4524cd9af
Fix date separator 2022-10-07 11:11:07 +02:00
Nicolas Werner f1c1f18f81
Add a slow way to search a room 2022-10-06 22:02:26 +02:00
Nicolas Werner 857d9cf2b6
Basic thread filtering
The reply pagination logic is a bit weird rn though.
2022-10-06 16:16:24 +02:00
Nicolas Werner aed1440d26
Don't let old server lookups overwrite new ones 2022-10-05 19:20:22 +02:00
Nicolas Werner 005a4978bf
Update translations 2022-10-04 01:19:47 +02:00
Loren Burkholder 8ecbb39dc6
cppcheck stuff (#1200)
* cppcheck stuff

* Update src/ui/RoomSettings.cpp

Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>

* Update src/ui/RoomSettings.cpp

Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>

* Fix linting

Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2022-10-03 21:57:30 +00:00
DeepBlueV7.X 5e9eb845ab
Merge pull request #1202 from Nheko-Reborn/grammar
Grammar
2022-10-03 21:37:01 +00:00
Loren Burkholder e7d0344997
Fixed a crash in member list loading (#1199) 2022-10-03 21:26:32 +00:00
Nicolas Werner 33403d650a
Don't strip fallbacks on plain text bodies 2022-10-03 21:53:10 +02:00
Nicolas Werner b3c5f41625
Fix a few more windows warnings 2022-10-02 12:31:03 +02:00
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
Michele Guerini Rocco f5d5bea840
Add green theme color, make "error" configurable 2022-10-01 10:59:17 +02:00
Loren Burkholder 08aa383a62 Remove unnecessary emit 2022-09-30 00:24:43 -04:00
Loren Burkholder df834ffc48 Various grammar fixes (mostly removing commas) 2022-09-30 00:23:39 -04:00
Loren Burkholder e78d107558 Add link to repo to show where issues go 2022-09-30 00:04:50 -04: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
Joseph Donofry 213a28eee3
Add notification authorization for badges on macOS 2022-08-04 17:57:43 -04:00
Nicolas Werner a1968110d5
Fix notification format on windows
fixes #1137
2022-08-01 23:43:20 +02:00
Nicolas Werner db43743697
Fix too many fmt parameters 2022-07-30 16:47:55 +02:00
Nicolas Werner 3c480d47f1
Make code compile with hidden friends 2022-07-29 04:04:44 +02:00
Nicolas Werner d5a6a46bc5
Pass context object to properly disconnect when this is deleted 2022-07-23 13:55:53 +02:00
nenomius 5e99bace90 Do less work when building completion trie
Convert to lower case only once per string.
2022-07-23 13:33:36 +03:00
Nicolas Werner 904745543a
Verifications sneakily accumulating in the background 2022-07-22 11:46:37 +02:00
Nicolas Werner 0ad74590d4
Fix matrix.to link escaping
Properly escapes in replies and with unmatched [].

fixes #854
2022-07-20 14:05:10 +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
Nicolas Werner fd6742ec00
Fix crash on empty image packs 2022-07-18 18:24:36 +02:00
Nicolas Werner 761e90891f
Properly figure out entity that is controlled by policy rule 2022-07-17 01:20:20 +02:00
Nicolas Werner dd11188dff
Fix muting spaces 2022-07-16 12:03:03 +02:00
Nicolas Werner 415f097b9c
Add missing include 2022-07-16 04:09:52 +02:00
Nicolas Werner 7f3095c9d8
Fix subobject initialization 2022-07-16 03:53:13 +02:00
Nicolas Werner ada20253e7
Fix dm counts after restart 2022-07-16 03:49:41 +02:00
DeepBlueV7.X f62cb77680
Merge pull request #1062 from Nheko-Reborn/perSpaceNotifs
Per-space notification bubbles
2022-07-16 01:10:07 +00:00
Nicolas Werner 7b33d14277
Make notification count calculation more efficient 2022-07-16 03:07:00 +02:00
Nicolas Werner f76fd4ca83
WIP 2022-07-15 16:19:06 +02:00
r0hit05 4c8ce911bd Fixed formatting 2022-07-15 17:44:53 +05:30
r0hit05 a7bfaa4ef6 Updated call struct definitions 2022-07-15 17:20:05 +05:30
r0hit05 6663e5683d Updated call event namespaces to voip 2022-07-15 17:20:05 +05:30
Nicolas Werner aa63e50cea
Merge remote-tracking branch 'origin/perSpaceNotifs' into perSpaceNotifs 2022-07-14 01:26:48 +02:00
Nicolas Werner 9056ca8615
Use normal instead of recursive mutex 2022-07-11 16:52:05 +02:00
Nicolas Werner eeaf16e442
Fix race condition in dbus API 2022-07-11 15:14:30 +02:00
Nicolas Werner d5b06939fd
Fix aliases being duplicated in the aliases list in some cases 2022-07-11 14:23:12 +02:00
Nicolas Werner 6ead7b0ba2
Fix rooms failing to load over dbus if image can't be downloaded 2022-07-10 15:25:41 +02:00
Nicolas Werner 11fa4821aa
Support rendering policy rules 2022-07-09 15:36:28 +02:00
Nicolas Werner b516202a8c
Fix clazy warning 2022-07-09 00:42:44 +02:00
Nicolas Werner 931855441a
Allow editing aliases 2022-07-08 17:28:28 +02:00