Nicolas Werner
74128cf8bd
Fix excessive summary calls
2022-10-20 01:01:18 +02:00
Rohit Sutradhar
ac48c33286
VoIP v1 implementation ( #1161 )
...
* Initial commit for VoIP v1 implementation
* Added draft of event handlers for voip methods
* Added event handlers for VoIP events, added rejectCall, added version tracking for call version for V0 and V1 compatibility
* Added call events to the general message pipeline. Modified Call Reject mechanism
* Added message delegates for new events. Modified hidden events. Updated handle events.
* Updated implementation to keep track of calls on other devices
* Fixed linting
* Fixed code warnings
* Fixed minor bugs
* fixed ci
* Added acceptNegotiation method definition when missing gstreamer
* Fixed warnings
* Fixed linting
2022-10-14 13:49:05 +00:00
Nicolas Werner
8a4bb32b4a
Add toggle to disable decrypting notifications
2022-10-13 18:19:46 +02:00
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
rnhmjoj
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
Nicolas Werner
42b53817e0
Fix users with @room in the name pinging the whole room when replied to
2022-07-05 12:57:17 +02:00
Nicolas Werner
678806749d
Add a /command to redact all visible messages sent by a user
2022-07-01 10:24:12 +02:00
Nicolas Werner
7198cee85e
Fix crash on empty user cache stored
2022-07-01 09:14:17 +02:00
Loren Burkholder
e2e5e4926e
make lint
2022-06-29 22:05:47 -04:00
Loren Burkholder
885a790b1f
Simplify space notification options
2022-06-29 22:04:37 -04:00
Loren Burkholder
7cbde0712f
Allow muting spaces; other general improvements
2022-06-29 22:04:37 -04:00
Loren Burkholder
4428e0e0b8
make lint
2022-06-29 22:04:37 -04:00
Loren Burkholder
7e9646cc25
Add notifications to all sidebar items
2022-06-29 22:04:37 -04:00
Loren Burkholder
f03c506bdf
Inform Qt that loud notifications changed
2022-06-29 22:04:37 -04:00
Loren Burkholder
863eaa1910
Add space notification configuration
2022-06-29 22:04:37 -04:00
Loren Burkholder
e446e3d679
Add loud notifications for spaces
2022-06-29 22:04:17 -04:00
Loren Burkholder
169384f0fa
Add space notifications to room list
2022-06-29 22:02:20 -04:00
Loren Burkholder
e7c24b094f
Fix typoed variable name
2022-06-29 22:00:09 -04:00
Loren Burkholder
2df2046d1d
Display unread notifications for spaces
2022-06-29 22:00:09 -04:00
Nicolas Werner
b6bbbdeae7
Fix bad timestamps being stored for room infos
2022-06-28 23:18:36 +02:00
q234rty
7a29531739
Fix blurriness of svg icons ( #1108 )
2022-06-28 12:14:23 +00:00
Nicolas Werner
3256d9bafe
Fix clazy complaint about detatch
2022-06-28 13:33:46 +02:00
brausepulver
98de51042a
Get large avatar images as scale and crop locally ( #1107 )
...
Resolves #1069
The Matrix spec requires servers to provide thumbnails at (96x96, crop) and (320x240, scale) among others. [1] The avatars in Nheko's global/room profile and room settings are sized 130x130 on normal scaling and 260x260 on 2x scaling like on a HiDPI device. In both cases the avatar is requested as cropped and that way displayed at 96x96, making it look blurry.
This can be solved by requesting scaled avatars rather than cropped where appropriate, and cropping to the requested size afterwards.
HiDPI can be simulated in Qt by setting QT_SCALE_FACTOR=2.
[1] https://spec.matrix.org/v1.3/client-server-api/#thumbnails
2022-06-26 18:32:43 +00:00
Nicolas Werner
1145610694
Fix timestamps after loading
2022-06-26 01:48:16 +02:00
Nicolas Werner
dc4a06517c
Add an option to define new power levels
2022-06-26 00:09:00 +02:00
Nicolas Werner
c25aeac4ca
Fix linting
2022-06-25 18:07:55 +02:00
Nicolas Werner
5772447874
Require matrix v1.1 or greater
2022-06-25 16:16:54 +02:00
Nicolas Werner
6e97f3da06
Refresh last message when paginating backwards
2022-06-25 14:05:52 +02:00
Nicolas Werner
dc4fbd167e
Fix linting
2022-06-24 01:55:32 +02:00
brausepulver
09c646d3fa
Add copy link to room context menu ( #1101 )
2022-06-23 23:44:50 +00:00
Jason Volk
a7ee6e96ba
Fix multiple weak symbols from private object destructor (-Wstringop-overflow).
2022-06-23 12:48:44 -07: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
07228d336a
Support the knock_restricted rule
2022-06-18 00:17:24 +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
b0c353c550
Remove remaining groups code
2022-06-17 19:51:08 +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
beb59d5d2e
Simplify includes a bit
2022-06-16 01:19:26 +02:00
Nicolas Werner
f8e6c9c53c
Speedup provider compilation
2022-06-16 00:49:12 +02:00
Nicolas Werner
81d4285580
Fix settings groups not being terminated properly on logout
...
fixes #1094
2022-06-15 22:36:16 +02:00
DeepBlueV7.X
835fcf6325
Merge pull request #1095 from syldrathecat/subtle-paste-fixes
...
Subtle corrections to paste behaviors
2022-06-15 14:31:46 +00:00
Nicolas Werner
9e14218bc6
Fix failed uploads not removing uploads
...
fixes #1098
2022-06-15 15:55:03 +02:00
Nicolas Werner
3eafd4396e
Fix pins not refreshing after being loaded
2022-06-15 15:36:58 +02:00
Nicolas Werner
bcc6c518be
Fix edits not updating in replies
2022-06-15 15:24:07 +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
SyldraTheCat
8a6acd1d86
Subtle corrections to paste behaviors
2022-06-14 12:04:34 +00:00
Nicolas Werner
6e1fec1e63
Update hidden read receipts MSC
2022-06-14 00:35:28 +02:00
Nicolas Werner
9b2a98b595
Fix C++20 compatibility
2022-06-13 11:12:41 +02:00
Nicolas Werner
bd9946bff9
Fix height attribute for emotes
2022-06-13 11:12:21 +02:00
Nicolas Werner
f3ff56692e
Fix crash on logout (why did that line vanish?!?)
2022-06-12 19:39:36 +02:00