Commit Graph

2595 Commits

Author SHA1 Message Date
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
Nicolas Werner 4dd5f9841d
Add additional check for invalid megolm sessions 2021-10-04 21:46:31 +02:00
Loren Burkholder a6c3e3562c Fix some strings and translation stuff 2021-10-01 12:29:54 -04:00
Thulinma 94441e68fd Support pasting image/svg+xml format straight from supporting applications 2021-09-28 01:42:35 +02:00
Thulinma c4b788917f Fixes for pasting images, especially under windows where the image mime type detection doesn't work as expected 2021-09-28 00:54:00 +02:00
Thulinma 6941c3d3d7 Fix --help and --version command line options when Nheko is already running. Also adds an info message when it sends a URI to another instance 2021-09-28 00:45:00 +02:00
Joseph Donofry 526c1cdcc4 Add Unicode 14.0 emoji 2021-09-25 02:19:44 -04:00
Nicolas Werner a54f828fb4
Fix a few verification typos 2021-09-20 01:15:51 +02:00
Nicolas Werner cfca7157b9
Change indentation to 4 spaces 2021-09-18 00:45:50 +02:00
DeepBlueV7.X e118f3882d
Merge pull request #728 from Thulinma/goto
Improvements for linking to events
2021-09-17 10:19:58 +00:00
Patryk Cisek d499fffb7e
Added a text field that allows choosing custom homeserver in "Room directory" dialog. (#727)
* Added a text field that allows choosing custom homeserver in "Room directory" dialog.

* Moved "Choose custom homeserver" text field to the right and shrinked it to 30% of "Room directory" dialog's width.

* Adding "server_name=" when needed when joining room.

When joining room that is hosted on a different homeserver than
the account is registered on, the request fails. In such scenario
the server has to be explicitly mentioned in a server_name URL
parameter. More info here:
https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-join-roomidoralias

* Minor fix: intentation (4 spaces -> 8 spaces)

Co-authored-by: Patryk Cisek <patryk@cisek.email>
2021-09-17 10:12:56 +00:00
Thulinma 1d5bf56cf9 Improvements for linking to events
- Fixes scrolling to an event not being reliable
- Adds new /goto command that can open URLs, go to events, or go to message indexes.
- Refactored ChatPage::handleMatrixUri() to contain the handling originally in Nheko::openLink(), and makes it return a boolean based on whether the URL was handled internally or not.
2021-09-16 02:17:07 +02:00
Nicolas Werner 5bff9df4ae
Workaround for broken fetchMore() with reuseItems 2021-09-15 23:38:01 +02:00
DeepBlueV7.X d6eeaa1c04
Merge pull request #721 from symphorien/hotlist
Implement a binding to go to a room with unread messages
2021-09-14 19:00:50 +00:00
Nicolas Werner f91a0267e6
Add workaround for crash on some jdenticon inputs 2021-09-14 16:10:04 +02:00
Guillaume Girol 82b1cc4e5f add Alt+A keybinding to switch to next room with unread messages 2021-09-14 12:00:00 +00:00
Nicolas Werner f032c75e6a
Remove unused prototype 2021-09-13 23:45:09 +02:00
DeepBlueV7.X 8e2f1e9dce
Merge pull request #416 from LorenDB/jdenticon
Add jdenticon support
2021-09-13 21:31:29 +00:00
Nicolas Werner 1b82b8242b
Keep identities for users cached
There is not really a reason to stop tracking them, just because the
server says so. We might still want to show a users profile, etc.
2021-09-13 14:31:22 +02:00
Loren Burkholder b9255803fb Streamline getting other user id from invited direct chat 2021-09-11 19:45:01 -04:00
Loren Burkholder 0b8527eb1b Don't try to check whether a preview is direct 2021-09-11 19:35:31 -04:00
Loren Burkholder fb53fc86b6 Fix invites crashing the whole app 2021-09-11 19:35:31 -04:00
Loren Burkholder 87bff3493d Add direct chat handling for previews and invites 2021-09-11 19:35:31 -04:00
Loren Burkholder 094ddb48a2 Don't bother with crop 2021-09-11 19:35:31 -04:00
Loren Burkholder 2147ce8556 Only try loading plugin once 2021-09-11 19:35:31 -04:00
Loren Burkholder f14762e6a5 Always show jdenticon toggle (disable if no plugin) 2021-09-11 19:35:31 -04:00
Loren Burkholder 0e3f3f2b20 make lint 2021-09-11 19:35:31 -04:00
Loren Burkholder 17729ce662 Fix jdenticons in various places 2021-09-11 19:35:31 -04:00
Loren Burkholder 356723fe06 Use more descriptive property name 2021-09-11 19:35:31 -04:00
Loren Burkholder a23c586cde make lint 2021-09-11 19:35:31 -04:00
Loren Burkholder dcdf00dcc5 Finish fixing rounded avatars 2021-09-11 19:35:31 -04:00
Loren Burkholder 350fc593ed Use better id loading methodology 2021-09-11 19:35:31 -04:00
Loren Burkholder 1ac4f3a97b Remove unused struct 2021-09-11 19:35:31 -04:00
Loren Burkholder c991f20284 Make sure jdenticon toggle is always initialized 2021-09-11 19:35:31 -04:00
Loren Burkholder 350d1977af Add some fancy effects to jdenticon 2021-09-11 19:35:31 -04:00
Loren Burkholder 1fdecdcc21 Get direct chat jdenticons to line up 2021-09-11 19:35:31 -04:00
Loren Burkholder 7a200d7e77 Add licenses 2021-09-11 19:35:31 -04:00
Loren Burkholder 651d620afd Remove unnecessary stuff 2021-09-11 19:35:31 -04:00
Loren Burkholder ebe80a6006 Fix typo 2021-09-11 19:35:31 -04:00
Loren Burkholder 069115ba5f Don't add toggle for jdenticon if the plugin can't be found 2021-09-11 19:35:31 -04:00
Loren Burkholder 4e4a9c6e0c Fix braces; make lint 2021-09-11 19:35:31 -04:00
Loren Burkholder d2e193ff78 Add jdenticon support 2021-09-11 19:35:31 -04:00
Thulinma 45b5629fe4 Fix a few more HTML injections 2021-09-12 00:09:24 +02:00
Nicolas Werner f9a334233f
Don't allow images in username change messages and user completer
Sorry, no fun for you!
2021-09-09 21:20:34 +02:00
Nicolas Werner 495a4334df
Fix day separator when loading older messages
fixes #632
2021-09-08 12:47:44 +02:00
Thulinma a39cb537ae More profile improvements:
- Now scrolls entire profile instead of only device list, improving the experience on smaller screens
- Fixed centering of room name
- Allow profile to be sized smaller to match the new scrolling behavior
- Silenced warning about room being null for global profiles
- Matrix URLs now open global profiles instead of room-specific profiles if the user is not in the currently opened room
- Opening global profile from room specific profile now uses openGlobalUserProfile function instead of reinventing the wheel
2021-09-08 01:26:05 +02:00
Nicolas Werner 80fa3e801f
Fix duplicate check possibly leaving large gaps if initial state was not in timeline 2021-09-06 01:41:23 +02:00
Nicolas Werner 6490ee3a34
Add workaround for broken key counts 2021-09-06 00:32:09 +02:00
DeepBlueV7.X d30401c3c4
Merge pull request #713 from Thulinma/noMoreDuplicates
Fixed duplicate messages appearing in timeline if server sent them
2021-09-05 22:24:16 +00:00
Nicolas Werner 70e20f5d10
Fix key count updates on conduit 2021-09-06 00:07:14 +02:00
Nicolas Werner e035d1407a
Conduit does not send count, if it didn't change 2021-09-05 23:15:44 +02:00
Thulinma 2525579610 Fixed duplicate messages appearing in timeline if server sent them 2021-09-05 23:00:29 +02:00
Thulinma e7564396fb Improvements to user profiles:
- Set a minimum width on the profile window (avatar size + margins)
- Made avatar editing a separate button, so you can zoom in on your own avatars
- Added hover text to avatar/displayname change buttons, which clarify where they will apply for global/room-specific profiles
- Added display of room name for room-specific profiles, with hover text that explains what that means.
- Added way to open global profile for users from their room-specific profiles (globe button next to room name)
2021-09-05 19:05:43 +02:00
Nicolas Werner 99f3296a64
Make error case with unverified master key more descriptive 2021-09-03 15:08:16 +02:00
Thulinma 6bd62f8283 Make desktop alerting independent from notification support in the homeserver. 2021-09-03 03:13:15 +02:00
Nicolas Werner 3528fe4e5d
Warn the user before they ping the whole room 2021-09-02 03:15:39 +02:00
Nicolas Werner 1b07bde788
update translations 2021-09-01 01:23:20 +02:00
Nicolas Werner 98533f01d9
Fix session always being rotated if 'verified only' is active 2021-08-31 16:40:31 +02:00
Nicolas Werner 529c93503d
Remove useless ; 2021-08-31 04:13:51 +02:00
Nicolas Werner c80e253a24
Stop encrypting all sessions with secret 2021-08-31 04:06:51 +02:00
Nicolas Werner 79ecad5a09
Require a working secrets storage 2021-08-31 01:51:03 +02:00
Nicolas Werner fc7df50d9a
Fix another leak when creating an animated image without an image 2021-08-29 19:24:14 +02:00
Nicolas Werner 7645ab1736
Fix memory leak of animated image textures 2021-08-29 18:38:11 +02:00
Nicolas Werner 374ad0a816
Small image pack editor improvements
- add missing mimetype
- allow removal of images from pack
- allow GIF as a format
- don't divide size by 2 if the image is very small already
2021-08-29 17:22:49 +02:00
Nicolas Werner 15bf643347
Add option to only play animated images on hover 2021-08-29 16:32:28 +02:00
Nicolas Werner 47c7c4c777
cleanup QSettings usage a bit 2021-08-29 16:32:28 +02:00
Nicolas Werner ef068ac2b3
Support animated images
fixes #461
2021-08-29 16:32:28 +02:00
Nicolas Werner 09c041c8ac
Use in memory media player instead of storing unencrypted files on disk 2021-08-29 16:32:22 +02:00
Nicolas Werner e88fc1996e
Fix warning about double reference qualifier 2021-08-26 04:02:09 +02:00
Nicolas Werner d02e77f69a
Implement key backup upload 2021-08-26 03:43:52 +02:00
Nicolas Werner 23697e28a3
warn about online keybackup and default to off 2021-08-26 03:43:51 +02:00
Nicolas Werner 2cabd107bf
Useless capture 2021-08-22 15:09:27 +02:00
Nicolas Werner 055f0d6709
Even if you just change the log level, ensure that this compiles before pushing... 2021-08-22 14:56:44 +02:00
Nicolas Werner 63998a217a
Add db migration that clears the cache
This fixes spaces or stickers not showing up for old databases as well
as the wrong format of the state_keys db.
2021-08-22 14:45:57 +02:00
Nicolas Werner 5416988057
Trust key forwards from the original sender 2021-08-20 14:00:35 +02:00
Nicolas Werner b63289ba54
Cleanup @room escape logic a bit 2021-08-20 14:00:35 +02:00
Nicolas Werner 3d2f503305
Add workaround for stickers not showing on iOS
see: https://github.com/vector-im/element-ios/issues/2353
2021-08-18 18:16:29 +02:00
Nicolas Werner c2e777f3e4
Update translations 2021-08-17 23:51:15 +02:00
Nicolas Werner 5b460861b1
Allow accepting knocks in the timeline
As well as selecting more join rules.
2021-08-17 23:31:25 +02:00
Nicolas Werner 5287ba38f9
Fix all rooms being opened on startup 2021-08-17 19:00:00 +02:00
Nicolas Werner 995b62122a
Fi lineendings 2021-08-17 14:22:37 +02:00
Nicolas Werner 028bcd5b7c
Update join button in room directory after join 2021-08-17 14:21:04 +02:00
DeepBlueV7.X b01496f9b4
Merge pull request #659 from kamathmanu/nhekoRoomDirectory
Nheko room directory
2021-08-17 11:56:47 +00:00
Nicolas Werner 7d62af7cda
Remove unneeded code 2021-08-17 09:59:13 +02:00
Nicolas Werner 56db0dbc7d
Allow downloading keys from key backup 2021-08-17 03:24:12 +02:00
Nicolas Werner 1e7756c508
Fix dpi scaling of avatars 2021-08-16 12:48:45 +02:00
DeepBlueV7.X b1634d60a0
Merge pull request #680 from govynnus/token-registration
Support token authenticated registration
2021-08-15 18:22:01 +00:00
Callum Brown 0da58c476c Run linter 2021-08-15 15:51:10 +01:00
Nicolas Werner 42d2b10d5d
Round images in the image provider 2021-08-14 17:17:50 +02:00
kamathmanu eaddfb4f73 Clean up final nits 2021-08-14 09:44:34 -04:00
Nicolas Werner 69e65cef2f
Fix shadowing 2021-08-14 02:52:43 +02:00
Nicolas Werner 110fef5c68
Request keys when opening a room for the first time 2021-08-14 02:41:34 +02:00
Nicolas Werner 13633c7644
Ensure device signatures always get verified on device update 2021-08-14 02:06:48 +02:00
Nicolas Werner 9bad584931
Show verification status in memberlist 2021-08-13 23:58:26 +02:00
Nicolas Werner 18ea01e198
Show if there are unverified devices in a room
Also fixes some issues where nested transactions will poison the
verification cache.
2021-08-13 23:19:54 +02:00
Callum Brown 4fa644f2b7 Fix cancel button on registration token dialog 2021-08-12 17:57:07 +01:00
Callum Brown 7d484a8228 Use QInputDialog to get registration token 2021-08-12 16:41:29 +01:00
kamathmanu 9ab1296131 Ran qmlformat and make license 2021-08-12 10:45:42 -04:00
kamathmanu 570e5ffde2 Added Spinner while rooms load 2021-08-12 09:50:52 -04:00
Callum Brown b56a1be0bd Support token authenticated registration
Using a dialog after username and password have been provided.
2021-08-11 15:07:06 +01:00
DeepBlueV7.X d84c1f59a4
Merge pull request #679 from Kirillpt/iss_672
add shortcut Escape button for closing images. issue #672
2021-08-11 00:09:16 +00:00
Nicolas Werner 02b217d009
Remove some unused headers 2021-08-11 01:30:55 +02:00
kirp 5335e043e7
linting 2021-08-11 02:29:36 +03:00
kirp c7295d7fd1
change slot close, to signal closing 2021-08-11 02:26:26 +03:00
kirp a88c68c0a8
add shortcut Escape button for closing images issues 672 2021-08-11 01:39:27 +03:00
Nicolas Werner 5e2526dac4
fix sticker packs being uneditable in some rooms 2021-08-11 00:39:01 +02:00
Nicolas Werner dbea031a86
Fix potential crash when trying to read room info too early 2021-08-11 00:21:24 +02:00
Nicolas Werner 7f633a0298
Add rate limiting to unknown device list path 2021-08-09 20:52:54 +02:00
kamathmanu 6a75e5270c Fix nits from code review 2021-08-09 09:18:08 -04:00
Nicolas Werner 71290e208d
Enable insecure fallback for secret storage 2021-08-08 18:57:38 +02:00
Nicolas Werner ad57a336dc
Breaking: Change secret names and fix bug when storing secrets 2021-08-08 18:38:05 +02:00
Nicolas Werner 8784156da5
Fix trying to delete unsupported events 2021-08-08 11:35:27 +02:00
Nicolas Werner b73bd2859c
Protect against replay attacks 2021-08-07 23:54:35 +02:00
kamathmanu 2dfccda73c
Merge branch 'master' into nhekoRoomDirectory 2021-08-07 21:20:43 +00:00
kamathmanu 14f8f4d61b Fix Duplicate fetched chunk 2021-08-07 17:13:18 -04:00
kamathmanu 4ec0c8c9bb make lint 2021-08-07 17:00:28 -04:00
kamathmanu d3d7844106 Made only unjoined rooms joinable 2021-08-07 17:00:28 -04:00
kamathmanu 04d0d413e3 Linted code 2021-08-07 17:00:28 -04:00
kamathmanu 0d700d9933 Implemented Room Directory model to store and provide QML view with public room data from mtxclient 2021-08-07 17:00:12 -04:00
Nicolas Werner 72bbad7485
Show encryption errors in qml and add request keys button 2021-08-07 22:51:09 +02:00
DeepBlueV7.X 9f742fe23d
Merge pull request #664 from govynnus/token-registration
Reorganise src/RegisterPage.cpp
2021-08-07 00:27:39 +00:00
Nicolas Werner cc22309c5b
this is not needed for translations 2021-08-06 04:43:56 +02:00
Nicolas Werner e5a6b2b6ef
Allow creating new packs 2021-08-06 04:31:53 +02:00
Nicolas Werner 16d0190f4e
Allow uploading additional stickers 2021-08-06 04:31:53 +02:00
Nicolas Werner a57a15a2e0
Basic sticker pack editor 2021-08-06 04:31:53 +02:00
Callum Brown bd31726f2f Allow all characters when checking server input
So IDNs are not rejected. Invalid server names will be caught later.
2021-08-05 17:25:37 +01:00
Callum Brown bb6a57644c Make things private slots 2021-08-05 16:12:36 +01:00
Nicolas Werner 87e81498b7
Fix window placement on wayland and add close buttons
We explicitly set a parent. We can't assign to
ApplicationWindow.transientParent though, only to
Window.transientParent, so we just call setTransientParent in C++.
2021-08-04 02:27:50 +02:00
Callum Brown 041d8fb56c Reorganise src/RegisterPage.cpp 2021-08-02 20:08:55 +01:00
DeepBlueV7.X 619525e62f
Merge pull request #662 from LorenDB/qml-all-the-things
QML all the things, part 3: Raw message dialog
2021-08-01 10:51:21 +00:00
Nicolas Werner 25e7a985b8
Add option to only send encrypted messages to verified devices
fixes #636
2021-08-01 00:59:46 +02:00
Loren Burkholder dab1c9068a QML the raw message dialog 2021-07-31 12:11:15 -04:00
Nicolas Werner 760f675792
Ensure the encrypted rooms db is always created 2021-07-31 17:59:03 +02:00
DeepBlueV7.X 5b5a89b522
Merge pull request #655 from LorenDB/qml-all-the-things
QML all the things, part 2: Read receipts dialog
2021-07-30 22:08:51 +00:00
Loren Burkholder f48f244dcb Use correct date format 2021-07-30 08:44:07 -04:00
Loren Burkholder 7dcdd51a8b make lint 2021-07-30 08:19:05 -04:00
Loren Burkholder 3cb4209d7b
Reformat dates
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2021-07-30 07:56:25 -04:00
Nicolas Werner e7877ae5af
Fix crash when we don't have keys for other device when receiving an olm message from it 2021-07-30 12:44:08 +02:00
Nicolas Werner e4cd8b1c11
Log how many rooms we loaded 2021-07-30 03:31:49 +02:00
Nicolas Werner 6409462a96
Rate limit olm session creation 2021-07-30 03:31:29 +02:00
Loren Burkholder 368e13fac3 Use built-in sorting so that dynamic updates work 2021-07-29 21:07:52 -04:00
Loren Burkholder 7e538851d6 Use a QSortFilterProxyModel instead of resetting the model 2021-07-29 21:07:52 -04:00
Loren Burkholder 1777a1b52f Reset model instead of doing weird convoluted updates 2021-07-29 21:07:52 -04:00
Loren Burkholder 2fe010c04a Dynamically update read receipts 2021-07-29 21:07:52 -04:00
Loren Burkholder 2be91b591d make lint 2021-07-29 21:07:52 -04:00
Loren Burkholder 9c7bde22d1 Remove unused headers
Why didn't I see these earlier?
2021-07-29 21:07:52 -04:00
Loren Burkholder 8a329d6517 Remove Avatar class
RIP
2021-07-29 21:07:52 -04:00
Loren Burkholder 0d42909e40 Simplify read receipt storage 2021-07-29 21:07:52 -04:00
Loren Burkholder 774a9fdc3a Remove outdated comment 2021-07-29 21:07:52 -04:00
Loren Burkholder 4dd994ae00 QML the read receipts list
There are probably a few things wrong with this, but I'm going to call it good enough for an initial commit
2021-07-29 21:07:16 -04:00
Nicolas Werner d955444dc1
Port to explicit connect syntax
Also fix a lot of warnings.
2021-07-27 22:35:38 +02:00
Nicolas Werner 6222ae88ce
Fix crash on invalid utf8 in decrypted events 2021-07-26 18:59:21 +02:00
Nicolas Werner e8e48305c8
Remove version checks for unsupported Qt versions 2021-07-26 18:59:20 +02:00
Nicolas Werner 570d00b000
Fix crash when storing secrets
Nested QEventLoops are scary. Ultimately we shouldn't use them, but I
have no better solution right now.

fixes #656
2021-07-25 17:07:10 +02:00
Nicolas Werner 80b9d4528e
Remove SSSS requests on the UI thread
might fix #656
2021-07-25 15:39:49 +02:00
Nicolas Werner 8b3d0c14d0
Properly verify OTK signature 2021-07-25 14:10:38 +02:00
Nicolas Werner 8444683271
Don't send encrypted olm messages to ourselves 2021-07-25 13:51:21 +02:00
Nicolas Werner f4e670d8d5
Fix SSSS unlock without a password set
fixes #657
2021-07-25 12:13:24 +02:00
Joe fb3c443ce0 Remove additional key requests preference code 2021-07-24 18:27:59 -04:00
Joe 3f567a8da7 Merge master and fix conflicts 2021-07-24 18:26:25 -04:00
Nicolas Werner a61678242b
Fix edge case that could lead to no new one time keys being uploaded 2021-07-24 14:59:14 +02:00
Nicolas Werner bef2cbbd7f
Try to avoid more olm loops 2021-07-23 19:08:44 +02:00
Nicolas Werner dba2fb525a
Remove unused this capture 2021-07-23 18:21:55 +02:00
DeepBlueV7.X ca3d17dc22
Merge pull request #651 from LorenDB/qml-all-the-things
Fix a few UI things
2021-07-23 16:17:43 +00:00
Nicolas Werner eafbab6ae1
Add menu to enable or disable stickers globally 2021-07-23 17:43:17 +02:00
Nicolas Werner 0c798554b5
Rename image pack model 2021-07-22 20:05:25 +02:00
Loren Burkholder 0ce7d02abe make lint 2021-07-22 07:55:12 -04:00
Nicolas Werner 5ae73bf8fd
Add trailing newline to session export to make gomuks happy 2021-07-22 12:00:14 +02:00
Loren Burkholder bbecadf1a8 Add functionality for loading global user profile where needed
This is so viewing profiles from the invite dialog will work as expected.
2021-07-21 20:38:18 -04:00
DeepBlueV7.X 1d3579196a
Merge pull request #650 from LorenDB/qml-all-the-things
Open room members when member info label clicked
2021-07-21 23:18:21 +00:00
Loren Burkholder 44be4c1f4a Move various room auxiliary functions to TimelineManager 2021-07-21 18:56:20 -04:00
Loren Burkholder b17002929c Open room members when member info label clicked 2021-07-21 12:36:02 -04:00
Nicolas Werner f401ed16ac
Tweak rainbows slightly 2021-07-21 17:44:29 +02:00
Nicolas Werner 8a300f7333
Fix some media not being cached properly
Most noticeable in the goose chooser.
2021-07-21 16:55:28 +02:00
Loren Burkholder 6458614ea1 make lint 2021-07-20 21:48:10 -04:00
Loren Burkholder efda94ca50 Modify message to be more accurate 2021-07-20 21:48:10 -04:00
Loren Burkholder 77c636f3d3 Insert user before loading avatar/display name 2021-07-20 21:48:10 -04:00
Loren Burkholder 44d2818e0c Add property for plain room name 2021-07-20 21:48:10 -04:00
Loren Burkholder 21eb312f69 Only run spinner while loading members 2021-07-20 21:48:03 -04:00
Loren Burkholder a9ed83a1ce Remove size_t property stuff 2021-07-20 21:48:03 -04:00
Loren Burkholder 48669302ec make lint 2021-07-20 21:48:03 -04:00
Loren Burkholder 10c6f2b43f Use Nico's favored formatting (*shrugs*) 2021-07-20 21:48:03 -04:00
Loren Burkholder 4384554587 Only invite if there is something/someone to invite 2021-07-20 21:48:03 -04:00
Loren Burkholder f30c3db860 Fix loaded member count 2021-07-20 21:47:54 -04:00
Loren Burkholder baa9dfe110 Clean up code 2021-07-20 21:47:46 -04:00
Loren Burkholder 913d0fd139 Make macOS CI happy (again) 2021-07-20 21:47:37 -04:00
Loren Burkholder d2d5229ede make lint 2021-07-20 21:47:32 -04:00
Loren Burkholder db8af24bea Don't emit signal in constructor 2021-07-20 21:47:32 -04:00
Loren Burkholder 60b3c34d78 Permissions only needs a roomid to function 2021-07-20 21:47:32 -04:00
Loren Burkholder c566a62541 Clean up code 2021-07-20 21:47:22 -04:00
Loren Burkholder a176de5f11 Make sure to use the default room id if none is specified 2021-07-20 21:47:22 -04:00
Loren Burkholder f0c88fc474 Get member info loading working 2021-07-20 21:47:22 -04:00
Loren Burkholder a76fc7d200 Add a fancy loading spinner to the member list 2021-07-20 21:47:22 -04:00
Loren Burkholder e1acf5d324 make lint 2021-07-20 21:47:22 -04:00
Loren Burkholder 6c57fa6c5b QML the invite dialog
This also adds a property `roomId` to TimelineModel.
2021-07-20 21:47:22 -04:00
Loren Burkholder 77a0c574bf QML the room member list 2021-07-20 21:47:05 -04:00
Nicolas Werner 88ed0fade7
Explicitly reload data in delegates, if related events got loaded 2021-07-20 14:09:19 +02:00
Nicolas Werner 3b56ff2d85
Fix replying and editing stickers 2021-07-19 16:14:09 +02:00
Nicolas Werner 9f416f1fc9
Fix only first 7 stickers showing up 2021-07-19 12:43:16 +02:00
Nicolas Werner 56b44a85b5
Fix unused state key when iterating room stickers 2021-07-19 03:29:48 +02:00
Nicolas Werner 9d5ba4f681
Move sticker parsing and enable room stickers 2021-07-19 03:02:30 +02:00
Nicolas Werner 8a1666bc88
Basic sticker support 2021-07-19 01:28:07 +02:00
Nicolas Werner aa84cf24f6
Disable unchecked key sharing to trusted users by default 2021-07-17 21:43:25 +02:00
Nicolas Werner 3f0aa13cb6
Share historical keys
We share all keys with our devices and ones created by us to other
users.
2021-07-17 02:14:44 +02:00
Nicolas Werner 9fadd14871
Store megolm session data in separate database 2021-07-17 01:27:37 +02:00
Nicolas Werner 0b864d9485
Fix replies not reloading after fetching them 2021-07-16 11:47:49 +02:00
Joseph Donofry 19f2c02eda
Remove 'respond to key requests' functionality 2021-07-15 18:08:59 -04:00
Nicolas Werner be0576f6a1
Add workaround for TextEdit not rerendering after image loaded
fixes #541
2021-07-15 00:26:39 +02:00
Nicolas Werner 47899ee7ed
Switch to room after joining invite 2021-07-13 03:13:52 +02:00
Nicolas Werner 0a4e95a1db
Don't allow switching to current room
fixes #634
2021-07-13 02:57:16 +02:00
Nicolas Werner d81e3f94e7
Try to fix crash in setCurrentIndex
fixes #607
2021-07-13 02:45:03 +02:00
Nicolas Werner c600827f78
Strip reply fallback from roomlist
fixes #630
2021-07-13 02:36:10 +02:00
Nicolas Werner 40a3ee6eb2
Fix verification requests showing up on startup 2021-07-12 23:02:26 +02:00
Nicolas Werner 9d6bc706ff
Don't use full dump for replies 2021-07-12 22:28:01 +02:00
Nicolas Werner 801af1864c
Fix off-by-1 in insertRows when loading room list from initial sync 2021-07-12 01:07:10 +02:00
Nicolas Werner bd26624ed8
Prepare for reuseItems in timeline
The actual reuseItems is still blocked on a few upstream bugs.
2021-07-12 00:24:33 +02:00
Nicolas Werner b064eb34aa
Fix lint 2021-07-10 16:14:24 +02:00
Nicolas Werner c755d54243
Remove db bottleneck by caching ro txn for 100 requests 2021-07-10 16:12:38 +02:00
Nicolas Werner f38650edf0
Add additional device verification logging 2021-07-10 16:11:33 +02:00
Nicolas Werner d163809551
Fix blurhash discoloration on decode 2021-07-09 23:35:27 +02:00
Nicolas Werner 2f08f5181c
Redesign invites and room preview joins 2021-07-09 11:36:34 +02:00
Joseph Donofry d25f020d79
Fix linter issue 2021-07-08 21:07:45 -04:00
Joe d05253a740 Add missing include to Utils 2021-07-08 00:39:11 -04:00
Joe 82088fa0d7 Fix cmake template define issue 2021-07-07 09:48:13 -04:00
Joe 478c3b3e0b Fix Backtrace define error for Windows 2021-07-07 00:26:20 -04:00
Nicolas Werner f23fd5f822
Fix a few embarrassing bugs with device list updates 2021-07-06 11:39:29 +02:00
Nicolas Werner 9540d704e0
Show previews for space rooms 2021-07-04 23:06:50 +02:00
Nicolas Werner f6f5d2615a
Make emoji picker follow theme 2021-07-03 22:45:36 +02:00
Nicolas Werner 683a24d2aa
Fix community sidebar toggle 2021-07-02 12:36:33 +02:00
Nicolas Werner d2ba0b6603
Update translations 2021-07-02 09:47:43 +02:00
Nicolas Werner 5b016cbc68
Remove dead code to calculate last message 2021-07-01 12:45:47 +02:00
Nicolas Werner 66e69d7f2b
Ignore return value of write() in signal handler 2021-06-30 15:48:54 +02:00
Nicolas Werner 9f7064676c
Get rid of boost dependency for stacktraces 2021-06-30 15:01:41 +02:00
Nicolas Werner 590395a08b
Fix too many newlines in reply fallback 2021-06-30 12:22:22 +02:00
Nicolas Werner 2c307a4dee
Fix error message for /sync 2021-06-30 12:21:57 +02:00
Nicolas Werner 00f251753e
Use coeurl for networking
Something is still wrong on shutdown, need to debug that.
And CI will fail.
2021-06-30 02:43:36 +02:00
Nicolas Werner 78c69a8f7b
Fix tags going missing if you join communities 2021-06-26 23:56:34 +02:00
Stuart Mumford 7fab2925b4
Apply suggestions from code review 2021-06-25 15:44:15 +01:00
Stuart Mumford 9194b87bdc
Update src/timeline/TimelineModel.cpp 2021-06-25 15:21:04 +01:00
Stuart Mumford d60ea38cb8
Add another regex to match inline img tags using single quotes
Signed-off-by: Stuart Mumford <stuart@cadair.com>
2021-06-25 12:14:45 +01:00
Nicolas Werner 4a5414975d
fix sort by unread not getting persisted 2021-06-25 11:35:27 +02:00
Nicolas Werner 6a807894b4
Increase contrast of dark theme secondary colors slightly 2021-06-25 11:35:26 +02:00
Nicolas Werner f8dfc72625
Fix spaces showing up with world filter 2021-06-25 11:35:26 +02:00
Nicolas Werner d30446a8b3
Don't spam key requests directly after startup 2021-06-25 11:35:24 +02:00
Nicolas Werner 884fb74d2d
Add a basic 'Space page' 2021-06-25 11:34:19 +02:00
Nicolas Werner c69d2ef648
Fix off by 1 in previousRoom condition 2021-06-25 11:34:19 +02:00
Nicolas Werner f349b0cce0
Hide spaces by default, unless they are in the current space filter 2021-06-25 11:34:18 +02:00
Nicolas Werner 0ec7be3090
Fix hiding rooms from a space 2021-06-25 11:34:18 +02:00
Nicolas Werner 6bfa6c4c79
Allow filtering by space 2021-06-25 11:34:18 +02:00
Nicolas Werner 12ce7686ce
Show some spaces in the community sidebar 2021-06-25 11:34:17 +02:00
Alexander Bantyev 358a39e6d2
fixup! Allow editing unsent messages 2021-06-19 23:26:21 +03:00
Alexander Bantyev 42bf8799ee
fixup! Allow editing unsent messages 2021-06-19 23:11:34 +03:00
Alexander Bantyev f8d2564e46
fixup! Allow editing unsent messages 2021-06-18 20:25:44 +03:00
Alexander Bantyev 9f798e76ed
Allow editing unsent messages
As of 0db4d71ec2 (Prevent edits of
unsent messages), messages that are edits of (or replies to) unsent
messages were not allowed. This change was made because otherwise
the edits were discarded due to use of txnid rather than mxid in the
"m.relates_to" object. Remove this restriction and fix the issue by
replacing txnid with mxid in all related events when the message is
sent (and we obtain mxid from the server).
2021-06-18 16:38:55 +03:00
Nicolas Werner 84434433f2
Fix wrong tags in context menu 2021-06-14 23:40:06 +02:00
Nicolas Werner 019bcf5f5c
Fix copy and paste fail for low prio avatar 2021-06-14 23:23:46 +02:00
Nicolas Werner e6878ee298
Don't read avatarUrl from local profile, if no global avatar is set 2021-06-12 16:05:45 +02:00
Nicolas Werner 7d5e82c888
Merge branch 'master' into qml-roomlist 2021-06-12 15:05:07 +02:00
Nicolas Werner 4985e1f536
Persist sidebar sizes 2021-06-12 14:09:08 +02:00
Nicolas Werner 1d80f5d0b4
Remove useless capture 2021-06-11 21:25:21 +02:00
Nicolas Werner a5291605a9
Reenable tag hiding 2021-06-11 17:54:05 +02:00
Nicolas Werner 8d2d8dc267
Enable toggling tags 2021-06-11 14:51:29 +02:00
Nicolas Werner d8c0d4874b
Render community items 2021-06-11 13:12:43 +02:00
Nicolas Werner 2cd1a931c2
Basic community list model 2021-06-09 23:52:28 +02:00
Joseph Donofry 0a833b6e9b
Avoid unnecessary QColor -> QString conversions 2021-06-08 17:20:09 -04:00
Nicolas Werner d364c29c43
Implement switching in narrow mode 2021-06-08 22:22:33 +02:00
DeepBlueV7.X f08fb0264d
Merge pull request #600 from govynnus/registration-well-known
Registration well known
2021-06-03 18:12:33 +00:00
Callum Brown 78607a7e59 Do a .well-known lookup during registration 2021-06-03 14:52:41 +01:00
Callum Brown b8b0b5c618 Give registration server input its own error label 2021-06-03 13:56:43 +01:00
Nicolas Werner 53fcf7f428
Port remaining sidebar actions to qml 2021-05-30 12:41:44 +02:00
Nicolas Werner 567078d39f
Try to get rid of an allocation 2021-05-30 01:09:16 +02:00
Nicolas Werner dfe2495d9a
Optimize completion model by only splitting on normal spaces 2021-05-30 00:30:43 +02:00
Nicolas Werner 18ff58edb3
Fix use after free from Qml widget 2021-05-30 00:23:57 +02:00
pcworld 010debe3e4 Fix notifications in narrow view when content is hidden
In narrow view, a room can be selected even if the view currently only
shows the room list and the timeline is hidden.
This commit ensures that in this case, notifications are not suppressed.
2021-05-29 02:57:37 +02:00
Nicolas Werner 2174f6507f
Fix warning 2021-05-28 23:50:04 +02:00
Nicolas Werner 03d30a2abc
Delete old room list 2021-05-28 23:25:57 +02:00
Nicolas Werner 298822baea
Move currentRoom/timeline handling to roomlist 2021-05-28 22:14:59 +02:00
Nicolas Werner e2765212fb
Reimplement room context menus 2021-05-28 17:25:46 +02:00
Nicolas Werner c290b0747f
Reenable invites 2021-05-24 14:04:07 +02:00
Nicolas Werner 6112badb08
Reenable userInfo settings menu 2021-05-22 15:19:44 +02:00
Nicolas Werner f2bc184550
Fix device list not showing up and UserProfile blocking the window 2021-05-22 14:31:38 +02:00
Nicolas Werner d307f24adf
Fix leaving rooms 2021-05-22 11:23:16 +02:00
Nicolas Werner f3d956aebc
Fix emoji in new RoomList 2021-05-22 10:16:42 +02:00
Nicolas Werner beeb60e4a1
Sort the room list 2021-05-22 00:57:14 +02:00
Nicolas Werner cd67046f60
Make roomlist look nice 2021-05-21 21:19:03 +02:00
Nicolas Werner 10fd2752f9
Some basic room list 2021-05-19 19:34:10 +02:00
Nicolas Werner 567fe81ad7
Basic header and footer of room list 2021-05-15 13:05:55 +02:00
Nicolas Werner 39a43ad4ab
Reorganize TimelineView to prepare porting the room list 2021-05-14 15:23:40 +02:00
Nicolas Werner 5658be5215
Move global avatarSize property 2021-05-13 11:32:28 +02:00
Nicolas Werner 22afa122c4
Move openLink to Nheko globals 2021-05-13 08:53:56 +02:00
Nicolas Werner a7f8b23b52
Make palette global in Qml 2021-05-13 08:23:56 +02:00
Nicolas Werner d52c2515bc
Fix stray 'a' in @room escaping 2021-05-11 15:10:28 +02:00
Nicolas Werner b60d6f4d58
Mark unsent events as uneditable
fixes #574
2021-05-09 13:02:41 +02:00
Nicolas Werner 2df4c532ed
Add TOFU (Trust On First Use) mode to encryption 2021-05-07 17:01:57 +02:00
Nicolas Werner 0d0709ccd3
Show verification status next to messages 2021-05-07 17:01:57 +02:00
Nicolas Werner ab0baf5d9e
Only show actions, when you have permissions to do them 2021-05-02 18:06:56 +02:00
Nicolas Werner 986b561c34
Fix crash when you have no rooms and open the profile as well as not rendering rooms without groups 2021-04-30 15:33:17 +02:00
Nicolas Werner 7431b51d27
Update mtxclient to use new login parameters
fixes #558
2021-04-30 14:46:40 +02:00
Nicolas Werner 6d464381e4
Fix missing license header 2021-04-29 22:52:55 +02:00
Nicolas Werner f626de0447
Copy link to message
fixes #499
2021-04-29 21:46:49 +02:00
Nicolas Werner 82fa8ab292
Highlight navigated to message 2021-04-29 19:09:16 +02:00