Commit graph

2265 commits

Author SHA1 Message Date
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
rnhmjoj
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