Commit graph

2966 commits

Author SHA1 Message Date
Loren Burkholder
0096226aeb Implement unknown msgtype functionality 2023-04-08 18:59:17 -04:00
Nicolas Werner
1a97a36dd2
Try to reset unread marker if we fail to set it on the server 2023-04-05 01:49:11 +02:00
Nicolas Werner
d7af10f06d
Fix switching between thread showing stale messages in some circumstances 2023-04-04 20:25:41 +02:00
Nicolas Werner
e21100cf17
Get rid of an edge case, that can break pagination 2023-04-04 19:40:37 +02:00
Nicolas Werner
5557b949e1
Allow querying your status message over dbus
Contributed by a Nheko user starting with S.
2023-03-31 01:59:56 +02:00
Nicolas Werner
164de9c21c
Allow for # in fragments because some clients send matrix.to links like that 2023-03-31 01:29:18 +02:00
DeepBlueV7.X
5de730830a
Merge pull request #1411 from dtelsing/screenshare-xdg-desktop-portal
Support screen sharing with xdg-desktop-portal
2023-03-30 23:07:39 +00:00
Ryan Schmidt
7018d05f4d
Fix build on case-sensitive filesystems 2023-03-30 11:53:37 -05:00
David Elsing
90b8542a2e Include missing <optional> header 2023-03-30 17:36:40 +02:00
David Elsing
c8402b156b Change text of the PipeWire streenshare method 2023-03-30 17:36:40 +02:00
David Elsing
c3081ece40 Cleanup Qt D-Bus connections and watchers 2023-03-30 17:36:40 +02:00
David Elsing
7f98cd0133 Use mtx::client::utils::random_token for XDP session tokens 2023-03-30 17:36:40 +02:00
David Elsing
2aadc7c2c4 Improve choosing screen share type 2023-03-30 17:36:40 +02:00
David Elsing
562a71a5f3 Add missing license headers 2023-03-30 17:36:40 +02:00
David Elsing
1ba6a4d78d Support screen sharing with xdg-desktop-portal 2023-03-30 17:36:40 +02:00
Nicolas Werner
c543b2d4fa
Improve state event redaction 2023-03-26 23:37:28 +02:00
Nicolas Werner
d7c10ae904
Fix explicit optional construction on gcc13 2023-03-24 19:49:10 +01:00
Nicolas Werner
3f27a45ef2
Fix encrypted thumbnails 2023-03-22 21:01:40 +01:00
Nicolas Werner
7d5c0b7822
All around me are empty spaces 2023-03-20 21:26:49 +01:00
Nicolas Werner
807bbd8f40
Optimize event accessors a bit 2023-03-20 02:28:13 +01:00
Nicolas Werner
eb1a900ed2
Reduce db writes a bit 2023-03-19 20:29:10 +01:00
Nicolas Werner
fafb9cc4a6
Don't try to load emotes from space parents we are not in 2023-03-19 14:04:13 +01:00
DeepBlueV7.X
9ad3f3f4fb
Merge pull request #1404 from LcsTen/dont-show-private-rooms-in-space
Don't show inaccessible private rooms in spaces
2023-03-18 14:02:03 +00:00
LcsTen
b3b5b6b374 Check isPreviewFetched property for hints 2023-03-18 13:07:08 +01:00
Nicolas Werner
234ac79acc
Update spaces events automatically in the background 2023-03-14 18:16:08 +01:00
Nicolas Werner
9891b6bffe
Speed up writes of events with statekeys to state db 2023-03-14 18:16:08 +01:00
Nicolas Werner
703a07fb7d
Speed up processing UI changes with large syncs 2023-03-14 18:16:08 +01:00
Nicolas Werner
4bf6e58511
Evaluate ACLs when calculating vias 2023-03-14 18:16:08 +01:00
Nicolas Werner
3c950ce26a
Make via implementation closer to the spec 2023-03-14 18:16:00 +01:00
LcsTen
f186e56121 Show an appropriate hint if the room is inaccessible 2023-03-11 13:19:04 +01:00
LcsTen
9bd7f98528 Don't show inaccessible private rooms in spaces 2023-03-11 13:19:04 +01:00
DeepBlueV7.X
7d8ccd4ce8
Merge pull request #1388 from Nheko-Reborn/command
Warn if an invalid command is entered
2023-03-10 00:17:06 +00:00
DeepBlueV7.X
94c34a6e58
Merge pull request #1394 from Nheko-Reborn/uiTweaks
Some small UI changes
2023-03-09 23:06:30 +00:00
Loren Burkholder
04a26a5f43
Update src/Utils.cpp
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2023-03-09 13:04:53 -08:00
Nicolas Werner
3b8a1f85e6
Fix avatar change being rendered as a join 2023-03-09 21:51:22 +01:00
Loren Burkholder
3b3d9dff83 Only enlarge emoji if the setting is on 2023-03-09 15:36:15 -05:00
Loren Burkholder
b266185ce8 Handle incomplete commands better 2023-03-07 19:17:26 -05:00
Loren Burkholder
2dc7492456 make lint 2023-03-01 18:04:36 -05:00
Loren Burkholder
9616ee51b3 Use QSet<QString> instead of QStringList 2023-03-01 18:01:02 -05:00
Loren Burkholder
ec8820ac64 Fix some nitpicks 2023-03-01 17:04:17 -05:00
Loren Burkholder
0df306e68b Make emoji larger in the timeline by default 2023-02-28 20:47:03 -05:00
Loren Burkholder
cf06ce846a make lint 2023-02-28 20:40:22 -05:00
Loren Burkholder
24d401365e Always open the invite dialog properly from the member list 2023-02-28 20:40:22 -05:00
Loren Burkholder
b4f8d4947f Simplify code a bit 2023-02-28 20:10:25 -05:00
Loren Burkholder
22ac5d861e Move command calculation logic into InputBar 2023-02-28 20:10:25 -05:00
Loren Burkholder
b6ef00b5ee Show warning when invalid command is entered
Fixes #1363

Please note that this doesn't prompt when you try to send a message with a bad command.
2023-02-28 20:10:25 -05:00
Nicolas Werner
9399e68fda
Fix bug that prevented storing member events in the same database as the rest 2023-02-25 23:47:24 +01:00
Nicolas Werner
0839c64150
Disable qml diskcache by default
Since this causes crashes on some qml module updates.

Fixes #1383
Fixes #1132
2023-02-25 01:47:38 +01:00
DeepBlueV7.X
952afc8e59
Merge pull request #1389 from Nheko-Reborn/deletions
Delete some unneeded stuff
2023-02-24 17:39:03 +00:00
Loren Burkholder
5540ba34c7 Delete some unneeded stuff 2023-02-23 23:10:23 -05:00
Nicolas Werner
aae3300860
Show rooms you share with someone 2023-02-24 02:40:14 +01:00
Nicolas Werner
d46a67f64b
Reenable the nosync options for the database
fixes #1355

So far we haven't seen any reduction in issues about database
corruption, so presumably this is unrelated and the lag is annoying.
2023-02-23 21:34:55 +01:00
Klemens Nanni
dc1fb1b454
Honour Qt scaling factor on OpenBSD
Instead of completing the list of Linux, Windows and the BSDs (NetBSD and
DragonFly would still be missing), simply flip it to not-macOS to simplify
and fix the two other aforementioned BSDs at once.
2023-02-23 09:14:31 +04:00
Klemens Nanni
63c17d78cb
Recognise OpenBSD on login page 2023-02-23 09:14:31 +04:00
Klemens Nanni
f13543c272
fix build/clear notifications on exit on OpenBSD
CMake builds ManagerLinux.cpp on `!MAC && !WIN`, that is BSD and Linux.
Fix the Linux-only assumption in the shared header.

Qt's `Q_OS_UNIX` is defined on Linux, BSDs and macOS alike.
2023-02-23 08:11:01 +04:00
Nicolas Werner
22ed465679
Merge branch 'v0.11.2-next' 2023-02-23 01:36:53 +01:00
Nicolas Werner
d27e42dec6
Hotfix redundant null terminator inserted by emoji completer 2023-02-23 00:50:45 +01:00
Nicolas Werner
5164c2c5e8
Dedup reactions 2023-02-22 00:03:55 +01:00
Nicolas Werner
96f791daf1
Get rid of year in license headers
See also:
https://daniel.haxx.se/blog/2023/01/08/copyright-without-years/
https://hynek.me/til/copyright-years/
2023-02-21 23:48:49 +01:00
Nicolas Werner
a11b1221a3
Switch to upstream olm error code 2023-02-21 02:21:31 +01:00
Nicolas Werner
d9dd4a3934
Fix forwarding stickers
fixes #1182
2023-02-20 01:18:06 +01:00
Nicolas Werner
ac4c9e024e
More template bloat reduction 2023-02-20 01:04:49 +01:00
Nicolas Werner
a1c4889339
Remove a few more unused symbols 2023-02-19 23:17:21 +01:00
Nicolas Werner
7833566cdb
Fix gcc10 again. Remove this once we stop supporting gcc10 2023-02-19 22:33:02 +01:00
Nicolas Werner
e9f4298418
Fix gcc10 compat 2023-02-19 21:54:45 +01:00
Nicolas Werner
920409e914
Reduce code bloat a bit
Especially the emoji array shrinks a lot with this, but adds a few extra
relocations on startup. But it removes a lot of exception handling code
at runtime, which is nice and possibly this is still faster.
2023-02-19 21:38:28 +01:00
Nicolas Werner
20740c9976
Automatically fetch keys for undecrypted messages after verification
Also fix rerendering edited messages after keys are received.

fixes #1375
fixes #770
fixes #888
2023-02-18 03:08:23 +01:00
Nicolas Werner
05727b8a45
Fix edits in other clients jumping out of threads
fixes #1373
2023-02-18 01:33:10 +01:00
Nicolas Werner
60606133cb
Fix build on macOS 2023-02-15 23:44:50 +01:00
Nicolas Werner
2f23a7d86f
Fix linting 2023-02-14 22:06:33 +01:00
Nicolas Werner
58f5ba5023
Make scrollbars optional and disabled by default
Also add them to the communities sidebar
2023-02-14 22:01:00 +01:00
Loren Burkholder
787febdca2 Pause video when switching rooms
Fixes #809
2023-02-14 09:15:56 -05:00
DeepBlueV7.X
dedc3cb1f8
Merge pull request #914 from Thulinma/imageOverlayRoleQml
Make ImageOverlay set appropriate windowRole again
2023-02-11 20:06:57 +00:00
Nicolas Werner
b2175d044f
Remove some commands from the translations 2023-02-11 12:34:26 +01:00
phyto
4481b2518b
Standardise command format messages 2023-02-11 10:48:11 +01:00
Thulinma
7ffae002a5 Make ImageOverlay set appropriate windowRole again 2023-02-10 18:01:47 +01:00
Nicolas Werner
36e5ef1a1f
Fix build without voip 2023-02-08 21:22:15 +01:00
Nicolas Werner
fc7937c73d
Fix required plugin check on gstreamer 1.22
GStreamer 1.22 merged the videoscale plugin into the videoconvertscale
plugin. So we should check if the Element is still loadable instead of
checking the plugin name.

fixes #1352
2023-02-08 00:54:02 +01:00
Nicolas Werner
ad4ea02547
Add a reduced motion option
fixes #1350
2023-02-06 13:56:23 +01:00
Nicolas Werner
0ab566dc4b
lint and avoid copy 2023-02-02 01:26:42 +01:00
Nicolas Werner
a320fc6f7a
lint 2023-02-02 01:21:23 +01:00
DeepBlueV7.X
539db70fd5
Merge pull request #1341 from Decodetalkers/ft_clean_notify
clean all notifications if exit on linux
2023-02-02 01:07:16 +01:00
Lukas Mai
b9517e588b Allow nested ()/[] brackets in URLs (fixes #1346) 2023-02-01 21:14:14 +01:00
Nicolas Werner
7734c4735a
Make notifications show the window again
fixes #1329
2023-02-01 18:24:25 +01:00
ShootingStarDragons
0e2cc65548 chore: Adjust about function closeAllNotification
Log: maek closeAllNotification on all platform, move
closeAllNotification action to aboutToQuit
2023-02-01 09:58:46 +08:00
Nicolas Werner
ee5b33978a
Optimize user model construction by 2.5x 2023-01-31 21:05:23 +01:00
Nicolas Werner
0c3d46795b
Make single newlines cause a <br> by default
This should match what people expect from a chat application much
better. The biggest reason not to do this, is because some people might
paste markdown documents. For those people there is now a /cmark
command, which disables most of our extensions to cmark, including the
newline behaviour. There is a long discussion on the Fediverse and on
Github linked below.

Mastodon https://fosstodon.org/@deepbluev7/109771668066978726
fixes #757
2023-01-31 18:22:12 +01:00
Nicolas Werner
9f529075f0
Uncoditionally request keyframes 2023-01-31 18:02:35 +01:00
Malte E
5ed3bfc8f8
add user search to invite dialog (#1253) 2023-01-31 16:59:49 +00:00
ShootingStarDragons
919ec2a5e3 feat: clean all notifications if exit on linux 2023-01-29 13:46:00 +08:00
DeepBlueV7.X
3abb49c4a2
Merge pull request #1319 from Decodetalkers/menuhideonwayland
feat: hide all popup menus when press leftbutton on somewhere else
2023-01-28 12:15:54 +01:00
Nicolas Werner
872b00807f
Make newline behave consistently in markdown mode
by always sending as formatted when a newline is in the body
2023-01-28 10:50:39 +01:00
Nicolas Werner
ec3ba352c0
Support strikethrough via ~~ 2023-01-28 10:36:47 +01:00
ShootingStarDragons
e84e2b0aaa chore: remove button check 2023-01-28 17:10:45 +08:00
Nicolas Werner
47e3257963
Get rid of shadowing even if the shadowing there is probably the safer solution 2023-01-28 09:04:36 +01:00
Nicolas Werner
60b1a595e1
Support simplified spoiler input using || tags
relates to #1231
2023-01-28 08:51:33 +01:00
Nicolas Werner
213bcf0de6
Fix br tags 2023-01-27 14:03:54 +01:00
ShootingStarDragons
c893dfd102 chore: limit it to linux wayland 2023-01-26 20:34:38 +08:00
Joseph Donofry
d511814caf Fix free-ing invalid pointer in call devices. From Jason Volk <jason@zemos.net> 2023-01-23 16:34:24 -05:00
ShootingStarDragons
7d95ac23ce feat: hide all popup menus when press leftbutton on somewhere else
Log: according to the bug on https://bugreports.qt.io/browse/QTBUG-83972, The menu will always stay if not click one of the item. So I try to make a hack for it, wait qt solve it someday
2023-01-23 20:15:43 +08:00
Nicolas Werner
1d8fc18304
Warn when no secret can be requested 2023-01-22 05:31:33 +01:00
Jason Volk
0253aa59c7
Skip empty requests for cross-signing keys when user only has one device.
Cause: Request button pressed in user settings.

Result: Request body is jsNull; sendToDevice requires jsObject.
2023-01-22 05:26:10 +01:00
Nicolas Werner
7f9af9016d
Fix a few minor leaks (or just memory showing up as not freed in tools) 2023-01-22 05:02:10 +01:00
Nicolas Werner
4c34f4bfee
Work around multiple destructor calls after consteval construction in full expression
I have no idea, if this is our fault or not, but Jason traced it back to
the consteval on the {fmt} format string constructor.

Specifically when a consteval constructor call happens in the statement,
the destructor call is moved to the end of the block. Inside the switch
statement that means, the destructor is called multiple times, which
corrupts the use count and crashes Nheko because of a double free.

I am assuming this is a bug in clang, but this will need to be
investigated more.

fixes #1292
2023-01-21 20:45:32 +01:00
Joseph Donofry
8835040db6
Pause ParticleEmitter when not in use (#1284)
* Pause ParticleEmitter when not in use

* Use timer instead to pause particle system
2023-01-14 02:23:07 +01:00
Nicolas Werner
aff6ee3844
Remove dead code 2023-01-12 23:53:22 +01:00
Nicolas Werner
ba56c9f408
There was always supposed to be a failed state for events 2023-01-12 23:51:22 +01:00
Nicolas Werner
8a619d2fea
Bump mtxclient version 2023-01-12 03:03:55 +01:00
Nicolas Werner
0833b39781
Log registration flows 2023-01-12 03:02:24 +01:00
Nicolas Werner
2ca5f87cdf
Update supported Matrix version 2023-01-10 05:54:58 +01:00
Nicolas Werner
22495cd86a
Properly regenerate emoji using regional indicators
fixes #1245
closes #1246
2023-01-10 05:46:14 +01:00
Nicolas Werner
c5edd21e6b
Try to make clang-format happy 2023-01-09 05:00:22 +01:00
Nicolas Werner
008f71cdbd
Document Safari workaround 2023-01-09 04:53:14 +01:00
Nicolas Werner
6d8dabf623
Possibly fix paste from Safari 2023-01-09 04:49:53 +01:00
Nicolas Werner
b84bc7895e
Add some more error logging 2023-01-09 02:06:49 +01:00
Nicolas Werner
1d4b5e40a3
Make server connection errors more useful 2023-01-09 01:55:33 +01:00
Nicolas Werner
0b8709a0ea
Fix potential crash from the room directory 2023-01-08 02:32:40 +01:00
Nicolas Werner
fd949f0b83
Speedup quick switcher 2023-01-07 17:39:32 +01:00
Nicolas Werner
b2ccf766ba
Navigate to space when room is selected
fixes #1260
2023-01-07 01:39:08 +01:00
Nicolas Werner
f3b7919a53
Fix crash in migrations during secrets deletion
We need to block the migrations returning until the migrations are done.

Fixes #1258
2023-01-07 01:09:36 +01:00
Nicolas Werner
3a6a905429
A whole new year full of excitement and possibilities! 2023-01-02 04:25:33 +01:00
Nicolas Werner
5f315d8a3c
Fix pagination after timeline clear 2023-01-02 04:21:26 +01:00
Nicolas Werner
114fa0868a
Skip notifying for your own messages 2022-12-28 21:57:57 +01:00
Nicolas Werner
79a2efd25a
Finish german translation 2022-12-28 20:49:42 +01:00
Nicolas Werner
2577c93bb6
Revert storing members in statesdb for now 2022-12-27 16:19:59 +01:00
Nicolas Werner
01915360b4
Fix state reset command 2022-12-27 16:15:49 +01:00
Nicolas Werner
f98b289ba2
Show invite reason in the UI (hidden by default) 2022-12-27 01:40:25 +01:00
Joseph Donofry
cc89a36f46 Fix formatting issues 2022-12-20 17:16:18 -05:00
Joseph Donofry
a2e120a8a3 Add 'clear' button to search bar and implement search indicator via spinner 2022-12-20 16:34:55 -05:00
Nicolas Werner
d4336b56d6
Make unfiltered messages hidden by default 2022-12-19 05:19:22 +01:00
Nicolas Werner
0597041d8e
Fix searching more past again 2022-12-19 03:47:30 +01:00
Nicolas Werner
b314f41f6b
Fix searching past the end 2022-12-19 03:42:43 +01:00
Nicolas Werner
51cbe0f6d8
Add some documentation for how the background filtering works 2022-12-19 03:30:54 +01:00
Nicolas Werner
561085ef9d
Make searching incremental to allow some userinteraction still 2022-12-19 03:24:22 +01:00
Nicolas Werner
e8e475956b
Fix confetti in the sidebar 2022-12-17 01:11:19 +01:00
Nicolas Werner
1a9f7860d4
Fix sending confetti 2022-12-16 17:24:52 +01:00
Nicolas Werner
eefa6379f9
I don't see why this would have detached, but make clazy happy 2022-12-13 23:47:08 +01:00
Nicolas Werner
8356746ea4
Fix image cache pruning interval 2022-12-13 06:05:29 +01:00
Nicolas Werner
95d898e09d
Add cache pruning for old image files 2022-12-13 06:02:07 +01:00
Nicolas Werner
952827d629
Add a button to room the upgraded room in the timeline 2022-12-13 05:08:22 +01:00
Loren Burkholder
fa0c14b846
confetti (#1243)
* 🎉 (confetti) message support.  Thanks @LorenDB !
2022-12-10 10:17:15 -05:00
Nicolas Werner
283d6361e8
Properly check for target room encryption 2022-12-07 12:47:03 +01:00
Nicolas Werner
59703d3c25
Implement MSC3664, pushrules for related events 2022-12-05 18:39:47 +01:00
Nicolas Werner
f440b41195
Fix stack overflow when filtering timeline 2022-11-22 19:18:10 +01:00
Nicolas Werner
5b929c9d1a
Enable http/3 support 2022-11-20 03:51:58 +01:00
Joseph Donofry
802ba78fea
Only play macOS notification sounds when pushrules dictate it 2022-11-15 19:04:38 -05:00
Nicolas Werner
3576589ea7
Fix crash in slash completer 2022-11-09 16:38:17 +01:00
Nicolas Werner
485babba14
Implement a completer for commands
fixes #429
2022-11-09 04:59:06 +01:00
Nicolas Werner
725b5e0383
Try to fix clang-tidy 2022-11-06 04:02:14 +01:00
Nicolas Werner
537fa437e2
Store secrets (apart from the pickle key) in the database 2022-11-06 03:36:56 +01:00
Nicolas Werner
1f77e1c810
Prompt before deleting the database 2022-11-06 01:06:41 +01:00
Loren Burkholder
b622604c47 Bump micro version 2022-11-05 16:38:12 -04:00
DeepBlueV7.X
a81aaa182a
Merge pull request #1222 from Nheko-Reborn/dbusStatus
Add status message to D-Bus API
2022-11-05 18:32:17 +01:00
Loren Burkholder
de3cdd590f Add status message to D-Bus API 2022-11-05 13:13:18 -04:00
LordMZTE
9a15b0ea20
Move invert enter key setting 2022-11-04 23:53:36 +01:00
LordMZTE
80270e1f01
Add invert enter key setting 2022-11-04 23:42:35 +01:00
Joe Donofry
a6f53699f5 Merge branch 'macos_notification_actions' into 'master'
Add ability to respond to notifications on macOS

See merge request nheko-reborn/nheko!21
2022-11-04 16:42:09 +00:00
Joe Donofry
07e8f64903 Add ability to respond to notifications on macOS 2022-11-04 16:42:09 +00:00
Nicolas Werner
76347f1c6f
Continue fetching past messages when searching 2022-11-03 23:26:59 +01:00
Nicolas Werner
40ac55ddd9
Highlight higlight tweaks in the timeline
fixes #400
fixes #1136
2022-11-01 23:26:21 +01:00
Nicolas Werner
231bebba44
The hybris of committing a line without linting 2022-11-01 21:26:31 +01:00
Nicolas Werner
54931cb21b
Optimize fetching olm session from the db 2022-11-01 21:19:58 +01:00
Nicolas Werner
676a6506cb
Speedup sending encrypted messages after metasync was reenabled
Calling fsync everytime we save to the db is slow, which is actually
fairly noticeable in some larger E2EE rooms. Speed that up slightly by
batching the olm session persisting.
2022-11-01 20:58:01 +01:00
Nicolas Werner
d8669ccf3d
Turn metasync and sync back on for the database to account for bad filesystems 2022-10-28 01:43:06 +02:00
Nicolas Werner
48ecc2b45a
fix blurry thumbnails 2022-10-27 22:53:21 +02:00
Nicolas Werner
9a90f8868f
lint 2022-10-26 01:14:46 +02:00
Nicolas Werner
b28fa86e6a
Enable -Wconversion 2022-10-26 01:10:35 +02:00
Nicolas Werner
e9a0f0a89e
Fix previews getting sorted above normal rooms 2022-10-22 21:39:29 +02:00
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