With Jami-Daemon >= 14.0.0, the client doesn't need to construct
itself the history. This part is now handled by the daemon.
This patch uses the new API:
+ loadConversationMessages->loadConversation
+ SwarmMessageReceived/SwarmMessageUpdated/ReactionAdded/ReactionRemoved
+ remove MessageReceived
+ ConversationLoaded->SwarmLoaded
+ No need to use loadConversationUntil, the daemon will load whatever
the client needs.
+ No need to clear cache, just reset the body and emit data changes
Everything should work like before (even re-translation & changing
preview preference)
Change-Id: Iaf1fa3e84e8e157ae2d0bec210977f9a34415ebc
Implement new design
Add multiline button
Use correct color and implement dark theme
GitLab: #1096
Change-Id: I5699c81fbc41e50300ca8b32b93ee47cd17ceee1
Introduces MessageParser to encapsulate text treatment for raw text messages.
The async parsing sequence is as follows:
- Markdown -> HTML (md4c)
- link coloration (tidy-html5)
- notify UI
- request link preview info from PreviewEngine for the first link
- Preview engine uses QtNetwork instead of QtWebengine
- Linkification is handled by MessageParser instead of linkify.js
QtWebengine is no longer required for message parsing.
Gitlab: #1033
Gitlab: #855
Change-Id: Ief9b91aa291caf284f08230acaf57976f80fa05b
+ redesign the "Scroll to end of conversation"
+ redesign the "bubble / screen ratio"
+ redesign the reply bubbles: color, shape(in & out a message sequence), "In reply To" message
+ change the configurable color of the main user's bubbles
+ show the display name when replying to a transfer message
+ fix incorrectly loaded reply message data by synchronizing to messages loaded request
+ fix reply to an internet link
+ redesign the call bubbles (the new design need to be applied but in another patch)
GitLab: #959
GitLab: #967
Change-Id: Id646ff875644425b03367838b5b46f2242294563
This patch avoid for non-admins to try to re-add kicked members
as filtered out from the list. However kicked members are only
visible for administrators.
Change-Id: Ie01b7071c072d147bbc0f39e477cc24d7fd58b1a
Introduces the ViewCoordinator component to promote dynamic view loading and reduce coupling between components.
The following objects are now created and destroyed as needed:
- SettingsView
- WizardView
- dialogs
Further refactoring will be required in order to do the same with the ConversationView, which now parents the ChatView and the CallStackView.
Gitlab: #897
Change-Id: Ice6a0c133e62e1e0c8d7fb99ec2c41234c049b59
Iterate through CPP elements and use positionView(ListView.Center)
as other approach seems bugguy or slower.
Change-Id: I43879969ccb457166879a156efb482e77ff07d6b
- Standard time/date is now used
- If today, show local time, otherwise show local date
GitLab: #545
Change-Id: I07f1e706868c725d1c917c473dc0fdbad8d6810f
SFPM performs poorly compared to its C++ counterpart in cases where re-filtering often is required. Tests show SFPM taking roughly 10x that of QSFPM in certain cases when the entire conversation needs to be loaded.
Change-Id: I25792f0ab376ae11d42073a548934b743e59fa3e
+ Add call buttons to start a new call
+ React to events from the swarm
+ call interactions (Join call/Call ended, etc)
+ active calls area
+ Add call management logic in LRC
+ Feature is enabled via the experimental checkbox
https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/312
Change-Id: I83fd20b5e772097c0792bdc66feec69b0cb0009a
Handle application/edited-message type to support message edition.
Previous bodies are saved in the interaction to be able to get the
original post to avoid unwanted editions.
While loading a conversation, we store the editions in a temporary
map that we link once the edited message is detected. This work
because we can't edit a message before this message exists.
PreviousBodies in interaction.h contains every previous body detected
and the client can show previous version of the message in a popup.
Deleting a message works the same way, just that any message
with an empty body is not shown.
https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/316
Change-Id: Ib158abd16ad4b629532de11694e88d86a12d72a8