Linking fails with distro provided libquotient v0.9.0 I (see below).
Links ok with self-built libquotient v0.9.2
```
/data/KDE/src/kde/network/neochat/src/models/messagecontentmodel.cpp:679:(.text+0x4f32): undefined reference to `_ZNK8Quotient16RoomMessageEvent3hasITkSt12derived_fromINS_12EventContent4BaseEENS3_15UrlBasedContentINS3_8FileInfoEEEEEbv'
/usr/bin/ld: lib/libneochat.a(messagemodel.cpp.o): in function `MessageModel::data(QModelIndex const&, int) const':
/data/KDE/src/kde/network/neochat/src/models/messagemodel.cpp:195:(.text+0x1a96): undefined reference to `_ZNK8Quotient16RoomMessageEvent3hasITkSt12derived_fromINS_12EventContent4BaseEENS3_15UrlBasedContentINS3_8FileInfoEEEEEbv'
/usr/bin/ld: /data/KDE/src/kde/network/neochat/src/models/messagemodel.cpp:195:(.text+0x1aa6): undefined reference to `_ZNK8Quotient16RoomMessageEvent3hasITkSt12derived_fromINS_12EventContent4BaseEENS3_15UrlBasedContentINS3_9ImageInfoEEEEEbv'
/usr/bin/ld: /data/KDE/src/kde/network/neochat/src/models/messagemodel.cpp:195:(.text+0x1ab6): undefined reference to `_ZNK8Quotient16RoomMessageEvent3hasITkSt12derived_fromINS_12EventContent4BaseEENS3_15PlayableContentINS3_9ImageInfoEEEEEbv'
/usr/bin/ld: /data/KDE/src/kde/network/neochat/src/models/messagemodel.cpp:196:(.text+0x1ac6): undefined reference to `_ZNK8Quotient16RoomMessageEvent3hasITkSt12derived_fromINS_12EventContent4BaseEENS3_15PlayableContentINS3_8FileInfoEEEEEbv'
clang++: error: linker command failed with exit code 1 (use -v to see
invocation)
```
Right now NeoChat (or more technically, libQuotient) decides to use
encryption by default in new chats. Some users may not prefer or need
this, so a new option is added under Security to change this behavior.
BUG: 498375
Fix getting content models for old events in a search model by allowing for calling using the event. This gets past the intial checks and the content model itself can load the event from the server.
Requires network/neochat!2110 to fix the showauthor issue
Move the storage of MessageContentModels to the room in the same manner as memeber objects to prevent duplication but mainly to make the system easier to maintain going forward with things like threads for example. This requires the creation of a MessageContentFilterModel as the same model may be used in multiple places, sometimes with the author showning sometimes not.
This adds UI for MSC4025 to the account deactivation dialog, if the
server supports it. We also switch away from our
customDeactivateAccountJob to libQuotient's.
Fixes#670.
Currently it uses applicationWindow().overlay which works but is
not ideal for multiple reasons:
- This as a tendency to breaks unexpectedly
- It can't be optimized by the qml compiler
So we are trying to move away from these construct everywhere.
Store NeochatRoomMember objects in the room so we don't duplicate them unnecessarily. This also adds a visible property for a room which is set true when shown by MessageEventModel and false when not, triggering the deletion of member objects. This mechanism will be used for other object types in the future.
Create a simple app that puts a number of events into a simple timeline which can be used to verify future memory optimisations
When Neochat is built with tests on you should find the app at ~/kde/usr/bin/timeline-memtest assuming ~/kde is your kdesrc-build directory
Set KilledJobError to indicate it was canceled by the user
to avoid a bogus "finished" notification.
Sadly, fileTransferCanceled has been removed from libQuotient
so this lambda botch checking transfer status needs to be done.
There's no such thing as Emote or Message anymore, it's all "Text".
Matches IsEditableRole of MessageEventModel.
While at it, also clear threadId, which is what the Edit quick
button also does.
Since the new thread API was released in 0.9.2 update the if defs to include it. This will solve the double chat bar in thread for anyone on 0.9.2 or above