force starting timeout when oidc authentication requested so we can cancel the process in case the url isn't working

This commit is contained in:
Gaelle Braud 2026-01-23 10:57:15 +01:00
parent 770ed045e5
commit be5a7fa4e7
6 changed files with 83 additions and 79 deletions

View file

@ -306,6 +306,9 @@ App::App(int &argc, char *argv[])
setWindowIcon(QIcon(Constants::WindowIconPath)); setWindowIcon(QIcon(Constants::WindowIconPath));
initFonts(); initFonts();
//------------------- //-------------------
mOIDCRefreshTimer.setInterval(1000);
mOIDCRefreshTimer.setSingleShot(false);
mLinphoneThread = new Thread(this); mLinphoneThread = new Thread(this);
init(); init();
@ -329,9 +332,6 @@ App::App(int &argc, char *argv[])
mEventCountNotifier = new EventCountNotifier(this); mEventCountNotifier = new EventCountNotifier(this);
mDateUpdateTimer.start(); mDateUpdateTimer.start();
mOIDCRefreshTimer.setInterval(1000);
mOIDCRefreshTimer.setSingleShot(false);
#ifdef Q_OS_LINUX #ifdef Q_OS_LINUX
exportDesktopFile(); exportDesktopFile();
#endif #endif
@ -530,7 +530,6 @@ void App::setSelf(QSharedPointer<App>(me)) {
mCoreModelConnection->makeConnectToModel(&CoreModel::oidcRemainingTimeBeforeTimeoutChanged, mCoreModelConnection->makeConnectToModel(&CoreModel::oidcRemainingTimeBeforeTimeoutChanged,
[this](int remainingTime) { [this](int remainingTime) {
qDebug() << "App: oidc timeout changed";
mCoreModelConnection->invokeToCore([this, remainingTime] { mCoreModelConnection->invokeToCore([this, remainingTime] {
mRemainingTimeBeforeOidcTimeout = remainingTime; mRemainingTimeBeforeOidcTimeout = remainingTime;
emit remainingTimeBeforeOidcTimeoutChanged(); emit remainingTimeBeforeOidcTimeoutChanged();

View file

@ -682,14 +682,14 @@
<message> <message>
<location filename="../../core/App.cpp" line="425"/> <location filename="../../core/App.cpp" line="425"/>
<location filename="../../core/App.cpp" line="503"/> <location filename="../../core/App.cpp" line="503"/>
<location filename="../../core/App.cpp" line="790"/> <location filename="../../core/App.cpp" line="789"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<extracomment>Error</extracomment> <extracomment>Error</extracomment>
<translation>Fehler</translation> <translation>Fehler</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="426"/> <location filename="../../core/App.cpp" line="426"/>
<location filename="../../core/App.cpp" line="792"/> <location filename="../../core/App.cpp" line="791"/>
<source>info_popup_configuration_failed_message</source> <source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment> <extracomment>Remote provisioning failed : %1</extracomment>
<translation>Remote-Provisionierung fehlgeschlagen: %1</translation> <translation>Remote-Provisionierung fehlgeschlagen: %1</translation>
@ -729,86 +729,86 @@
<translation>Ihre Version ist auf dem neuesten Stand</translation> <translation>Ihre Version ist auf dem neuesten Stand</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="786"/> <location filename="../../core/App.cpp" line="785"/>
<source>configuration_error_detail</source> <source>configuration_error_detail</source>
<extracomment>not reachable</extracomment> <extracomment>not reachable</extracomment>
<translation>nicht erreichbar</translation> <translation>nicht erreichbar</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1077"/> <location filename="../../core/App.cpp" line="1076"/>
<source>application_description</source> <source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment> <extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>Ein kostenloses Open-Source SIP Video-Telefon.</translation> <translation>Ein kostenloses Open-Source SIP Video-Telefon.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1079"/> <location filename="../../core/App.cpp" line="1078"/>
<source>command_line_arg_order</source> <source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment> <extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Kommandozeilen-Befehl an die Anwendung schicken</translation> <translation>Kommandozeilen-Befehl an die Anwendung schicken</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1083"/> <location filename="../../core/App.cpp" line="1082"/>
<source>command_line_option_show_help</source> <source>command_line_option_show_help</source>
<translation>Zeige Hilfe</translation> <translation>Zeige Hilfe</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1088"/> <location filename="../../core/App.cpp" line="1087"/>
<source>command_line_option_show_app_version</source> <source>command_line_option_show_app_version</source>
<translation>App-Version anzeigen</translation> <translation>App-Version anzeigen</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1096"/> <location filename="../../core/App.cpp" line="1095"/>
<source>command_line_option_config_to_fetch</source> <source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment> <extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Abzurufende Linphone-Konfigurationsdatei angeben. Sie wird mit der aktuellen Konfiguration zusammengeführt.</translation> <translation>Abzurufende Linphone-Konfigurationsdatei angeben. Sie wird mit der aktuellen Konfiguration zusammengeführt.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1098"/> <location filename="../../core/App.cpp" line="1097"/>
<source>command_line_option_config_to_fetch_arg</source> <source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment> <extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, Pfad oder Datei</translation> <translation>URL, Pfad oder Datei</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1103"/> <location filename="../../core/App.cpp" line="1102"/>
<source>command_line_option_minimized</source> <source>command_line_option_minimized</source>
<translation>Minimieren</translation> <translation>Minimieren</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1106"/> <location filename="../../core/App.cpp" line="1105"/>
<source>command_line_option_log_to_stdout</source> <source>command_line_option_log_to_stdout</source>
<translation>Debug-Informationen auf der Standardausgabe ausgeben</translation> <translation>Debug-Informationen auf der Standardausgabe ausgeben</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1109"/> <location filename="../../core/App.cpp" line="1108"/>
<source>command_line_option_print_app_logs_only</source> <source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment> <extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Nur Anwendungs-Logs ausgeben</translation> <translation>Nur Anwendungs-Logs ausgeben</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1565"/> <location filename="../../core/App.cpp" line="1564"/>
<source>hide_action</source> <source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment> <extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Ausblenden</translation> <translation>Ausblenden</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1565"/> <location filename="../../core/App.cpp" line="1564"/>
<source>show_action</source> <source>show_action</source>
<translation>Zeigen</translation> <translation>Zeigen</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1580"/> <location filename="../../core/App.cpp" line="1579"/>
<source>quit_action</source> <source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment> <extracomment>&quot;Quitter&quot;</extracomment>
<translation>Beenden</translation> <translation>Beenden</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1598"/> <location filename="../../core/App.cpp" line="1597"/>
<source>check_for_update</source> <source>check_for_update</source>
<extracomment>Check for update</extracomment> <extracomment>Check for update</extracomment>
<translation>Auf Updates prüfen</translation> <translation>Auf Updates prüfen</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1721"/> <location filename="../../core/App.cpp" line="1720"/>
<source>mark_all_read_action</source> <source>mark_all_read_action</source>
<translation>Alle als gelesen markieren</translation> <translation>Alle als gelesen markieren</translation>
</message> </message>
@ -5106,7 +5106,7 @@ Ablauf: %1</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="107"/> <location filename="../../model/auth/OIDCModel.cpp" line="107"/>
<location filename="../../model/auth/OIDCModel.cpp" line="273"/> <location filename="../../model/auth/OIDCModel.cpp" line="275"/>
<source>oidc_authentication_timeout_message</source> <source>oidc_authentication_timeout_message</source>
<extracomment>Timeout: Not authenticated</extracomment> <extracomment>Timeout: Not authenticated</extracomment>
<translation>Zeitüberschreitung: Nicht authentifiziert</translation> <translation>Zeitüberschreitung: Nicht authentifiziert</translation>
@ -5172,42 +5172,42 @@ Ablauf: %1</translation>
<translation>Autorisierung über den Browser anfordern</translation> <translation>Autorisierung über den Browser anfordern</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="222"/> <location filename="../../model/auth/OIDCModel.cpp" line="224"/>
<source>oidc_authentication_no_token_found_error</source> <source>oidc_authentication_no_token_found_error</source>
<translation>Kein Token gefunden</translation> <translation>Kein Token gefunden</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="235"/> <location filename="../../model/auth/OIDCModel.cpp" line="237"/>
<source>oidc_authentication_request_token_message</source> <source>oidc_authentication_request_token_message</source>
<extracomment>Requesting access token</extracomment> <extracomment>Requesting access token</extracomment>
<translation>Zugriffstoken wird angefordert</translation> <translation>Zugriffstoken wird angefordert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="240"/> <location filename="../../model/auth/OIDCModel.cpp" line="242"/>
<source>oidc_authentication_refresh_token_message</source> <source>oidc_authentication_refresh_token_message</source>
<extracomment>Refreshing access token</extracomment> <extracomment>Refreshing access token</extracomment>
<translation>Zugriffstoken wird aktualisiert</translation> <translation>Zugriffstoken wird aktualisiert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="245"/> <location filename="../../model/auth/OIDCModel.cpp" line="247"/>
<source>oidc_authentication_request_authorization_message</source> <source>oidc_authentication_request_authorization_message</source>
<extracomment>Requesting authorization</extracomment> <extracomment>Requesting authorization</extracomment>
<translation>Autorisierung wird angefordert</translation> <translation>Autorisierung wird angefordert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="250"/> <location filename="../../model/auth/OIDCModel.cpp" line="252"/>
<source>oidc_authentication_request_temporary_credentials_message</source> <source>oidc_authentication_request_temporary_credentials_message</source>
<extracomment>Requesting temporary credentials</extracomment> <extracomment>Requesting temporary credentials</extracomment>
<translation>Temporäre Anmeldedaten werden angefordert</translation> <translation>Temporäre Anmeldedaten werden angefordert</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="300"/> <location filename="../../model/auth/OIDCModel.cpp" line="302"/>
<source>oidc_authentication_no_auth_found_in_config_error</source> <source>oidc_authentication_no_auth_found_in_config_error</source>
<extracomment>No authorization endpoint found in OpenID configuration</extracomment> <extracomment>No authorization endpoint found in OpenID configuration</extracomment>
<translation>Kein Autorisierungs-Endpunkt in der OpenID-Konfiguration gefunden</translation> <translation>Kein Autorisierungs-Endpunkt in der OpenID-Konfiguration gefunden</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="315"/> <location filename="../../model/auth/OIDCModel.cpp" line="317"/>
<source>oidc_authentication_no_token_found_in_config_error</source> <source>oidc_authentication_no_token_found_in_config_error</source>
<extracomment>No token endpoint found in OpenID configuration</extracomment> <extracomment>No token endpoint found in OpenID configuration</extracomment>
<translation>Kein Token-Endpunkt in der OpenID-Konfiguration gefunden</translation> <translation>Kein Token-Endpunkt in der OpenID-Konfiguration gefunden</translation>

View file

@ -663,14 +663,14 @@
<message> <message>
<location filename="../../core/App.cpp" line="425"/> <location filename="../../core/App.cpp" line="425"/>
<location filename="../../core/App.cpp" line="503"/> <location filename="../../core/App.cpp" line="503"/>
<location filename="../../core/App.cpp" line="790"/> <location filename="../../core/App.cpp" line="789"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<extracomment>Error</extracomment> <extracomment>Error</extracomment>
<translation>Error</translation> <translation>Error</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="426"/> <location filename="../../core/App.cpp" line="426"/>
<location filename="../../core/App.cpp" line="792"/> <location filename="../../core/App.cpp" line="791"/>
<source>info_popup_configuration_failed_message</source> <source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment> <extracomment>Remote provisioning failed : %1</extracomment>
<translation>Remote provisioning failed : %1</translation> <translation>Remote provisioning failed : %1</translation>
@ -710,86 +710,86 @@
<translation>Up to date Your version is up to date</translation> <translation>Up to date Your version is up to date</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="786"/> <location filename="../../core/App.cpp" line="785"/>
<source>configuration_error_detail</source> <source>configuration_error_detail</source>
<extracomment>not reachable</extracomment> <extracomment>not reachable</extracomment>
<translation>not reachable</translation> <translation>not reachable</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1077"/> <location filename="../../core/App.cpp" line="1076"/>
<source>application_description</source> <source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment> <extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>A free and open source SIP video-phone.</translation> <translation>A free and open source SIP video-phone.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1079"/> <location filename="../../core/App.cpp" line="1078"/>
<source>command_line_arg_order</source> <source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment> <extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Send an order to the application towards a command line</translation> <translation>Send an order to the application towards a command line</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1083"/> <location filename="../../core/App.cpp" line="1082"/>
<source>command_line_option_show_help</source> <source>command_line_option_show_help</source>
<translation>Show this help</translation> <translation>Show this help</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1088"/> <location filename="../../core/App.cpp" line="1087"/>
<source>command_line_option_show_app_version</source> <source>command_line_option_show_app_version</source>
<translation>Show app version</translation> <translation>Show app version</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1096"/> <location filename="../../core/App.cpp" line="1095"/>
<source>command_line_option_config_to_fetch</source> <source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment> <extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation> <translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1098"/> <location filename="../../core/App.cpp" line="1097"/>
<source>command_line_option_config_to_fetch_arg</source> <source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment> <extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, path or file</translation> <translation>URL, path or file</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1103"/> <location filename="../../core/App.cpp" line="1102"/>
<source>command_line_option_minimized</source> <source>command_line_option_minimized</source>
<translation>Minimize</translation> <translation>Minimize</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1106"/> <location filename="../../core/App.cpp" line="1105"/>
<source>command_line_option_log_to_stdout</source> <source>command_line_option_log_to_stdout</source>
<translation>Log to stdout some debug information while running</translation> <translation>Log to stdout some debug information while running</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1109"/> <location filename="../../core/App.cpp" line="1108"/>
<source>command_line_option_print_app_logs_only</source> <source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment> <extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Print only logs from the application</translation> <translation>Print only logs from the application</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1565"/> <location filename="../../core/App.cpp" line="1564"/>
<source>hide_action</source> <source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment> <extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Hide</translation> <translation>Hide</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1565"/> <location filename="../../core/App.cpp" line="1564"/>
<source>show_action</source> <source>show_action</source>
<translation>Show</translation> <translation>Show</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1580"/> <location filename="../../core/App.cpp" line="1579"/>
<source>quit_action</source> <source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment> <extracomment>&quot;Quitter&quot;</extracomment>
<translation>Quit</translation> <translation>Quit</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1598"/> <location filename="../../core/App.cpp" line="1597"/>
<source>check_for_update</source> <source>check_for_update</source>
<extracomment>Check for update</extracomment> <extracomment>Check for update</extracomment>
<translation>Check for update</translation> <translation>Check for update</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1721"/> <location filename="../../core/App.cpp" line="1720"/>
<source>mark_all_read_action</source> <source>mark_all_read_action</source>
<translation>Marquer tout comme lu</translation> <translation>Marquer tout comme lu</translation>
</message> </message>
@ -4995,7 +4995,7 @@ Expiration : %1</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="107"/> <location filename="../../model/auth/OIDCModel.cpp" line="107"/>
<location filename="../../model/auth/OIDCModel.cpp" line="273"/> <location filename="../../model/auth/OIDCModel.cpp" line="275"/>
<source>oidc_authentication_timeout_message</source> <source>oidc_authentication_timeout_message</source>
<extracomment>Timeout: Not authenticated</extracomment> <extracomment>Timeout: Not authenticated</extracomment>
<translation>Timeout: Not authenticated</translation> <translation>Timeout: Not authenticated</translation>
@ -5061,42 +5061,42 @@ Expiration : %1</translation>
<translation>Requesting authorization from browser</translation> <translation>Requesting authorization from browser</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="222"/> <location filename="../../model/auth/OIDCModel.cpp" line="224"/>
<source>oidc_authentication_no_token_found_error</source> <source>oidc_authentication_no_token_found_error</source>
<translation>No token found</translation> <translation>No token found</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="235"/> <location filename="../../model/auth/OIDCModel.cpp" line="237"/>
<source>oidc_authentication_request_token_message</source> <source>oidc_authentication_request_token_message</source>
<extracomment>Requesting access token</extracomment> <extracomment>Requesting access token</extracomment>
<translation>Requesting access token</translation> <translation>Requesting access token</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="240"/> <location filename="../../model/auth/OIDCModel.cpp" line="242"/>
<source>oidc_authentication_refresh_token_message</source> <source>oidc_authentication_refresh_token_message</source>
<extracomment>Refreshing access token</extracomment> <extracomment>Refreshing access token</extracomment>
<translation>Refreshing access token</translation> <translation>Refreshing access token</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="245"/> <location filename="../../model/auth/OIDCModel.cpp" line="247"/>
<source>oidc_authentication_request_authorization_message</source> <source>oidc_authentication_request_authorization_message</source>
<extracomment>Requesting authorization</extracomment> <extracomment>Requesting authorization</extracomment>
<translation>Requesting authorization</translation> <translation>Requesting authorization</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="250"/> <location filename="../../model/auth/OIDCModel.cpp" line="252"/>
<source>oidc_authentication_request_temporary_credentials_message</source> <source>oidc_authentication_request_temporary_credentials_message</source>
<extracomment>Requesting temporary credentials</extracomment> <extracomment>Requesting temporary credentials</extracomment>
<translation>Requesting temporary credentials</translation> <translation>Requesting temporary credentials</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="300"/> <location filename="../../model/auth/OIDCModel.cpp" line="302"/>
<source>oidc_authentication_no_auth_found_in_config_error</source> <source>oidc_authentication_no_auth_found_in_config_error</source>
<extracomment>No authorization endpoint found in OpenID configuration</extracomment> <extracomment>No authorization endpoint found in OpenID configuration</extracomment>
<translation>No authorization endpoint found in OpenID configuration</translation> <translation>No authorization endpoint found in OpenID configuration</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="315"/> <location filename="../../model/auth/OIDCModel.cpp" line="317"/>
<source>oidc_authentication_no_token_found_in_config_error</source> <source>oidc_authentication_no_token_found_in_config_error</source>
<extracomment>No token endpoint found in OpenID configuration</extracomment> <extracomment>No token endpoint found in OpenID configuration</extracomment>
<translation>No token endpoint found in OpenID configuration</translation> <translation>No token endpoint found in OpenID configuration</translation>

View file

@ -658,14 +658,14 @@
<message> <message>
<location filename="../../core/App.cpp" line="425"/> <location filename="../../core/App.cpp" line="425"/>
<location filename="../../core/App.cpp" line="503"/> <location filename="../../core/App.cpp" line="503"/>
<location filename="../../core/App.cpp" line="790"/> <location filename="../../core/App.cpp" line="789"/>
<source>info_popup_error_title</source> <source>info_popup_error_title</source>
<extracomment>Error</extracomment> <extracomment>Error</extracomment>
<translation>Erreur</translation> <translation>Erreur</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="426"/> <location filename="../../core/App.cpp" line="426"/>
<location filename="../../core/App.cpp" line="792"/> <location filename="../../core/App.cpp" line="791"/>
<source>info_popup_configuration_failed_message</source> <source>info_popup_configuration_failed_message</source>
<extracomment>Remote provisioning failed : %1</extracomment> <extracomment>Remote provisioning failed : %1</extracomment>
<translation>La configuration distante a échoué : %1</translation> <translation>La configuration distante a échoué : %1</translation>
@ -705,86 +705,86 @@
<translation>Votre version est à jour</translation> <translation>Votre version est à jour</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="786"/> <location filename="../../core/App.cpp" line="785"/>
<source>configuration_error_detail</source> <source>configuration_error_detail</source>
<extracomment>not reachable</extracomment> <extracomment>not reachable</extracomment>
<translation>indisponible</translation> <translation>indisponible</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1077"/> <location filename="../../core/App.cpp" line="1076"/>
<source>application_description</source> <source>application_description</source>
<extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment> <extracomment>&quot;A free and open source SIP video-phone.&quot;</extracomment>
<translation>A free and open source SIP video-phone.</translation> <translation>A free and open source SIP video-phone.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1079"/> <location filename="../../core/App.cpp" line="1078"/>
<source>command_line_arg_order</source> <source>command_line_arg_order</source>
<extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment> <extracomment>&quot;Send an order to the application towards a command line&quot;</extracomment>
<translation>Send an order to the application towards a command line</translation> <translation>Send an order to the application towards a command line</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1083"/> <location filename="../../core/App.cpp" line="1082"/>
<source>command_line_option_show_help</source> <source>command_line_option_show_help</source>
<translation>Show this help</translation> <translation>Show this help</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1088"/> <location filename="../../core/App.cpp" line="1087"/>
<source>command_line_option_show_app_version</source> <source>command_line_option_show_app_version</source>
<translation>Afficher la version de l&apos;application</translation> <translation>Afficher la version de l&apos;application</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1096"/> <location filename="../../core/App.cpp" line="1095"/>
<source>command_line_option_config_to_fetch</source> <source>command_line_option_config_to_fetch</source>
<extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment> <extracomment>&quot;Specify the linphone configuration file to be fetched. It will be merged with the current configuration.&quot;</extracomment>
<translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation> <translation>Specify the linphone configuration file to be fetched. It will be merged with the current configuration.</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1098"/> <location filename="../../core/App.cpp" line="1097"/>
<source>command_line_option_config_to_fetch_arg</source> <source>command_line_option_config_to_fetch_arg</source>
<extracomment>&quot;URL, path or file&quot;</extracomment> <extracomment>&quot;URL, path or file&quot;</extracomment>
<translation>URL, path or file</translation> <translation>URL, path or file</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1103"/> <location filename="../../core/App.cpp" line="1102"/>
<source>command_line_option_minimized</source> <source>command_line_option_minimized</source>
<translation>Minimiser</translation> <translation>Minimiser</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1106"/> <location filename="../../core/App.cpp" line="1105"/>
<source>command_line_option_log_to_stdout</source> <source>command_line_option_log_to_stdout</source>
<translation>Log to stdout some debug information while running</translation> <translation>Log to stdout some debug information while running</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1109"/> <location filename="../../core/App.cpp" line="1108"/>
<source>command_line_option_print_app_logs_only</source> <source>command_line_option_print_app_logs_only</source>
<extracomment>&quot;Print only logs from the application&quot;</extracomment> <extracomment>&quot;Print only logs from the application&quot;</extracomment>
<translation>Print only logs from the application</translation> <translation>Print only logs from the application</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1565"/> <location filename="../../core/App.cpp" line="1564"/>
<source>hide_action</source> <source>hide_action</source>
<extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment> <extracomment>&quot;Cacher&quot; &quot;Afficher&quot;</extracomment>
<translation>Cacher</translation> <translation>Cacher</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1565"/> <location filename="../../core/App.cpp" line="1564"/>
<source>show_action</source> <source>show_action</source>
<translation>Afficher</translation> <translation>Afficher</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1580"/> <location filename="../../core/App.cpp" line="1579"/>
<source>quit_action</source> <source>quit_action</source>
<extracomment>&quot;Quitter&quot;</extracomment> <extracomment>&quot;Quitter&quot;</extracomment>
<translation>Quitter</translation> <translation>Quitter</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1598"/> <location filename="../../core/App.cpp" line="1597"/>
<source>check_for_update</source> <source>check_for_update</source>
<extracomment>Check for update</extracomment> <extracomment>Check for update</extracomment>
<translation>Rechercher une mise à jour</translation> <translation>Rechercher une mise à jour</translation>
</message> </message>
<message> <message>
<location filename="../../core/App.cpp" line="1721"/> <location filename="../../core/App.cpp" line="1720"/>
<source>mark_all_read_action</source> <source>mark_all_read_action</source>
<translation>Marquer tout comme lu</translation> <translation>Marquer tout comme lu</translation>
</message> </message>
@ -4966,7 +4966,7 @@ Expiration : %1</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="107"/> <location filename="../../model/auth/OIDCModel.cpp" line="107"/>
<location filename="../../model/auth/OIDCModel.cpp" line="273"/> <location filename="../../model/auth/OIDCModel.cpp" line="275"/>
<source>oidc_authentication_timeout_message</source> <source>oidc_authentication_timeout_message</source>
<extracomment>Timeout: Not authenticated</extracomment> <extracomment>Timeout: Not authenticated</extracomment>
<translation>Timeout : non authentifié</translation> <translation>Timeout : non authentifié</translation>
@ -5032,42 +5032,42 @@ Expiration : %1</translation>
<translation>En attente d&apos;autorisation du navigateur</translation> <translation>En attente d&apos;autorisation du navigateur</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="222"/> <location filename="../../model/auth/OIDCModel.cpp" line="224"/>
<source>oidc_authentication_no_token_found_error</source> <source>oidc_authentication_no_token_found_error</source>
<translation>Token non trouvé</translation> <translation>Token non trouvé</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="235"/> <location filename="../../model/auth/OIDCModel.cpp" line="237"/>
<source>oidc_authentication_request_token_message</source> <source>oidc_authentication_request_token_message</source>
<extracomment>Requesting access token</extracomment> <extracomment>Requesting access token</extracomment>
<translation>En attente du token d&apos;accès</translation> <translation>En attente du token d&apos;accès</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="240"/> <location filename="../../model/auth/OIDCModel.cpp" line="242"/>
<source>oidc_authentication_refresh_token_message</source> <source>oidc_authentication_refresh_token_message</source>
<extracomment>Refreshing access token</extracomment> <extracomment>Refreshing access token</extracomment>
<translation>Token en cours de rafraîchissement</translation> <translation>Token en cours de rafraîchissement</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="245"/> <location filename="../../model/auth/OIDCModel.cpp" line="247"/>
<source>oidc_authentication_request_authorization_message</source> <source>oidc_authentication_request_authorization_message</source>
<extracomment>Requesting authorization</extracomment> <extracomment>Requesting authorization</extracomment>
<translation>Autorisation en cours</translation> <translation>Autorisation en cours</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="250"/> <location filename="../../model/auth/OIDCModel.cpp" line="252"/>
<source>oidc_authentication_request_temporary_credentials_message</source> <source>oidc_authentication_request_temporary_credentials_message</source>
<extracomment>Requesting temporary credentials</extracomment> <extracomment>Requesting temporary credentials</extracomment>
<translation>En attente d&apos;identifiants temporaires</translation> <translation>En attente d&apos;identifiants temporaires</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="300"/> <location filename="../../model/auth/OIDCModel.cpp" line="302"/>
<source>oidc_authentication_no_auth_found_in_config_error</source> <source>oidc_authentication_no_auth_found_in_config_error</source>
<extracomment>No authorization endpoint found in OpenID configuration</extracomment> <extracomment>No authorization endpoint found in OpenID configuration</extracomment>
<translation>Pas d&apos;autorisation trouvé dans la configuration OpenID</translation> <translation>Pas d&apos;autorisation trouvé dans la configuration OpenID</translation>
</message> </message>
<message> <message>
<location filename="../../model/auth/OIDCModel.cpp" line="315"/> <location filename="../../model/auth/OIDCModel.cpp" line="317"/>
<source>oidc_authentication_no_token_found_in_config_error</source> <source>oidc_authentication_no_token_found_in_config_error</source>
<extracomment>No token endpoint found in OpenID configuration</extracomment> <extracomment>No token endpoint found in OpenID configuration</extracomment>
<translation>Pas de token trouvé dans la configuration OpenID</translation> <translation>Pas de token trouvé dans la configuration OpenID</translation>

View file

@ -192,6 +192,8 @@ OIDCModel::OIDCModel(const std::shared_ptr<linphone::AuthInfo> &authInfo, QObjec
emit timeoutTimerStarted(); emit timeoutTimerStarted();
QDesktopServices::openUrl(url); QDesktopServices::openUrl(url);
}); });
mTimeout.start();
emit timeoutTimerStarted();
connect(&mOidc, &QOAuth2AuthorizationCodeFlow::finished, [this](QNetworkReply *reply) { connect(&mOidc, &QOAuth2AuthorizationCodeFlow::finished, [this](QNetworkReply *reply) {
connect(reply, &QNetworkReply::errorOccurred, connect(reply, &QNetworkReply::errorOccurred,

View file

@ -417,6 +417,9 @@ void CoreModel::onAuthenticationRequested(const std::shared_ptr<linphone::Core>
emit timeoutTimerStarted(); emit timeoutTimerStarted();
qDebug() << "start refresh timer"; qDebug() << "start refresh timer";
}); });
if (oidcModel->isTimerRunning()) {
emit timeoutTimerStarted();
}
connect(oidcModel, &OIDCModel::timeoutTimerStopped, this, [this] { emit timeoutTimerStopped(); }); connect(oidcModel, &OIDCModel::timeoutTimerStopped, this, [this] { emit timeoutTimerStopped(); });
connect(this, &CoreModel::forceOidcTimeout, oidcModel, [this, oidcModel] { connect(this, &CoreModel::forceOidcTimeout, oidcModel, [this, oidcModel] {
if (oidcModel->isTimerRunning()) { if (oidcModel->isTimerRunning()) {