Commit Graph

2595 Commits

Author SHA1 Message Date
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
Ayushi Bisht 8e8e46fe0a fixed a typo in Cache.cpp 2022-01-17 22:51:49 +05:30
Nicolas Werner c59bb67569
Fix setting double values in setting spinboxes 2022-01-13 05:52:31 +01:00
Nicolas Werner f51188df15
Add profile to notifications on KDE 2022-01-12 19:09:19 +01:00
Nicolas Werner 59bc8307c8
Address review comments 2022-01-11 04:12:42 +01:00
Nicolas Werner f1a23355bd
Port usersettings to qml 2022-01-09 01:02:25 +01:00
Nicolas Werner 8d52c17f29
Work around images with size 0 in info
fixes #875
2022-01-04 05:19:48 +01:00
Nicolas Werner 970ed56fa5
Fix presence db creation on servers without presence
fixes #873
2022-01-03 15:33:36 +01:00
Nicolas Werner 6d4ff70b48
Add minimum scale in image viewer 2022-01-03 04:00:21 +01:00
Nicolas Werner f14f978c48
Possibly fix crash on accepting invites
fixes #857
2022-01-03 03:57:57 +01:00
Joe Donofry d2af490202 Merge branch 'gstreamer_windows_macos' into 'master'
Gstreamer glib event loop for macos and windows

See merge request nheko-reborn/nheko!19
2022-01-02 21:15:10 +00:00
Joe Donofry 9033235e9d Gstreamer glib event loop for macos and windows
- This ensures that gstreamer bus operations work
on macOS and windows, such as enumerating devices.
2022-01-02 21:15:10 +00:00
Nicolas Werner 66520eae19
Port image overlay to qml
Allows you to zoom and pan now.

relates to #647
2022-01-02 21:46:29 +01:00
Nicolas Werner 7685d1808b
Strip variant selector in some cases
fixes #439
Workaround for https://bugreports.qt.io/browse/QTBUG-97401
fixes #810
2022-01-01 07:10:12 +01:00
Nicolas Werner a206500510
Use fully qualified emoji and use literals 2022-01-01 06:16:37 +01:00
Nicolas Werner 61404641d9
Update year in copyright notice to shut up lint job 2022-01-01 04:57:53 +01:00
Nicolas Werner 52a6105dc1
Update translations 2022-01-01 04:41:15 +01:00
Nicolas Werner 6f77a1fe9d
Use the styles default delay for tooltips
This makes them less annoying when scrolling or accessing the popup
menu.

See also #860
2021-12-31 00:48:55 +01:00
Nicolas Werner 750c64f323
Get rid of some useless code 2021-12-31 00:48:55 +01:00
Nicolas Werner 73012eb2d1
Add missing license headers 2021-12-30 06:20:10 +01:00
Nicolas Werner c5f4865ee6
Try to reduce CPU overhead of animated images a bit 2021-12-30 06:10:19 +01:00
Joe Donofry 459edcd71a Merge branch 'completer_scrolling' into 'master'
Completer scrolling

See merge request nheko-reborn/nheko!20
2021-12-30 04:46:30 +00:00
Joe Donofry c8ff44aa20 Increase Completer limit to 30
- Add scrolling
- Only display ~7 items at once
2021-12-30 04:46:30 +00:00
Nicolas Werner 9a9dbda571
Update presence dynamically and reduce allocations 2021-12-30 04:54:03 +01:00
Nicolas Werner 4428388b3f
Convert blurhash image format on worker thread
Not only should this prevent hickups, it also fixes a potential crash.
2021-12-30 02:25:47 +01:00
Nicolas Werner 203ddb20de
Fix crash after sending image caused by the recent refactor 2021-12-30 02:10:33 +01:00
Nicolas Werner b847623fbe
Reduce allocations and time spent creating delegates by half 2021-12-29 22:46:04 +01:00
Nicolas Werner 7cfb7dcea4
Reduce allocations for presence states a bit 2021-12-29 22:45:30 +01:00
Nicolas Werner 497c3df50e
Prevent copies when querying theme 2021-12-29 08:05:29 +01:00
Nicolas Werner f21bf5f97e
Cache supported animated image formats 2021-12-29 07:40:32 +01:00
Nicolas Werner 4d54876ea4
Pretty up code with fewer allocations 2021-12-29 07:04:30 +01:00
Nicolas Werner 271b111558
Reduce allocations for accessing event members 2021-12-29 07:02:32 +01:00
Nicolas Werner 0f4b482bb3
Remove a few casts 2021-12-29 06:10:08 +01:00
Nicolas Werner 19dc6cadea
Reserve size of some containers we are filling 2021-12-29 06:01:38 +01:00
Nicolas Werner 812e3b5f03
Reduce allocations required for the palette 2021-12-29 06:01:20 +01:00
Nicolas Werner d8ead9573b
Reduce allocations using QStringLiteral 2021-12-29 04:52:52 +01:00
Nicolas Werner a3c4ebc460
use more literals 2021-12-29 00:36:43 +01:00
Nicolas Werner f3e1941612
Add clazy to CI 2021-12-29 00:17:37 +01:00
Nicolas Werner 5743a6de04
Cleanup remaining clazy issues 2021-12-28 23:22:01 +01:00
DeepBlueV7.X e7664a43da
Merge pull request #855 from rnhmjoj/master
Make nheko usable without a secret storage service
2021-12-28 21:51:35 +00:00
Nicolas Werner 0e9b0c80cd
more cleanups 2021-12-28 22:36:49 +01:00
Nicolas Werner bb290f9fec
Fix more warnings and remove dead code 2021-12-28 22:30:12 +01:00
Nicolas Werner 409ff22d80
Remove unused button class 2021-12-28 20:14:42 +01:00
Nicolas Werner 5ca98829f7
Some qt6 prep 2021-12-28 20:09:08 +01:00
Nicolas Werner 2866826356
Misc clang-tidy fixes 2021-12-28 19:12:15 +01:00
Nicolas Werner 960cf2995e
Fixup clang-tidy suggestion 2021-12-28 18:44:26 +01:00
DeepBlueV7.X 5a21029423
Merge pull request #853 from MTRNord/MTRNord/clang-tidy
Apply selective clang-tidy suggestions
2021-12-28 17:36:20 +00:00
tastytea 850d139e3d
Make custom emoticons twice as high as the font. 2021-12-27 23:16:26 +01:00
tastytea 5ac1195402
MxcImageProvider: Only use scaledToHeight if width <= 0. 2021-12-27 22:59:51 +01:00
tastytea 7086e23bdd
Request inline images in the right size and anti-alias them
- If an inline image has specified a height, add parameters to the
  image:// URI.
- Add scaled to the parameters, the images would be cropped otherwise.
- Extract the height from image:// URI and use it for requestSize.
- Use scaledToHeight instead of scaled.
2021-12-27 22:47:51 +01:00
MTRNord 7b2f7e65fd Run linter 2021-12-27 20:49:27 +01:00
Nicolas Werner 7742f12f30
Use body in alt text of custom emoji 2021-12-27 19:08:13 +01:00
Michele Guerini Rocco 9363f0b7c7
Make nheko usable without a secret storage service
This change adds the ability to run Nheko without a secrets storage
service[1]. The secrets are stored in plaintext under the [secrets]
section of nheko.conf. Since this is a "I know what I'm doing" type
of feature, it's disabled by default and can only be enabled with an
hidden setting `run_without_secure_secrets_service=true`.

Fixes issue #705.

[1]: https://freedesktop.org/wiki/Specifications/secret-storage-spec
2021-12-27 10:45:46 +01:00
Nicolas Werner 0897e4c062
Fix inclusion condition for overriden pack types 2021-12-27 06:40:47 +01:00
Nicolas Werner ea6b19b307
Add an ugly custom emote completer using ~ 2021-12-27 06:23:36 +01:00
MTRNord 049613211a Apply (selective) Clang-tidy const function and new const pointer suggestions on TimelineModel 2021-12-23 02:55:25 +01:00
MTRNord a872bdf8c5 Apply (selective) Clang-tidy move and some new detected const pointer suggestions on TimelineModel 2021-12-23 02:46:33 +01:00
MTRNord 02fcd0e7cf Apply (selective) Clang-tidy and clazy suggestions on TimelineModel 2021-12-23 02:33:46 +01:00
Nicolas Werner eb1e54c8df
Make edits replace the previous notification on Linux 2021-12-22 00:18:56 +01:00
Nicolas Werner 1ea9dc469b
Use global threadpool 2021-12-21 15:57:46 +01:00
Nicolas Werner 8edc46dc16
Cleanup jdenticon code in the same way as blurhashes 2021-12-21 15:06:34 +01:00
Nicolas Werner 04cccb8283
Cleanup blurhash formatting 2021-12-21 12:34:52 +01:00
Nicolas Werner d424145ee4
Modernize blurhashprovider implementation
Might fix #844

See
https://code.qt.io/cgit/qt/qtdeclarative.git/commit/examples/quick/imageresponseprovider/imageresponseprovider.cpp?h=5.15&id=b1f238568214e6587b829d6695677e55a99b1d40
for context.
2021-12-21 12:17:12 +01:00
Nicolas Werner 6be752e163
Set the app_id on wayland 2021-12-19 22:54:50 +01:00
Nicolas Werner 9b25ef3c0d
Set notification category 2021-12-19 09:36:00 +01:00
Nicolas Werner c03e4c1261
Make Nheko show up in system notification settings on Linux
relates to #845
2021-12-19 09:35:59 +01:00
Nicolas Werner 09aded2bc8
Fix crash when receiving matrix uri
It seems like handling the message in a blocking manner is a no-go. I
have no idea how to fix that, so just use a queued connection for now...
(ASAN does not cooperate and just hides the crash D:)

fixes #842
2021-12-17 05:58:09 +01:00
DeepBlueV7.X 2ffd476e8f
Merge pull request #841 from LorenDB/qolImprovements
Quality-of-life improvements
2021-12-16 01:15:21 +01:00
Nicolas Werner 6d69248109
Strip space chars from recovery passphrase 2021-12-15 18:26:14 +01:00
Joseph Donofry cce5d0534f
Use icns on macOS 2021-12-14 17:05:48 -05:00
Loren Burkholder 45b150fb58 make lint 2021-12-13 19:08:54 -05:00
Loren Burkholder c09c0d35b8 Make opening room members from rooms settings dialog work 2021-12-13 19:08:54 -05:00
DeepBlueV7.X 0a3e647509
Merge pull request #835 from Thulinma/imagewindowrole
Added window role to image overlay
2021-12-14 01:02:47 +01:00
Nicolas Werner d46e517e3a
Only show room pack button, when you can actually create one 2021-12-13 23:25:42 +01:00
Nicolas Werner 9b9d4bec70
Fix turnserver check not being started when restoring from cache 2021-12-13 18:32:54 +01:00
Nicolas Werner bb600dd3d1
Show some avatar for image packs 2021-12-13 06:00:32 +01:00
Nicolas Werner dae032172d
Add recently used reactions
fixes #435
2021-12-13 00:43:05 +01:00
Nicolas Werner 89e58f78f1
Fix a few shadowing warnings
fixes #824
2021-12-11 06:19:54 +01:00
Nicolas Werner 75b112f0c8
Support pinned messages
fixes #519
2021-12-11 06:10:41 +01:00
Nicolas Werner cf31fff5fe
Fix blurry thumbnails AGAIN 2021-12-08 23:10:19 +01:00
Nicolas Werner 6367d94623
Fix lint 2021-12-08 02:44:58 +01:00
Nicolas Werner 07b5f0805f
Fix display of images, that can't be thumbnailed 2021-12-08 02:43:08 +01:00
Nicolas Werner 30791f7890
Get rid of threadpool for images 2021-12-08 02:43:03 +01:00
Nicolas Werner b2b9cccb5e
Fix a few clang tidy warnings 2021-12-06 22:22:37 +01:00
Thulinma 9996411d15 Added window role to image overlay 2021-12-05 12:08:43 +01:00
Nicolas Werner 6760397f6c
Fix sanitizer warning about signed shifts 2021-12-04 02:43:33 +01:00
Marcus Hoffmann a01bc14db6 InputBar: run clang-format 2021-12-03 01:54:43 +01:00
Marcus Hoffmann a9d8059fb2 InputBar: Mark some functions as [[nodiscard]]
This warns when you the return value of those functions isn't used.

Suggested-by: Clang-Tidy: Function X should be marked [[nodiscard]]
2021-12-03 01:37:00 +01:00
Marcus Hoffmann 9676b7709d InputBar: mark constrictor as explicit
Suggested-By:

Clang-Tidy: Single-argument constructors must be marked explicit to
avoid unintentional implicit conversions

More info: https://clang.llvm.org/extra/clang-tidy/checks/google-explicit-constructor.html
2021-12-03 01:37:00 +01:00
Marcus Hoffmann 8aa4a60d12 InputBar: use X.empty() instead of !X.size()
Suggested-by:

Clang-Tidy: The 'empty' method should be used to check for emptiness instead of 'size'
2021-12-03 01:37:00 +01:00
Marcus Hoffmann abcbcecac1 InputBar: use auto type
Suggested-by:

Clang-Tidy: Use auto when initializing with new to avoid duplicating the type name
2021-12-03 01:37:00 +01:00
Marcus Hoffmann 313bd649dd InputBar: use multi-arg string replacement
This could actually change the behaviour here (could, because I don't
know if we can hit this special case) but this should hopefully the
correct way of doing this.

There's some detailed explanation of the difference here:
https://doc.qt.io/qt-5/qstring.html#arg-14

> This is the same as str.arg(a1).arg(a2), except that the strings
> a1 and a2 are replaced in one pass. This can make a difference if
> a1 contains e.g. %1:

```
QString str;
str = "%1 %2";

str.arg("%1f", "Hello");        // returns "%1f Hello"
str.arg("%1f").arg("Hello");    // returns "Hellof %2"
```

Suggested-by:

Clazy: Use multi-arg instead
2021-12-03 01:37:00 +01:00
Marcus Hoffmann 02aa87590b InputBar: use character argument instead of string
Suggested-by:

Clang-Tidy: 'find' called with a string literal consisting of a
single character; consider using the more effective overload
accepting a character
2021-12-03 01:37:00 +01:00
Marcus Hoffmann 6d8d38490a InputBar: apply clang-tidy const reference suggestions
All suggested by:

Clang-Tidy: The parameter 'X' is copied for each invocation
but only used as a const reference; consider making it a const reference
2021-12-03 01:37:00 +01:00
Marcus Hoffmann abf4b3a0a3 InputBar: use QFileInfo::exists()
Suggested by:

Clazy: Use the static QFileInfo::exists() instead. It's documented to be faster.
2021-12-03 01:37:00 +01:00
Marcus Hoffmann 5441ea8840 InputBar: remove unused imports 2021-12-03 01:37:00 +01:00
Nicolas Werner b774a671da
Remember all the collapsed trees 2021-12-01 03:46:55 +01:00
Nicolas Werner aa5d2098d0
Don't waste space for non existing subspaces 2021-12-01 00:46:02 +01:00
Nicolas Werner 65152252a4
Leaves can't collapse 2021-12-01 00:24:57 +01:00
Nicolas Werner fe49beb68e
Hide me underneath the space tree 2021-12-01 00:04:01 +01:00
Nicolas Werner b505fa42d5
Fix crash on redactions without because 2021-11-29 14:55:40 +01:00
Nicolas Werner 6266c917c0
Cleanup error logging a bit 2021-11-29 06:20:43 +01:00
Nicolas Werner 6779f0e509
Delete rooms even if we fail to leave 2021-11-29 06:06:51 +01:00
Joe Donofry b920f8d7ca Change QML UI for redactions 2021-11-29 00:59:57 +00:00
Nicolas Werner bd020bb473
If the locale is set to C, force english locale
This fixes date formatting as well as count based translations.
2021-11-27 03:16:53 +01:00
Nicolas Werner c4ea429273
fix lint 2021-11-24 05:26:46 +01:00
Nicolas Werner ff502f306c
Initialize client lazily
This prevents a use after free in the coeurl logging, if we exit immediately.
2021-11-24 05:20:27 +01:00
Nicolas Werner 0f2faff4e7
Use a more random hash to generate user colors
Fixes an issue where most uses just had their color determined by their
username length and distributes the colors a bit more evenly.
2021-11-24 01:33:22 +01:00
Nicolas Werner a13f492e7d
Make clang-format <13 and clang-format >=13 behave the same
I think old clang-format is just buggy in those cases, so we should
reenable those blocks, once everyone has 13 or up.
2021-11-22 00:33:43 +01:00
DeepBlueV7.X b1092c0f2f
Merge pull request #822 from Nheko-Reborn/dm-filter
Add a filter for direct chats
2021-11-21 22:46:51 +01:00
Nicolas Werner 70592911a1
Return nullopt for state events in rooms we are not in 2021-11-21 20:10:43 +01:00
Nicolas Werner e7d4aec6ec
Only mark as direct, if invite was direct 2021-11-21 07:06:37 +01:00
Nicolas Werner 3d92e8ae60
Mark rooms as direct chats
Either by accepting an invite or manually using /converttodm and revert
with /converttoroom.
2021-11-21 06:13:45 +01:00
Nicolas Werner 4dc5b647c6
Pretty error printing 2021-11-21 06:10:24 +01:00
Nicolas Werner 5ef3250994
Add a filter for direct chats
fixes #317
2021-11-20 22:48:04 +01:00
Nicolas Werner 34a1b6267b
Make user colors a bit more vibrant 2021-11-19 23:58:20 +01:00
Nicolas Werner b439e1fa41
Preliminary gstreamer 1.20 compatibility
The transceiver was made private in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241

The direction property was added here:
28b0be4036
2021-11-19 18:19:16 +01:00
Nicolas Werner 57fb0d79f9
Fix colors and alignment in dialogs 2021-11-18 22:33:45 +01:00
Loren Burkholder 8830ce25d1 Don't add a user twice 2021-11-16 18:40:48 -05:00
Loren Burkholder b1c1274d96 Allow removing users from the invite dialog 2021-11-16 18:40:48 -05:00
Loren Burkholder f3aeb4b044
Switch icon theme to Fluent icons 2021-11-17 00:37:26 +01:00
DeepBlueV7.X be53fd9b00
Merge pull request #812 from Nheko-Reborn/jdenticon-packaging
Jdenticon packaging
2021-11-15 14:29:06 +01:00
Nicolas Werner 61d2d1c665
Support exif rotation on received videos
fixes #674
2021-11-15 03:36:30 +01:00
Nicolas Werner 715e2244b4
Cleanup qt-jdenticon loading 2021-11-15 01:23:15 +01:00
Nicolas Werner 0a6ac211f1
Fix being dropped into an empty room after a join 2021-11-14 22:39:42 +01:00
Nicolas Werner d26fe37010
Disallow displaynames with only spaces or control characters 2021-11-14 17:37:19 +01:00
Nicolas Werner 38e3498978
Prevent edits from removing quotes at the beginning of a message 2021-11-13 03:21:42 +01:00
Nicolas Werner b0530089ab
Fix some colors switched to yellow by accident 2021-11-13 03:21:42 +01:00
Nicolas Werner 1ab4d35579 Merge branch 'video_player_enhancements' into 'master'
Video player enhancements

See merge request nheko-reborn/nheko!15
2021-11-12 00:19:25 +00:00
Nicolas Werner d6f4f3a647
Fix secrets status not shown after startup 2021-11-11 21:40:23 +01:00
Nicolas Werner a99eff7c0c
Fix SSO login showing password prompt 2021-11-11 20:20:15 +01:00
Nicolas Werner f9362c75cf
Fix no replies being rendered for edits sent from Element in encrypted rooms 2021-11-11 00:41:21 +01:00
Joseph Donofry c68c8de74f
Merge remote-tracking branch 'nheko-im/master' into video_player_enhancements 2021-11-09 18:34:40 -05:00
Nicolas Werner d11fcb0ff6
Fix parsing some exotic image packs 2021-11-09 20:22:02 +01:00
Joseph Donofry c93a7b2435
Merge remote-tracking branch 'nheko-im/master' into video_player_enhancements 2021-11-08 18:32:19 -05:00
Nicolas Werner c4c13a1da9
Fix redaction of edited messages 2021-11-08 19:32:14 +01:00
Nicolas Werner ff560a09f5
Improve fetching of device keys after login 2021-11-08 17:01:22 +01:00
Nicolas Werner 809be93e20
Fix self verification status never updating 2021-11-07 21:27:58 +01:00
Nicolas Werner 7de24a4271
Don't try to load verification status before db is ready 2021-11-07 20:27:56 +01:00
Nicolas Werner 5ca1fb18bb
Move away from using an event loop to access secrets
Fixes messages in room flickering and being stuck

fixes #760
relates to #770
relates to #789
2021-11-07 03:52:57 +01:00
Nicolas Werner d112d6b11f
Fix crash when clearing empty timeline 2021-11-06 00:40:39 +01:00
Nicolas Werner 410ec00848
Fix crash in debug code for matrix uri handler
fixes #776
fixes #590
2021-11-04 23:10:03 +01:00
Joseph Donofry 4bd0ec8939
Fix syntax issue 2021-11-03 23:54:51 -04:00
Joseph Donofry 8e433a7ed2
PlayableMediaMessage fixes on macOS 2021-11-03 23:06:32 -04:00
Nicolas Werner 373e124bf7
Fix translation nits 2021-11-04 01:10:56 +01:00
Nicolas Werner e1b9a0c619
Update translations 2021-11-03 23:44:55 +01:00
Nicolas Werner 1a163f49e2
Fix unjoinable invites on mobile as well as unclickable previews 2021-11-03 22:35:54 +01:00
Nicolas Werner 211fd9d76c
Fix registration on matrix.org
This was a bit of a journey:
https://github.com/matrix-org/matrix-doc/pull/3471
But it should work now and we now use the UIAHandler everywhere.

fixes #670
2021-11-03 18:39:51 +01:00
Joe Donofry e3002f7993 Fix macOS m.image notif crash 2021-11-03 02:42:19 +00:00
Nicolas Werner a9dde2ef68 Merge branch 'macos_api_updates' into 'master'
Update macOS notifications to use UserNotifications framework

See merge request nheko-reborn/nheko!13
2021-11-02 01:33:36 +00:00
Joseph Donofry 912df2920e
Update macOS notifications to use UserNotifications framework 2021-11-01 20:48:51 -04:00
Nicolas Werner ae121f6021
Clear @room warning after sending message
fixes #751
2021-11-02 00:41:07 +01:00
Nicolas Werner 12832b3c64
Fix loading spinner when switching to a fully loaded room
fixes #754
2021-11-02 00:28:39 +01:00
Nicolas Werner 8beeba8e48
Fix hidden spaces hiding themselves
fixes #745
2021-11-02 00:15:58 +01:00
Nicolas Werner 417cc07172
Fix crash on logout 2021-11-01 22:35:48 +01:00
Nicolas Werner 2aabe9dcac
Prompt user when there are unverified devices 2021-11-01 22:20:15 +01:00
Nicolas Werner 5688b2647e
Add self verification after login 2021-10-30 00:23:07 +02:00
Thulinma 662cb573e1 Allow changing device names, display last seen time and IP 2021-10-20 18:31:57 +02:00
Nicolas Werner 2902bbb7e7
Fix calculating hidden space children 2021-10-20 15:05:00 +02:00
Nicolas Werner 2981f71d22
lint using clang11 2021-10-17 17:33:59 +02:00
Nicolas Werner 6793bdf3fd
lint 2021-10-17 17:20:51 +02:00
Nicolas Werner 147dc9d4da
Use allow list for URI schemes 2021-10-17 17:18:14 +02:00
Nicolas Werner a5030bdd4d
move device verification management to its own file 2021-10-17 17:18:14 +02:00
Nicolas Werner 550c80525a
Move voip and encryption stuff into their own directories 2021-10-17 17:18:14 +02:00
Thulinma 649c5ff86d Add support for listing devices that do not support encryption, add support for logging out devices.
Ticks off another box in #23!
2021-10-17 00:00:14 +02:00
Loren Burkholder 14488a8fe7 Use the same leave room dialog everywhere
This ports the leave room dialog to QML, everywhere. There are now no differences between the various leave dialogs.
2021-10-11 19:00:40 -04:00
Loren Burkholder cd39e015d4 Remove unimplemented function declaration 2021-10-11 18:57:36 -04:00
DeepBlueV7.X 088765b427
Merge pull request #741 from LorenDB/qmlJoinRoomDlg
QML the join room dialog
2021-10-11 19:53:17 +00:00
DeepBlueV7.X 281d764aa3
Merge pull request #755 from Nheko-Reborn/bootstrapping
Support bootstrapping crosssigning
2021-10-09 23:35:09 +00:00
Loren Burkholder e9ed12e27b QML the join room dialog 2021-10-09 17:14:33 -04:00
DeepBlueV7.X 7eb9071b50
Merge pull request #743 from LorenDB/qmlLogout
QML the logout dialog
2021-10-09 20:57:38 +00:00
Loren Burkholder 2f7ce48666 make lint 2021-10-09 16:48:30 -04:00
Nicolas Werner ad1e6c8298
Support bootstrapping crosssigning
Showing the bootstrap state and showing there are unverified devices is
still missing.
2021-10-09 05:01:53 +02:00
DeepBlueV7.X 569606f35b
Simplify device list refresh logic 2021-10-07 20:01:55 +02:00
Nicolas Werner 47db1e5c65
Remove duplicated verification status calculation 2021-10-07 19:55:27 +02:00
Thulinma 456a41bcdf Added support for refreshing the device list, marking current device with a checkmark instead of a lock 2021-10-06 22:52:19 +02:00
Loren Burkholder 81406171a0 QML the logout dialog 2021-10-05 20:12:24 -04:00