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
To be able to show calls that are transfered, we must catch new calls
from callstatechanged signal. Move all logic from newincomingcall to
callstatechanged.
Change-Id: Ibd3ff5f8b4009895b3165348fd1638956f5f66d9
Show notification when a peer is sharing its position on the non
current conversation.
This needed a lot of changes. Now we store shared position via
accountId + peer.
This also fix location icons and keep state when changing from
one account to another.
Change-Id: I8c1848890efa09f6e296e9da779a355167e4d3d4
GitLab: #888
+ 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
This is an older issue that has resurfaced where mobile device rotation
at the beginning of a call cause a frame-copy to a stale buffer because
the DecodingStarted event is handled asynchronously.
Noticed on Windows but I believe any non-dbus build should have it.
So we make all the connections blocking and adjust some parameters.
This commit also removes the DecodingStarted handler in CallModel which
was causing the client's target video frame to be reallocated for each
account present.
Change-Id: I23ac4e0bd4b446e7a532f0d362f7ecd209d3c790
GitLab: #536
A signal exists for showing errors to the user to make failing cases
more explicit. With this patch, errors detected are displayed to
the end user so that they know that an error occured and what
kind of error occured.
Change-Id: Ib2d4d4fdb171235e0598de0f1c190b8fd0fcc336
Since vcard message might arrive with encoded chars. To
avoid crashes we properly decode any message and check for
the values of interest within a fixed message format.
Note: Since https://github.com/pjsip/pjproject/pull/2933, the
part=/of= is not un-escaped anymore as the RFC allow escaped
character. So this was an old pjproject bug and was working with
luck.
Change-Id: If454cecab0c7ad6867680306687fb1452dc450cd
This is libjamiclient from the jami-libclient.git repository as of
767c45b8b09806ac05cbada720864df93588c047, with the following changes:
* src/libclient/newaccountmodel.cpp:
(NewAccountModelPimpl::removeFromAccounts): The lock wait inside
'#ifdef CHK_FREEABLE_BEFORE_ERASE_ACCOUNT' was not updated when the
type of 'accounts' was changed over the years from this:
std::map<std::string, account::Info>
to this:
std::map<QString, std::pair<account::Info, std::shared_ptr<Database>>>
Basically we need to get the 'first' of the pair for 'account::Info'.
So we now do that.
* src/libclient/avmodel.cpp:
* src/libclient/callbackshandler.cpp:
* src/libclient/contactmodel.cpp:
* src/libclient/conversationmodel.cpp:
* src/libclient/database.cpp:
* src/libclient/namedirectory.cpp:
* src/libclient/newaccountmodel.cpp:
* src/libclient/newcallmodel.cpp:
* src/libclient/newdevicemodel.cpp:
* src/libclient/peerdiscoverymodel.cpp:
* src/libclient/pluginmodel.cpp:
* src/libclient/smartinfohub.cpp:
* src/libclient/vcard.h:
* src/libclient/authority/storagehelper.cpp: Replace Qt's 'foreach'
with 'Q_FOREACH' and its 'emit' with 'Q_EMIT' because in the client-qt
code base we have '-DQT_NO_KEYWORDS' to avoid conflicts with other
libraries we use.
* cmake/FindLibJami.cmake: Import cmake/FindRing.cmake from the
jami-libclient.git repository. Then, rename RING_BUILD_DIR to
LIBJAMI_BUILD_DIR (though the old name is still supported for now).
Also update other references of Ring to Jami. Further, add additional
calls to 'find_library' to make sure specified local paths for libjami
are checked before system-wide ones (in case of older/obsolete libjami
being available system-wide, which might happen on GNU/Linux systems).
* translations/lrc_*.ts: Import translation files from the libclient
repository. The message location paths were corrected by running
"sed -i 's|../src|&/libclient|g' lrc_*.ts" in 'translations/'.
.tx/config: Add section for the newly-imported libclient translations.
* CMakeLists.txt: Reformat, plus various fixes and cleanups, such as
changing indentation to 2 spaces and wrapping lines at 70 characters,
renaming the parent directory of translations from 'ring' to 'jami',
and using all lowercase function calls. Also add copyright headers.
* src/app/appsettingsmanager.cpp:
(AppSettingsManager::loadTranslations):
* src/app/utilsadapter.cpp (UtilsAdapter::supportedLang): Update to
adapt to the renaming of the parent directory of translations from
'ring' to 'jami'.
GitLab: #748
Change-Id: I86e3b0fb30e554755023e7b858b6a0d132cd59ab