Andreas Gattringer
27e8970fff
fix segfault at loadError from message with attached file
2024-07-14 19:46:04 +00:00
Andreas Gattringer
7848274ba1
fix resetting of message content components
...
and don't reset whole Moessage content when author changes
2024-07-14 18:25:02 +02:00
James Graham
0392a33b54
Content Model Author
...
Make sure that the Author in the content model is only ever updated int he following circumstacnes:
- The member updates their displayname or avatar
- A previously hidden author line is shown
This is done by only doing a full reset on initialisation or when a previously hidden author is shown. The rest of the time we only reset the other content in the message, i.e. everything below the author line.
2024-07-13 16:01:42 +00:00
Andreas Gattringer
b211f46e3e
Do heavy things less often on room change event
2024-07-13 15:22:52 +00:00
James Graham
8751f6fea7
Never refresh the author role except when a member updated signal is generated. This should remove a potential source of crashes where a RoomMember object tries to access an already deleted room member state event
2024-07-09 20:21:13 +01:00
Tobias Fella
e11c97cdc0
Move NeoChatRoom::showMessage to Controller
...
It doesn't fit into NeoChatRoom conceptually
2024-07-07 13:44:55 +02:00
Tobias Fella
8725600368
Port away from deprecated QDateTime constructor
2024-07-06 20:00:04 +02:00
Tobias Fella
bec1ad7bee
Fix crashes when logging out of connection
2024-07-06 19:44:00 +02:00
Tobias Fella
13b15390c3
Fix crashes due to event being deleted
2024-07-06 15:54:29 +02:00
Tobias Fella
d91ed535ad
Don't access event after it was deleted
...
- NeoChat stores pointer to event
- Event is replaced
- libQuotient deletes the event and notifies us that the event changes
- We're accessing the event to check its id
- Boom
Make this not boom by accessing the ID that we're additionally storing anyway.
2024-07-05 16:54:38 +02:00
Tobias Fella
53519a604e
Don't store member objects in userlistmodel
2024-07-02 18:17:27 +02:00
James Graham
c8d5d095e0
REmove unneeded includes
2024-06-30 17:59:40 +01:00
James Graham
52d07320ef
Make the author line in the bubble and reply be part of the content model
2024-06-30 17:59:40 +01:00
James Graham
6a100bfbab
When switching rooms first set the room to nullptr to clear any objects in MessageEventModel and UserListModel
2024-06-30 14:24:21 +00:00
James Graham
2e0dc8db94
Make sure that the member objects get updated for the MessageEventModel and MessageContentModel when the user updates their avatar or name
2024-06-29 17:30:29 +02:00
James Graham
b78a9f2a9c
Find users by Id in UserListModel as there may be users with the same display name which will end up with the wrong member replaced
2024-06-29 17:30:28 +02:00
James Graham
832e6b9de0
Make sure that the member object gets switched when a member's avatar or name is updated because the old state event will now be deleted and we need to ref the new one.
2024-06-29 17:30:28 +02:00
James Graham
feec7ca408
Don't store RoomMembers in ReactionModel
...
Don't store RoomMember objects in the reaction model just grab them everytime incase the state event is replaced.
2024-06-29 17:30:28 +02:00
James Graham
430bafafe7
Make use of new RoomMember item from libquotient
...
Depends on https://github.com/quotient-im/libQuotient/pull/695
Currently basic just to show a working implementation using RoomMember. Currently only the room event and search models are moved over. Will change everything else over once the dependent pr is complete.
2024-06-29 17:30:28 +02:00
James Graham
58d727350d
Remove uses of Quotient:Omittable
...
Note this technically won't build for now because of the lack of RoomMember support but I'll push that at the quotient-next branch next.
This is needed as well to get a branch that builds on dev.
2024-06-29 17:30:04 +02:00
James Lyne
0aec9f8472
Fix search results on room search page
...
Add missing IsEditable role to search model
2024-06-17 20:15:36 +00:00
James Graham
91109ca845
Get 3PID binds on startup
...
Get binds on startup and update the staus properly after bind/unbinding 3PIDs
2024-06-08 08:42:34 +00:00
Carl Schwan
d2a79214b5
Fix crash when sending message
...
Ensure the message has an eventId which only happens after the message
is sent.
2024-05-28 15:21:04 +02:00
James Graham
efb72652ce
Use MessageContentModel for replies
...
This allows code and other components to be displayed nicely.
2024-05-27 14:54:42 +00:00
James Graham
a48151920d
Permission model
...
Add a model for managing permissions (power levels) in rooms. This gets rid of a whole bunch of boiler plate in NeoChat and as a bonus makes it easy to add a feature to allow setting the permission level for any event.
2024-05-25 16:25:39 +00:00
Tobias Fella
9da7462f3e
Fix compatibility with newer quotient job api
2024-05-14 16:50:38 +02:00
James Graham
1a2272249d
Support adding 3 PIDs
...
Implements part of network/neochat#565
Note the phone number stuff is untested as neither kde.org or matrix.org have them switched on.
2024-05-12 17:02:09 +00:00
Tobias Fella
47242aa66c
Remove remaining uses of MatrixImageProvider and remove it
2024-05-06 18:18:48 +02:00
Tobias Fella
c3de788956
Cleanup includes
2024-05-05 21:49:43 +02:00
Tobias Fella
53e3c36f7e
Explicitely include QFont
2024-05-05 21:33:47 +02:00
Tobias Fella
64eed47f04
Port some things away from Omittable
2024-05-04 10:56:12 +02:00
Tobias Fella
cd7faf751e
Show captions
2024-04-30 20:28:53 +02:00
Tobias Fella
4e6850a60c
Adapt to behavior change in libQuotient
2024-04-30 17:37:22 +02:00
James Graham
0cf1d87b12
Fix the master show link preview setting and add back the per room setting
...
Title
BUG: 486126
2024-04-28 10:51:44 +00:00
James Graham
de40701cf6
Multiple Link Previews
...
- Show a preview for each link in the text below the block in which it appears.
- Allow link previews to be dismissed
2024-04-23 19:45:33 +00:00
Tobias Fella
1e644587b3
Replace Quotient::Connection with NeoChatConnection where possible
2024-04-23 12:35:15 +02:00
James Graham
66a60f09e3
Refactor the MessageComponentModel component update
2024-04-23 11:39:18 +02:00
Tobias Fella
69b6f16ec1
Remove search bar; Use QuickSwitcher instead
2024-04-23 10:19:43 +02:00
James Graham
28c9d94457
Fix Roomlist Shortcuts
...
Fix the ctrl + pgup/pgdwn shortcuts for the room list so that they work with tree model
BUG: 485949
2024-04-22 22:01:46 +00:00
James Graham
031d69d996
Only override the DelegateType when showing hidden messages
2024-04-21 13:25:49 +02:00
James Graham
8b63c18f65
Implement devtoool to show hidden timeline messages
2024-04-21 10:50:59 +00:00
James Graham
dc2f11eb2b
Fancy Effects 2021-2024 gone but never forgotten
...
Remove fancy effects as it's busted and causing CPU spikes.
2024-04-21 10:50:45 +00:00
Tobias Fella
cb94261727
Fix compatibility with libQuotient dev branch
2024-04-17 13:01:32 +02:00
Tobias Fella
bb35e9ce15
Add option to show all rooms in "uncategorized" tab
2024-04-16 20:49:17 +02:00
Tobias Fella
89f7167b08
Remember previous downloads after restarts
...
Fixes #636
2024-04-16 17:55:26 +02:00
Tobias Fella
c0d7b96e79
Mark ThreePIdModel as uncreatable
2024-04-15 17:15:01 +02:00
Laurent Montel
a247e40865
Add missing includes moc
2024-04-15 08:10:50 +02:00
James Graham
b7ee83f6b6
Add visualisation of the account's third party IDs in the account editor.
...
A category won't be shown if there are no relevant IDs (will add the ability to add new ones later).
Part of network/neochat#565

2024-04-14 16:37:34 +00:00
Tobias Fella
c344a3ee55
Devtools: Implement changing room state
2024-04-12 22:08:33 +02:00
James Graham
163b02f023
Add image info for stickers
...
Closes network/neochat#584
2024-04-09 18:54:59 +00:00