diff --git a/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml b/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml index a2ed4035b..a3f48ca63 100644 --- a/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml +++ b/.gitlab-ci-files/job-linux-desktop-archlinux-latest.yml @@ -96,7 +96,7 @@ job-archlinux-latest-ninja-clang-novideo: # - $NIGHTLY_MASTER # - $DEPLOY_LINUX # variables: -# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES +# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON # extends: job-archlinux-latest-makefile-clang # artifacts: # paths: diff --git a/.gitlab-ci-files/job-linux-desktop-centos7.yml b/.gitlab-ci-files/job-linux-desktop-centos7.yml index 421ec3636..628d70030 100644 --- a/.gitlab-ci-files/job-linux-desktop-centos7.yml +++ b/.gitlab-ci-files/job-linux-desktop-centos7.yml @@ -73,7 +73,7 @@ job-centos7-ninja-gcc-package: variables: - $DEPLOY_LINUX_CENTOS7 variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS -DENABLE_G729=ON CMAKE_GENERATOR: Ninja CC: gcc CXX: g++ diff --git a/.gitlab-ci-files/job-linux-desktop-debian10.yml b/.gitlab-ci-files/job-linux-desktop-debian10.yml index e9da76096..6e521c3f3 100644 --- a/.gitlab-ci-files/job-linux-desktop-debian10.yml +++ b/.gitlab-ci-files/job-linux-desktop-debian10.yml @@ -105,7 +105,7 @@ job-debian10-makefile-clang-package: - $NIGHTLY_MASTER - $DEPLOY_LINUX variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON extends: job-debian10-makefile-clang artifacts: paths: diff --git a/.gitlab-ci-files/job-linux-desktop-debian8.yml b/.gitlab-ci-files/job-linux-desktop-debian8.yml index fe288bce2..31fdabc83 100644 --- a/.gitlab-ci-files/job-linux-desktop-debian8.yml +++ b/.gitlab-ci-files/job-linux-desktop-debian8.yml @@ -43,7 +43,7 @@ job-debian8-makefile-clang: # - $NIGHTLY_MASTER # - $DEPLOY_LINUX # variables: -# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES +# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON # extends: job-debian8-makefile-clang # artifacts: # paths: diff --git a/.gitlab-ci-files/job-linux-desktop-debian9.yml b/.gitlab-ci-files/job-linux-desktop-debian9.yml index 08394e2b7..4353e5e1a 100644 --- a/.gitlab-ci-files/job-linux-desktop-debian9.yml +++ b/.gitlab-ci-files/job-linux-desktop-debian9.yml @@ -55,7 +55,7 @@ job-debian9-ninja-clang: - $NIGHTLY_MASTER image: gitlab.linphone.org:4567/bc/public/linphone-desktop/bc-dev-debian9-qt-fuse-wget-gpg2:$DEBIAN_9_QT_IMAGE_VERSION variables: - CMAKE_OPTIONS: -DENABLE_DOC=ON + CMAKE_OPTIONS: -DENABLE_DOC=ON -DENABLE_G729=ON CMAKE_GENERATOR: Ninja CC: clang CXX: clang++ @@ -77,7 +77,7 @@ job-debian9-makefile-clang: - $NIGHTLY_MASTER - $DEPLOY_PLUGINS variables: - CMAKE_OPTIONS: -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS + CMAKE_OPTIONS: -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS -DENABLE_G729=ON CMAKE_GENERATOR: Unix Makefiles CC: clang CXX: clang++ @@ -117,7 +117,7 @@ job-debian9-makefile-clang-package: - $PACKAGE_LINUX - $DEPLOY_LINUX variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_BUILDER_SIGNING_IDENTITY=$GPG_SIGNING_KEYID -DLINPHONE_BUILDER_SIGNING_PASSPHRASE=$GPG_SIGNING_PASS -DENABLE_G729=ON CMAKE_GENERATOR: Unix Makefiles CC: clang CXX: clang++ diff --git a/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml b/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml index d072b9116..202eacf3d 100644 --- a/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml +++ b/.gitlab-ci-files/job-linux-desktop-ubuntu-rolling.yml @@ -88,7 +88,7 @@ job-ubuntu-rolling-ninja-clang-novideo: # - $NIGHTLY_MASTER # - $DEPLOY_LINUX # variables: -# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES +# CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON # extends: job-ubuntu-rolling-makefile-clang # artifacts: # paths: diff --git a/.gitlab-ci-files/job-macosx-desktop.yml b/.gitlab-ci-files/job-macosx-desktop.yml index 70a8f8741..e71eaba29 100644 --- a/.gitlab-ci-files/job-macosx-desktop.yml +++ b/.gitlab-ci-files/job-macosx-desktop.yml @@ -96,7 +96,7 @@ job-macosx-makefile-package: - $PACKAGE_MACOSX - $DEPLOY_MACOSX variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DENABLE_G729=ON extends: job-macosx-makefile script: - *build_all_script diff --git a/.gitlab-ci-files/job-windows-desktop.yml b/.gitlab-ci-files/job-windows-desktop.yml index 52b9e0bf7..7c5c9a9db 100644 --- a/.gitlab-ci-files/job-windows-desktop.yml +++ b/.gitlab-ci-files/job-windows-desktop.yml @@ -24,7 +24,7 @@ stage: build tags: [ "windows" ] variables: - CMAKE_OPTIONS: -DENABLE_LIME_X3DH=NO -DENABLE_UNIT_TESTS=ON -DLINPHONE_WINDOWS_SIGNING_DIR=$WINDOWS_SIGNING_DIRECTORY + CMAKE_OPTIONS: -DENABLE_LIME_X3DH=NO -DENABLE_UNIT_TESTS=ON -DLINPHONE_WINDOWS_SIGNING_DIR=$WINDOWS_SIGNING_DIRECTORY -DENABLE_G729=ON MINGW_TYPE: mingw32 script: - *build_all_windows_script @@ -82,7 +82,7 @@ job-windows-vs2017-package: - $PACKAGE_WINDOWS - $DEPLOY_WINDOWS variables: - CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGNING_DIR=$WINDOWS_SIGNING_DIRECTORY + CMAKE_OPTIONS: -DENABLE_APP_PACKAGING=YES -DLINPHONE_WINDOWS_SIGNING_DIR=$WINDOWS_SIGNING_DIRECTORY -DENABLE_G729=ON MINGW_TYPE: mingw32 script: - *build_all_windows_script diff --git a/CHANGELOG.md b/CHANGELOG.md index 7152ba05e..41402fbb3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,11 +11,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * messages features : Reply, forward (to contact, to a SIP address or to a timeline), Vocal record and play, multi contents. - Add a feedback on fetching remote provisioning when it failed. +- Option to enable message notifications. +- Based on Linphone SDK 5.1 ### Fixed - Simplify filtering timelines on 3 kind of search : security level, simple/group chats, ephemerals. - Fix systemTrayIcon that could be cloned on each restart. - Fix errors on Action-Buttons on restart. +- Enable G729 on public builds. +- Take account of return key on Numpad ## 4.3.2 @@ -25,7 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Remove constraints on actions (call/chat) that were based on friends capabilities. - Unblock secure group chat activation. - Unselect current contact if history call view is displayed. -- Show chat actions in history view +- Show chat actions in history view. - Group chat creation : If no groupchat capabilities has been found in recent contacts, ignore test on capability and display them. ## 4.3.1 - 2021-11-04 diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index 173ea0ce3..c04160dde 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -1915,6 +1915,11 @@ Klik her: <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index 257d71936..784ed26f6 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -1915,6 +1915,11 @@ Klicken Sie hier: <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered Anrufen wenn registriert + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index 6222ebca1..de2ee4bd5 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -1920,6 +1920,11 @@ Click here: <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered Call when registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + Enable notifications + SettingsLdap diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 5d8d2b1f8..6dd96dde1 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -1915,6 +1915,11 @@ Haga clic aquí: <a href="%1">%1 </a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index 95c5c73b7..adfb3dde6 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -163,7 +163,7 @@ usernameStatusInvalidCharacters - Caractères invalides détectés (regex : `%1`). + Caractères invalides détectés (regex : `%1`). usernameStatusInvalid @@ -179,7 +179,7 @@ passwordStatusInvalidCharacters - Caractères invalides détectés (regex : `%1`). + Caractères invalides détectés (regex : `%1`). passwordStatusMissingCharacters @@ -994,7 +994,7 @@ URL du serveur non configurée. ephemeralNotInConference! 'Ephemeral message is only supported in conference based chat room!' - Les messages éphémères ne sont disponibles que pour une conversation définie en mode conférence ! + Les messages éphémères ne sont disponibles que pour une conversation définie en mode conférence ! Warning about not being in conference based chat room. @@ -1915,6 +1915,11 @@ Cliquez ici : <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered Appeler seulement si enregistré + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap @@ -1951,7 +1956,7 @@ Cliquez ici : <a href="%1">%1</a> serverTooltip - Serveur LDAP. ie : ldap:// pour un serveur local ou ldap://ldap.example.org/ + Serveur LDAP. ie : ldap:// pour un serveur local ou ldap://ldap.example.org/ bindDNLabel diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index e33f65ff7..047d83ad4 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -1905,6 +1905,11 @@ Kattintson ide: <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered Ha regisztrált, használja híváskor + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index e2368adfa..a34f22946 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -1915,6 +1915,11 @@ Clicca: <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 22023ba8c..cec7c868b 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -1905,6 +1905,11 @@ 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index f5ca889ad..98b968793 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -1925,6 +1925,11 @@ Spustelėkite čia: <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index 40b9ea2d7..4461c601a 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -1915,6 +1915,11 @@ Clique aqui: <a href="%1">%1 </a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered Ligar quando registrado + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index 4324a3a22..349205e6a 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -1925,6 +1925,11 @@ 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index 138025074..83d293da7 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -1915,6 +1915,11 @@ Klicka här: <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index adaa2b34b..6d0082047 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -1905,6 +1905,11 @@ Buraya tıklayın: <a href="%1">%1</a> 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index 1bc9e4602..021151aa2 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -1925,6 +1925,11 @@ 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index d671c14a1..b45bb1cec 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -1905,6 +1905,11 @@ 'Call when registered' : Label on switch to choose if calls are make when the current proxy is registered 注册时拨打 + + chatNotificationsEnabledLabel + 'Enable notifications': settings label for enabling notifications. + + SettingsLdap diff --git a/linphone-app/src/components/core/CoreHandlers.cpp b/linphone-app/src/components/core/CoreHandlers.cpp index bcd3a2912..bcc8a57ee 100644 --- a/linphone-app/src/components/core/CoreHandlers.cpp +++ b/linphone-app/src/components/core/CoreHandlers.cpp @@ -207,11 +207,11 @@ void CoreHandlers::onMessageReceived ( // 2. Notify with Notification popup. const App *app = App::getInstance(); - if (!app->hasFocus() || !chatRoom->getLocalAddress()->weakEqual(coreManager->getAccountSettingsModel()->getUsedSipAddress())) + if (coreManager->getSettingsModel()->getChatNotificationsEnabled() && (!app->hasFocus() || !chatRoom->getLocalAddress()->weakEqual(coreManager->getAccountSettingsModel()->getUsedSipAddress()))) app->getNotifier()->notifyReceivedMessage(message); // 3. Notify with sound. - if (!settingsModel->getChatNotificationSoundEnabled()) + if (!coreManager->getSettingsModel()->getChatNotificationsEnabled() || !settingsModel->getChatNotificationSoundEnabled()) return; if ( diff --git a/linphone-app/src/components/settings/SettingsModel.cpp b/linphone-app/src/components/settings/SettingsModel.cpp index e97125ad8..156f021ff 100644 --- a/linphone-app/src/components/settings/SettingsModel.cpp +++ b/linphone-app/src/components/settings/SettingsModel.cpp @@ -689,6 +689,17 @@ void SettingsModel::setConferenceEnabled (bool status) { // ----------------------------------------------------------------------------- +bool SettingsModel::getChatNotificationsEnabled () const { + return !!mConfig->getInt(UiSection, "chat_notifications_enabled", 1); +} + +void SettingsModel::setChatNotificationsEnabled (bool status) { + mConfig->setInt(UiSection, "chat_notifications_enabled", status); + emit chatNotificationsEnabledChanged(status); +} + +// ----------------------------------------------------------------------------- + bool SettingsModel::getChatNotificationSoundEnabled () const { return !!mConfig->getInt(UiSection, "chat_sound_notification_enabled", 1); } diff --git a/linphone-app/src/components/settings/SettingsModel.hpp b/linphone-app/src/components/settings/SettingsModel.hpp index df5b3acb1..fa70471ee 100644 --- a/linphone-app/src/components/settings/SettingsModel.hpp +++ b/linphone-app/src/components/settings/SettingsModel.hpp @@ -115,6 +115,8 @@ class SettingsModel : public QObject { Q_PROPERTY(bool conferenceEnabled READ getConferenceEnabled WRITE setConferenceEnabled NOTIFY conferenceEnabledChanged) + + Q_PROPERTY(bool chatNotificationsEnabled READ getChatNotificationsEnabled WRITE setChatNotificationsEnabled NOTIFY chatNotificationsEnabledChanged) Q_PROPERTY(bool chatNotificationSoundEnabled READ getChatNotificationSoundEnabled WRITE setChatNotificationSoundEnabled NOTIFY chatNotificationSoundEnabledChanged) Q_PROPERTY(QString chatNotificationSoundPath READ getChatNotificationSoundPath WRITE setChatNotificationSoundPath NOTIFY chatNotificationSoundPathChanged) @@ -358,6 +360,9 @@ public: bool getConferenceEnabled () const; void setConferenceEnabled (bool status); + bool getChatNotificationsEnabled () const; + void setChatNotificationsEnabled (bool status); + bool getChatNotificationSoundEnabled () const; void setChatNotificationSoundEnabled (bool status); @@ -604,6 +609,7 @@ signals: void conferenceEnabledChanged (bool status); + void chatNotificationsEnabledChanged (bool status); void chatNotificationSoundEnabledChanged (bool status); void chatNotificationSoundPathChanged (const QString &path); diff --git a/linphone-app/ui/views/App/Settings/SettingsCallsChat.qml b/linphone-app/ui/views/App/Settings/SettingsCallsChat.qml index a23cf05dd..0fcff494f 100644 --- a/linphone-app/ui/views/App/Settings/SettingsCallsChat.qml +++ b/linphone-app/ui/views/App/Settings/SettingsCallsChat.qml @@ -252,6 +252,20 @@ TabContainer { } } + FormLine { + FormGroup { + //: 'Enable notifications': settings label for enabling notifications. + label: qsTr('chatNotificationsEnabledLabel') + + Switch { + id: enableChatNotifications + + checked: SettingsModel.chatNotificationsEnabled + + onClicked: SettingsModel.chatNotificationsEnabled = !checked + } + } + } FormLine { FormGroup { label: qsTr('chatNotificationSoundEnabledLabel') diff --git a/linphone-sdk b/linphone-sdk index 29966e6f7..3d422c64a 160000 --- a/linphone-sdk +++ b/linphone-sdk @@ -1 +1 @@ -Subproject commit 29966e6f7573e84983981f37c816b62ddea296cd +Subproject commit 3d422c64a3a10289fe6dda31ccb0af17b41cfffa