Commit graph

2871 commits

Author SHA1 Message Date
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
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
Nicolas Werner
62b3b461ec
Fix comparison for glare algorithm 2022-06-12 19:09:07 +02:00
Nicolas Werner
00740a7e65
Properly handle glare when verifying 2022-06-12 17:53:17 +02:00
Nicolas Werner
9649c20fc6
Add some logging to dock 2022-06-05 16:26:31 +02:00
d42
0e02024084
Unread messages count as an Unity compatible badge (#1085)
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2022-06-05 11:51:29 +00:00
Nicolas Werner
c742e545d2
Fix unnecessary detatch in for loop 2022-05-27 17:21:42 +02:00
Nicolas Werner
6c6d43691d
Add basic powerlevel editor 2022-05-27 17:01:58 +02:00
Nicolas Werner
ac5e3fe3e8
Send images on enter if input bar is empty 2022-05-23 12:32:04 +02:00
Nicolas Werner
c792fd28b1
Fix unsigned wraparound when creating one time keys 2022-05-21 15:21:14 +02:00
Nicolas Werner
28ff6fa484
Fix bad format string 2022-05-19 22:08:27 +02:00
Nicolas Werner
d2561b0512
Use newer libolm 2022-05-14 02:23:52 +02:00
Nicolas Werner
a2d3990f90
Fix stopping the fallback removal timer starter 2022-05-14 01:56:53 +02:00
Nicolas Werner
0a65019242
Add support for fallback keys 2022-05-14 01:42:56 +02:00
Nicolas Werner
908f62159a
Properly mark image node as dirty on size update 2022-05-11 12:28:27 +02:00
Nicolas Werner
90da39313f
Use right linter 2022-05-10 03:53:35 +02:00
Nicolas Werner
a6b2be112b
More image dialog fixes 2022-05-10 03:20:09 +02:00
Nicolas Werner
8f6ed458a6
Add mtxclient to logging 2022-05-08 01:35:35 +02:00
Nicolas Werner
a0f722f2a4
Fix header order... 2022-05-07 20:36:38 +02:00
Nicolas Werner
9910244f6b
Fix potential crash when opening separate rooms 2022-05-07 20:27:25 +02:00
Nicolas Werner
87070289fd
Activate window that already has the room open if possible 2022-05-07 19:12:30 +02:00
Nicolas Werner
62bf1b253e
Rework focus handling 2022-05-07 18:53:16 +02:00
Nicolas Werner
803bc8cf76
Fix notification for focus room in main window 2022-05-07 13:06:16 +02:00
Nicolas Werner
21584cd91d
fix indentation 2022-05-07 11:14:28 +02:00
Nicolas Werner
db1bcd7b5a
Show powerlevels in memberlist 2022-05-07 02:30:16 +02:00
Nicolas Werner
535ad22b7d
Fixup some small emoji things 2022-05-06 16:14:47 +02:00
Nicolas Werner
d4b7712a66
Merge branch 'master' of https://github.com/TheDrawingCoder-Gamer/nheko into TheDrawingCoder-Gamer-master 2022-05-06 15:41:51 +02:00
Nicolas Werner
b75ef07896
Add basic support for multiple windows 2022-05-06 00:36:53 +02:00
Nicolas Werner
e4f8d32a72
Don't crash on corrupt animated images 2022-05-04 08:26:24 +02:00
TheDrawingCoding-Gamer
ba57b01b9d
Fix triumph mapping 2022-05-01 14:55:40 -04:00
BulbyVR
4129d58b6d
Change name to codepoint 2022-04-27 12:45:45 -04:00
Nicolas Werner
a0526044ef
Fix scaling of animated images in fullscreen image viewer 2022-04-26 16:46:38 +02:00
BulbyVR
97105ebc5f More codes and rules 2022-04-24 12:25:01 -04:00
BulbyVR
64882fd6de Unhardcode qml 2022-04-24 12:25:01 -04:00
BulbyVR
876645544c forgot to lint 2022-04-24 12:25:01 -04:00
BulbyVR
b629882793 Properly add regional indicators, with ZWNJ 2022-04-24 12:25:01 -04:00
BulbyVR
209865e882 Add more aliases, start on regional indicators 2022-04-24 12:25:01 -04:00
BulbyVR
22f90874cc Forgot linting 2022-04-24 12:25:01 -04:00
BulbyVR
79ed520d59 Allow search with unicode names 2022-04-24 12:25:01 -04:00
BulbyVR
dabde88e1c Remove sequences of _ 2022-04-24 12:25:01 -04:00
BulbyVR
90b88eb592 Keep old codes alongside new ones
Signed-off-by: BulbyVR <26726264+TheDrawingCoder-Gamer@users.noreply.github.com>
2022-04-24 12:25:01 -04:00
BulbyVR
79399d8118 Run make lint
Signed-off-by: BulbyVR <26726264+TheDrawingCoder-Gamer@users.noreply.github.com>
2022-04-24 12:25:01 -04:00
BulbyVR
7d3a98af67 Add transforms and shortcodes to emoji
Signed-off-by: BulbyVR <26726264+TheDrawingCoder-Gamer@users.noreply.github.com>
2022-04-24 12:25:01 -04:00
Nicolas Werner
eeb48749ae
Fix filtering without using regex 2022-04-23 14:53:36 +02:00
Nicolas Werner
8c66945be9
Don't use deprecated filterRegExp 2022-04-23 03:06:00 +02:00
Nicolas Werner
a8a3df23ab
Fix use of deprecated QRegExp in MemberList filter 2022-04-23 03:01:43 +02:00
Loren Burkholder
6672e765d7
Search room members (#1049) 2022-04-22 23:59:40 +00:00
DeepBlueV7.X
c637989ac0
Merge pull request #1054 from tastytea/image-pack-changes/pack-id
Show pack Id for image pack changes in timeline
2022-04-22 23:45:34 +00:00
Nicolas Werner
f7ffaac63d
Fix PLs for DMs 2022-04-20 16:50:27 +02:00
tastytea
ffc5426e87
Show pack Id for image pack changes in timeline
Show either pack name, state key or (empty).
2022-04-20 09:41:18 +02:00
Nicolas Werner
3b2f47c56f
Show changes in image packs in timeline 2022-04-19 22:33:53 +02:00
Nicolas Werner
a2da4b6df3 Fix linting 2022-04-18 18:54:32 +02:00
Loren Burkholder
da6b3eb8f4
D-Bus fixes (#1048)
According to LorenDB's First Law of Software Development, once a developer has committed or merged a new feature, he will find at least one problem with the implementation.

I realized that I was constructing the room info items with some parameters out of order, which required a rather urgent fix. Furthermore, I fixed the image decoding algorithms in the QDBusArgument operator. Finally, I switched the API version parameter back to QString, since passing it as a QVersionNumber would create a problem for non-Qt API users.

On the general improvements side of things, I added some handy wrappers for D-Bus calls so that other devs that copy the NhekoDBusApi files to use for their own applications won't have to go to the effort of making the D-Bus calls themselves.
2022-04-18 16:50:15 +00:00
Nicolas Werner
01019450cf Fix grayscale bug AGAIN 2022-04-16 13:30:59 +02:00
Joseph Donofry
f688e15379 Fix cursor not being closed before txn was committed 2022-04-14 19:23:12 -04:00
Nicolas Werner
c3efab43fb Cleanup some random dbus stuff 2022-04-14 17:33:28 +02:00
Loren Burkholder
686ebfdbec
Add D-Bus API (#916)
This adds functionality for viewing joined rooms and activating rooms.
2022-04-14 15:02:55 +00:00
Nicolas Werner
060a03e055 Fix accidental shadowing 2022-04-13 20:49:33 +02:00
Nicolas Werner
0a405a7446 Store notification counts across restarts 2022-04-13 20:40:00 +02:00
Nicolas Werner
3ea8a1d452 fix lint 2022-04-10 22:48:16 +02:00
Marcel
a8810ad016
Add specific powerlevel messages (#852)
fixes #136
2022-04-10 20:44:15 +00:00
Nicolas Werner
864b4b2646 Fix SSSS if another client used the wrong base64 format 2022-04-08 05:11:24 +02:00
Nicolas Werner
cf38e6974a Fix typo in key export 2022-04-08 03:33:00 +02:00
Nicolas Werner
f316dbed43 Fix a few issues with receiving to_device messages in initial sync 2022-04-08 03:24:10 +02:00
Nicolas Werner
66b7ff639c Remove sender key from megolm session index
implements MSC3700

see https://github.com/matrix-org/matrix-spec-proposals/pull/3700
2022-04-08 01:53:00 +02:00
DeepBlueV7.X
747fe6408d
Merge pull request #1036 from Nheko-Reborn/fixCreateDirectChat
Don't treat a space as a direct chat
2022-04-03 01:17:42 +02:00
Loren Burkholder
3bb00aa96c Don't treat a space as a direct chat 2022-04-02 19:07:20 -04:00
Apurv404
9eddee75ca Fix room alias issue (#354) 2022-04-02 02:56:08 +05:30
Nicolas Werner
4e5e5d55eb
lint 2022-04-01 01:14:44 +02:00
Nicolas Werner
6f8babc80b
Allow knocking if join failed and via matrix uris 2022-04-01 00:58:01 +02:00
Nicolas Werner
6417dcd398
Fix leaving rooms 2022-03-31 23:34:01 +02:00
Nicolas Werner
a59b3147a6
Add reasons to everything
fixes #1030
2022-03-30 23:40:12 +02:00
Nicolas Werner
c91f91d5d3
Add /knock command 2022-03-30 21:15:22 +02:00
Nicolas Werner
0d9a3ff4cd
Fix cursor moving to the end when editing in the middle 2022-03-30 07:02:52 +02:00
Nicolas Werner
9e2789a16d
Remove a few unused variables 2022-03-30 06:53:55 +02:00
Nicolas Werner
656fcac91c
Don't use a modal to edit room name and topic 2022-03-30 06:45:31 +02:00
Nicolas Werner
82cdb483a9
Fix arrow keys 2022-03-30 06:24:23 +02:00
Nicolas Werner
afe381e9b1
Remove unused ToggleButton 2022-03-30 02:14:59 +02:00
Nicolas Werner
14f7fe282f
Cleanup some unused code 2022-03-30 02:07:32 +02:00
DeepBlueV7.X
f9e294ce0c
Merge pull request #1019 from maltee1/qml_createroom
CreateRoom dialog in QML
2022-03-29 20:54:45 +02:00
Nicolas Werner
6d1416fb6e
Add backend for new room creation dialogs 2022-03-29 20:51:18 +02:00
Nicolas Werner
6f0260d59f
Avoid empty membership events 2022-03-28 21:41:16 +02:00
Malte E
af17e4f8c0 run lint 2022-03-26 22:28:31 +01:00
Malte E
838cf63578 direct chat creator can now create direct chats 2022-03-26 22:25:48 +01:00
Nicolas Werner
7256c70108
Fix crash on missing pack description 2022-03-25 18:40:27 +01:00
tastytea
179ae53b40
Don't send thumbnails that are larger than the original
- Set PNG compression to maximum
- Don't upload thumbnail if it is not at least 10% smaller than  the
  original
2022-03-24 20:13:12 +01:00
Nicolas Werner
637db55e08
Default body to shortcode if unset and sending sticker 2022-03-22 19:45:25 +01:00
Nicolas Werner
922c63ef27
Add a default filename for clipboard pastes again 2022-03-22 18:28:35 +01:00
Nicolas Werner
447a3d4cb9
Try to improve thumbnailing on macOS 2022-03-22 18:12:39 +01:00
Nicolas Werner
30ba387076
Fix thumbnails of received encrypted images 2022-03-22 04:32:11 +01:00
Nicolas Werner
96aacf8068
Small fixes to video thumbnailing 2022-03-22 01:21:08 +01:00
DeepBlueV7.X
15c946207a
Merge pull request #1009 from tastytea/reword-extprog-tooltip
Reword tooltip for Open{Image,Video}External
2022-03-22 00:27:44 +01:00
Nicolas Werner
c87af215e1
Actually pass the mimetype we intended 2022-03-21 23:19:18 +01:00
Nicolas Werner
e52f90a941
Properly fix image uploads without image/* format 2022-03-21 23:15:09 +01:00
Nicolas Werner
5734641778
Fix potential crash if there is no image format pasted 2022-03-21 22:54:44 +01:00
tastytea
a622ba4abc
Reword tooltip for Open{Image,Video}External 2022-03-21 13:34:08 +01:00
Nicolas Werner
a9486ec896
Fix thumbnails for encrypted files and factor upload box out 2022-03-21 05:49:12 +01:00
Nicolas Werner
dbd2bebe6c
Show some previews in upload window 2022-03-21 05:05:29 +01:00
Nicolas Werner
830f4d4942
Please clazy 2022-03-21 01:35:47 +01:00
Nicolas Werner
3aeeed49a9
Also stop audio player 2022-03-21 01:32:31 +01:00
Nicolas Werner
3beed3508a
Thumbnail video 2022-03-21 01:24:53 +01:00
Nicolas Werner
fd83858715
Add duration and resolution to files 2022-03-21 00:48:27 +01:00
Nicolas Werner
d3471a1097
Move uploads to InputBar 2022-03-20 22:49:33 +01:00
Nicolas Werner
c84e15f7eb
Shuffle around user settings 2022-03-20 04:42:50 +01:00
DeepBlueV7.X
dda1bcd3c1
Merge pull request #1001 from duarm/master
options to open images/videos with external program by default
2022-03-20 04:30:54 +01:00
Malte E
d765305595 properly commit preedit text 2022-03-19 22:30:35 +01:00
math
4a0f009ed9 warn about implications of toggling external option 2022-03-19 13:20:39 -03:00
math
88d86405f8 add option to open video with external program by default 2022-03-19 02:31:43 -03:00
math
74a4e36f90 add option to open image with external program by default 2022-03-19 01:54:02 -03:00
Nicolas Werner
e98145daec
Fix key upload when doing SSO login 2022-03-13 17:59:35 +01:00
Nicolas Werner
b19d9caba6
Sort known UIA flows first 2022-03-13 01:17:51 +01:00
tastytea
a7388a70be
Use standard buttons where possible
Standard buttons are ordered in the right way and sometimes have an
icon.

Bug: https://matrix.to/#/%23nheko%3Anheko.im/%2476PZ2m6YftX8mqGIe9ettKbh_-pEYeVRQSJBfwFzWi0?via=pixie.town&via=matrix.org&via=matrix.flexinos.tech&via=half-shot.uk
2022-03-11 13:15:26 +01:00
Nicolas Werner
1a7409876e
Enable online key backup by default 2022-03-10 20:46:06 +01:00
Nicolas Werner
ac1d678254
Fix server switching to https after bootstrap
fixes #878
2022-03-07 05:27:06 +01:00
tastytea
083562a7d8
Add GUI for specifying kick/ban reason
This replaces the are-you-sure dialog and also shows up when using
/-commands.

Closes: https://github.com/Nheko-Reborn/nheko/issues/239

# Previous commits:
#   e390c398 Allow to specify reason for removed message
#   5949173b Add function to force focus on InputDialog input field
#   9482ac4e Allow explicit selection of SSO method
#   ab05e2d8 Mobile message input (#962)
2022-03-06 19:58:12 +01:00
tastytea
e390c39862
Allow to specify reason for removed message
# Previous commits:
#   5949173b Add function to force focus on InputDialog input field
#   9482ac4e Allow explicit selection of SSO method
#   ab05e2d8 Mobile message input (#962)
#   12a6da01 If you replace the txn id, replace a string the length of the txn id...
2022-03-06 19:58:12 +01:00
Nicolas Werner
9482ac4e7a
Allow explicit selection of SSO method
fixes #975
2022-03-06 19:51:17 +01:00
Nicolas Werner
12a6da012a
If you replace the txn id, replace a string the length of the txn id... 2022-03-05 19:38:13 +01:00
Nicolas Werner
c76cda0cbe
Set font properly
When setting the default font, actually set the default font. When
setting a different font, change the application font.

fixes #801
fixes #232
fixes #224
2022-03-05 03:34:29 +01:00
Eldred Habert
21e8338d78
Remove extraneous comma
Achtung!
2022-03-02 23:11:28 +01:00
Eldred Habert
210066a4f7
Fix incorrect capitalization of "circle"
Anyone German in the room, or is it just me? ;3
2022-03-02 22:58:59 +01:00
Eldred Habert
6c6c1a88cd
Fix missing plural "messages" 2022-03-02 22:58:06 +01:00
Nicolas Werner
d8d8662a42
Remove unused headers 2022-03-02 20:39:46 +01:00
Nicolas Werner
a307dc46cb
Remove stray logging 2022-02-27 06:47:00 +01:00
Nicolas Werner
8e20139079
Allow properly editing pending encrypted messages 2022-02-27 06:43:45 +01:00
Nicolas Werner
9f5b647fb3
Fix editing pending messages 2022-02-27 06:43:45 +01:00
DeepBlueV7.X
3dfcc4145d
Merge pull request #952 from symphorien/hidden-read-receipts
support for hidden read receipts
2022-02-22 16:30:23 +00:00
Pablo Barciela
910da20547 WebRTCSession: avoid deprecated 'gst_element_get_request_pad' 2022-02-21 20:13:19 +01:00
Guillaume Girol
05f7e47a9f support for hidden read receipts 2022-02-21 12:00:00 +00:00
Nicolas Werner
ff4334d59e
Don't leak dialogs
It seems that you need to manually destroy created objects... Great...

fixes #898
2022-02-21 05:01:01 +01:00
Malte E
1c8a5c645d
Add sender names to state events (#948)
* add sendernames to state events

* Center state events and make them less tiny
2022-02-21 00:39:32 +00:00
DeepBlueV7.X
fd25f6ee91
Merge pull request #934 from pavlukivan/master
use shortcode as a fallback for custom emote title
2022-02-21 00:27:22 +00:00
DeepBlueV7.X
b90e39ecb4
Prefer empty() over length() 2022-02-21 00:27:01 +00:00
Nicolas Werner
46fbb0e749
Use ListView without scrollview for messages
That way we can autohide the scollbar if needed, it should fix some
jumping issues, it makes it possible to flick on mobile, etc.

Some related bugs:

https://bugreports.qt.io/browse/QTBUG-75223
https://bugreports.qt.io/browse/QTBUG-44902
2022-02-19 21:45:43 +01:00
Nicolas Werner
e077bdbdd5
Allow window sizes smaller than 400x400 2022-02-14 22:56:35 +01:00
Nicolas Werner
ddcd4850f1
Merge branch 'message-bubbles' of https://github.com/maltee1/nheko into maltee1-message-bubbles 2022-02-14 15:43:17 +01:00
Nicolas Werner
1bc986fd3b
Prevent old verification requests from showing up 2022-02-14 15:25:55 +01:00
Malte E
414257bf0e fix bugs found by Nico 2022-02-14 14:03:17 +01:00
Malte E
c70fe9c571 let lint fix the code formatting 2022-02-13 13:22:29 +01:00
Malte E
987b9bed6b add small avatars option and tweak colors and spacings 2022-02-13 13:12:51 +01:00
Nicolas Werner
3e958ea382
Fix setting emoji font 2022-02-12 23:07:04 +01:00
Ivan Pavluk
2a2ef2f2e5 use shortcode as a fallback for custom emote title
Some clients (e.g. FluffyChat) don't have a UI for specifying the emote
title, and instead use the shortcode as the title. This sets the title
accordingly even if the emote was added through such a client and only
has a shortcode.
2022-02-13 04:51:11 +07:00
Nicolas Werner
47b822604d
Hidden events: Refactor slightly for reusability 2022-02-12 19:48:53 +01:00
tastytea
7ebced29e9
Hidden events: Make reusable read function 2022-02-10 00:48:36 +01:00
tastytea
72cfb06208
Hidden events: Some cleanup 2022-02-10 00:48:35 +01:00
tastytea
49b313e3b8
Hidden events: Make save-function reusable for global account data 2022-02-10 00:48:35 +01:00
tastytea
f0bb64030e
Hidden events: Incorporate suggestions from review
- Set TitleHint flag on dialog
- Store hidden events as QSet<QString> instead of std::vector<bool>
- Change wording in dialog (disable events instead of turning the hiding
  on)
2022-02-10 00:48:35 +01:00
tastytea
5cd3e61cb0
Add GUI to change hidden events per room
This adds a dialog to the room settings in which the user can choose
which of these three event types they want to hide (additionally to the
default):

  - m.room.member
  - m.room.power_levels
  - m.sticker

The current state is read when room settings are opened and saved when
new settings are accepted.
2022-02-10 00:48:35 +01:00
Nicolas Werner
dfb8f9a160
Fix application name on Wayland in flatpak
fixes #903
2022-02-09 23:46:49 +01:00
Malte E
12d600db97 add translations and actually add changes to TimelineModel 2022-02-07 21:53:37 +01:00
Malte E
9d194cc2e6 clean up margin setting 2022-02-05 21:53:21 +01:00
Malte E
f5a693ac03 place metadata below message when the Layout is narrow (<350) 2022-02-05 14:12:51 +01:00
Nicolas Werner
409bfa8c9d # should be valid in links 2022-02-05 09:27:16 +01:00
Nicolas Werner
b3221b09d6 Add /reset-state command 2022-02-05 08:40:56 +01:00
Nicolas Werner
1dacf327e1 Fix avatar url conversion for widgets 2022-02-04 23:33:00 +01:00
Malte E
3f7c15c7af Add message bubbles 2022-02-04 23:12:30 +01:00
Nicolas Werner
7b00411dc4 Show widgets as links 2022-02-04 20:48:14 +01:00
DeepBlueV7.X
00116e8128
Merge pull request #906 from LorenDB/offlineIndicator
Add offline indicator
2022-02-04 07:13:53 +01:00
Nicolas Werner
112426e30b Fetch previews for space children using /hierarchy 2022-02-02 19:03:01 +01:00
Loren Burkholder
5bed3684ec Add offline indicator (#472) 2022-02-01 23:39:22 -05:00
Nicolas Werner
fcefdb7ca6
split point is pointless 2022-01-31 21:47:23 +01:00
Nicolas Werner
eae43782a3
Do word splitting in completer 2022-01-31 21:36:22 +01:00
Nicolas Werner
3c208cd717
Remove unused funtion 2022-01-30 20:25:30 +01:00
Nicolas Werner
2613275461
Reimplement error notifications 2022-01-30 19:14:33 +01:00
Nicolas Werner
b4278ffaa8
Remove a few unused includes 2022-01-30 13:31:39 +01:00
Nicolas Werner
f44d8e916b
Remove a few now unused files 2022-01-30 13:16:36 +01:00
Nicolas Werner
392a4be858
Fix centering dialogs 2022-01-29 19:07:27 +01:00
Nicolas Werner
1d6d9e65af
Store window size on exit again 2022-01-29 18:10:42 +01:00
Nicolas Werner
909c11d2bb
Get rid of some shadowing 2022-01-29 18:03:25 +01:00
Nicolas Werner
c5c892b873
Remove unnecessary qml engine shutdown workaround 2022-01-29 17:41:14 +01:00
Nicolas Werner
f7fd43e3f2
Connect quit 2022-01-29 17:38:59 +01:00
Nicolas Werner
2e7d26bcc0
Fix secrets not loading after registration 2022-01-29 17:27:28 +01:00
Nicolas Werner
f28013dc18
Port registration to Qml 2022-01-28 15:24:56 +01:00
Nicolas Werner
573624a490
Remove some unused functions 2022-01-26 21:44:13 +01:00
Nicolas Werner
4a80fdc951
Functional login page 2022-01-26 21:44:13 +01:00
Nicolas Werner
aaae72a4f2
Fix focus and qml parenting with qml root 2022-01-26 21:44:13 +01:00
Nicolas Werner
b106eafb0e
Initial qml root window 2022-01-26 21:44:13 +01:00
Nicolas Werner
9a2e07cbce
Fix gray scale images breaking notifications on dunst
Fixes #907
2022-01-26 21:43:55 +01:00
Ayushi Bisht
6aaaa777c6 Fixed a grammatical error 2022-01-18 12:42:50 +05:30