Commit graph

366 commits

Author SHA1 Message Date
Nicolas Werner
6f0260d59f
Avoid empty membership events 2022-03-28 21:41:16 +02:00
Nicolas Werner
a9486ec896
Fix thumbnails for encrypted files and factor upload box out 2022-03-21 05:49:12 +01:00
Nicolas Werner
fd83858715
Add duration and resolution to files 2022-03-21 00:48:27 +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
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
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
Guillaume Girol
05f7e47a9f support for hidden read receipts 2022-02-21 12:00:00 +00: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
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
47b822604d
Hidden events: Refactor slightly for reusability 2022-02-12 19:48:53 +01:00
Malte E
12d600db97 add translations and actually add changes to TimelineModel 2022-02-07 21:53:37 +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
Nicolas Werner
7b00411dc4 Show widgets as links 2022-02-04 20:48:14 +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
61404641d9
Update year in copyright notice to shut up lint job 2022-01-01 04:57:53 +01:00
Nicolas Werner
271b111558
Reduce allocations for accessing event members 2021-12-29 07:02:32 +01:00
Nicolas Werner
19dc6cadea
Reserve size of some containers we are filling 2021-12-29 06:01:38 +01:00
Nicolas Werner
d8ead9573b
Reduce allocations using QStringLiteral 2021-12-29 04:52:52 +01:00
Nicolas Werner
bb290f9fec
Fix more warnings and remove dead code 2021-12-28 22:30:12 +01:00
Nicolas Werner
5ca98829f7
Some qt6 prep 2021-12-28 20:09:08 +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
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
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
75b112f0c8
Support pinned messages
fixes #519
2021-12-11 06:10:41 +01:00
Nicolas Werner
b505fa42d5
Fix crash on redactions without because 2021-11-29 14:55:40 +01:00
Joe Donofry
b920f8d7ca Change QML UI for redactions 2021-11-29 00:59:57 +00: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
Nicolas Werner
c4c13a1da9
Fix redaction of edited messages 2021-11-08 19:32:14 +01:00
Nicolas Werner
550c80525a
Move voip and encryption stuff into their own directories 2021-10-17 17:18:14 +02:00
Nicolas Werner
cfca7157b9
Change indentation to 4 spaces 2021-09-18 00:45:50 +02: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
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
350fc593ed Use better id loading methodology 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
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
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
56db0dbc7d
Allow downloading keys from key backup 2021-08-17 03:24:12 +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
Nicolas Werner
5e2526dac4
fix sticker packs being uneditable in some rooms 2021-08-11 00:39:01 +02:00
Nicolas Werner
72bbad7485
Show encryption errors in qml and add request keys button 2021-08-07 22:51:09 +02:00
Nicolas Werner
a57a15a2e0
Basic sticker pack editor 2021-08-06 04:31:53 +02:00
Loren Burkholder
dab1c9068a QML the raw message dialog 2021-07-31 12:11:15 -04:00
Loren Burkholder
7e538851d6 Use a QSortFilterProxyModel instead of resetting the model 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
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
Loren Burkholder
6458614ea1 make lint 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
baa9dfe110 Clean up code 2021-07-20 21:47:46 -04:00
Loren Burkholder
60b3c34d78 Permissions only needs a roomid to function 2021-07-20 21:47:32 -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
e1acf5d324 make lint 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
8a1666bc88
Basic sticker support 2021-07-19 01:28:07 +02:00
Nicolas Werner
0b864d9485
Fix replies not reloading after fetching them 2021-07-16 11:47:49 +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
c755d54243
Remove db bottleneck by caching ro txn for 100 requests 2021-07-10 16:12:38 +02:00
Nicolas Werner
d2ba0b6603
Update translations 2021-07-02 09:47:43 +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
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
f349b0cce0
Hide spaces by default, unless they are in the current space filter 2021-06-25 11:34:18 +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
d364c29c43
Implement switching in narrow mode 2021-06-08 22:22:33 +02:00
Nicolas Werner
567078d39f
Try to get rid of an allocation 2021-05-30 01:09: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
b60d6f4d58
Mark unsent events as uneditable
fixes #574
2021-05-09 13:02:41 +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
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
Nicolas Werner
8236f6ba72
Merge branch 'forward_message_feature' of https://github.com/Jedi18/nheko into Jedi18-forward_message_feature 2021-04-24 14:35:21 +02:00
Nicolas Werner
d6109b95fb
Escape html in topics and show line breaks in the settings 2021-04-19 11:20:52 +02:00
Joseph Donofry
a402e85a0f
Fix display name referenced for incorrect event types 2021-04-18 15:32:28 -04:00
targetakhil
ab83c7c3a8 change display name wording 2021-04-18 11:43:02 +05:30
targetakhil
06e12a0a16 move detection code to nheko namespace and fix a few other bugs 2021-04-17 22:58:04 +05:30
targetakhil
9934004702 remove unused function and set position to center of timeline view 2021-04-15 22:37:47 +05:30
targetakhil
6893e3a8d5 show forward menu item only for relevant events, changes to ui 2021-04-15 22:37:47 +05:30
targetakhil
603ff33ea6 added basic forwarding 2021-04-15 22:37:41 +05:30
Nicolas Werner
e5d75c814b
Clean up notification code a bit 2021-03-17 19:18:07 +01:00
Loren Burkholder
39576fea96
Create function for processing whether a message is a reply 2021-03-17 19:17:15 +01:00
Nicolas Werner
8ca3a8b607
Don't send markdown links in body
fixes #422
2021-03-15 20:59:18 +01:00
targetakhil
a4b7966d21 prepend file:// for linux and macos 2021-03-15 09:03:06 +05:30
Nicolas Werner
27fe0a45b6
Disable room pings in replies 2021-03-12 17:14:17 +01:00
Nicolas Werner
1be42045ee
fix linting 2021-03-05 15:26:07 +01:00
DeepBlueV7.X
56c44d0454
Merge pull request #505 from Nheko-Reborn/license-headers
License headers
2021-03-05 01:04:36 +00:00
Joseph Donofry
4b12b53133
Fix linting 2021-03-04 19:11:08 -05:00
Nicolas Werner
a6f0d2ea7d
Update license headers 2021-03-05 01:04:07 +01:00
Nicolas Werner
67ab204050
Fix reply relating to the wrong id of edited event 2021-03-03 17:42:41 +01:00
Nicolas Werner
f6b5b24d64
Allow editing via up and down arrows 2021-02-24 23:51:05 +01:00
DeepBlueV7.X
744feabeca
Merge pull request #474 from Jedi18/room_settings_qml
Shifted Room Settings Dialog to QML
2021-02-19 08:43:03 +00:00
Nicolas Werner
b8c6c716be Make inline images work a bit better 2021-02-17 22:14:19 +01:00
Nicolas Werner
c9393fe3f6 Fix crash from logging unset indices (leftover after debugging) 2021-02-17 18:47:59 +01:00
Akhil Nair
8400540428
Merge branch 'master' into room_settings_qml 2021-02-14 00:04:27 -05:00
Nicolas Werner
7ddcab3902 Mark messages as read, when Nheko gets focused
fixes #235
2021-02-13 01:41:09 +01:00
Nicolas Werner
3c91b5b47b Fix crash when editing an edited message pointing to itself 2021-02-12 16:11:11 +01:00
Jedi18
35aa0126ac added changing of name through edit modal, removed old roomsettings 2021-02-12 12:48:12 +05:30
Jedi18
f044e2d2a1 fix avatar update on timeline sync 2021-02-11 23:50:45 +05:30
Nicolas Werner
0db4d71ec2 Prevent edits of unsent messages 2021-02-10 21:13:57 +01:00
Nicolas Werner
a62276c289 Fix UI allowing edits of foreign messages in some cases 2021-02-10 14:32:16 +01:00
Nicolas Werner
bdb6e6b79e Fix stuck notifications because of edits
Does not fix the read status yet, for that we need to compare read
receipts for all events after the last visible event.
2021-02-10 01:03:20 +01:00
Nicolas Werner
9b7d33e847 Implement message editing
The UI still looks ugly, but I have no good idea atm.

fixes #134
2021-02-09 20:22:53 +01:00
Nicolas Werner
00fd4eecec Display edits correctly 2021-02-09 20:22:49 +01:00
Nicolas Werner
2e77a1554f Switch to new relations format 2021-02-09 20:22:02 +01:00
Jedi18
cd3f719e43 add loading indicator 2021-02-02 17:24:08 +05:30
Jedi18
d535cc5e75 add error message and update avatars on avatar change in timeline and user profile dialog 2021-02-02 13:30:47 +05:30
Jedi18
9b5a287d14 made requeste changes 2021-01-29 11:55:24 +05:30
Jedi18
fa7ad4f234 Shifted fetching of global username fom timeline model to user profile 2021-01-29 00:09:11 +05:30
Jedi18
3b82b2ff97 fix linting 2021-01-28 23:53:56 +05:30
Jedi18
b3f29f592b Changed edit method from double clicking to an edit button 2021-01-28 23:35:02 +05:30
Jedi18
87490c29cd Username can be edited by double clicking on text, added global user profile menu action in user info widget 2021-01-28 20:03:50 +05:30
Jedi18
5e3f513655 update room specific username from userprofile 2021-01-27 11:03:08 +05:30
rnhmjoj
c569ab24bc
Add "open in external program" action 2021-01-24 01:50:23 +01:00
Nicolas Werner
97340bed13 Fix font tags showing up in playable media messages 2021-01-23 00:49:28 +01:00
Nicolas Werner
32a20a5f8c Simplify section handling a bit 2021-01-19 23:58:40 +01:00
Nicolas Werner
42b08257ec Make read markers a bit less confusing 2021-01-16 13:54:56 +01:00
trilene
3572c111f3 Fix call invite declined on another device 2021-01-10 12:23:58 -05:00
trilene
9bbade37de Fix call answered on another device 2021-01-07 14:04:54 +01:00
Nicolas Werner
01e38d12ed Fix some compiler warnings 2020-12-25 00:08:06 +00:00
Nicolas Werner
2ce129e6b6 Properly share and rotate sessions on member and device changes 2020-11-30 01:54:53 +01:00
Nicolas Werner
c31b9e2793 Fix race when reading members from db 2020-11-25 23:54:25 +01:00
Nicolas Werner
921379a4cc Send typing updates from QML 2020-11-25 19:05:12 +01:00
Nicolas Werner
0bb4885632 Basic text input in qml 2020-11-25 19:05:12 +01:00
Nicolas Werner
7a74b86340 Pasteable textinput 2020-11-25 19:05:11 +01:00
Nicolas Werner
983690c94f Share code for sending encrypted olm messages 2020-10-20 18:10:09 +02:00
Nicolas Werner
aa9b453f81 Store timestamp with olm sessions 2020-10-20 13:46:05 +02:00
Nicolas Werner
7b6fab3373 Calculate verification status from cross-signing sigs and update dynamically 2020-10-08 00:20:12 +02:00
Nicolas Werner
bca29a4227 Make steps in verification flow explicit 2020-10-05 22:12:10 +02:00
Nicolas Werner
2a79cd2b6b Don't fail on missing key for a device and /rotate-megolm-session command 2020-10-03 18:38:28 +02:00