From ab8ab9a8e4b9319d9781033cd19e45b79bb79fae Mon Sep 17 00:00:00 2001 From: Eugene Manuilov Date: Wed, 5 Feb 2025 23:27:02 +0200 Subject: [PATCH 1/2] Fix one-tap re-appearing issue. --- includes/Modules/Sign_In_With_Google.php | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/includes/Modules/Sign_In_With_Google.php b/includes/Modules/Sign_In_With_Google.php index 7b910d923db..73061cd221f 100644 --- a/includes/Modules/Sign_In_With_Google.php +++ b/includes/Modules/Sign_In_With_Google.php @@ -363,8 +363,9 @@ private function render_signinwithgoogle() { $render_buttons = $is_wp_login || $is_woocommerce_login; $render_one_tap = ! empty( $settings['oneTapEnabled'] ) && ( $is_wp_login || ! is_user_logged_in() ); - if ( empty( $redirect_to ) && ! $render_buttons && $render_one_tap && isset( $_SERVER['REQUEST_URI'] ) ) { - $redirect_to = wp_strip_all_tags( wp_unslash( $_SERVER['REQUEST_URI'] ) ); + // If no need to render buttons and One-tap then return. + if ( ! $render_buttons && ! $render_one_tap ) { + return; } // Set the cookie time to live to 5 minutes. If the redirect_to is empty, @@ -389,9 +390,14 @@ private function render_signinwithgoogle() { headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams( response ) } ); - if ( res.ok && res.redirected ) { - location.assign( res.url ); - } + + + location.reload(); + + if ( res.ok && res.redirected ) { + location.assign( res.url ); + } + } catch( error ) { console.error( error ); } @@ -425,9 +431,11 @@ private function render_signinwithgoogle() { google.accounts.id.prompt(); - const expires = new Date(); - expires.setTime( expires.getTime() + ); - document.cookie = "=;expires=" + expires.toUTCString() + ";path="; + + const expires = new Date(); + expires.setTime( expires.getTime() + ); + document.cookie = "=;expires=" + expires.toUTCString() + ";path="; + } )(); Date: Wed, 5 Feb 2025 23:43:02 +0000 Subject: [PATCH 2/2] Adjust code comment for clarity. --- includes/Modules/Sign_In_With_Google.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/Modules/Sign_In_With_Google.php b/includes/Modules/Sign_In_With_Google.php index 73061cd221f..093d6cf8b8d 100644 --- a/includes/Modules/Sign_In_With_Google.php +++ b/includes/Modules/Sign_In_With_Google.php @@ -363,7 +363,7 @@ private function render_signinwithgoogle() { $render_buttons = $is_wp_login || $is_woocommerce_login; $render_one_tap = ! empty( $settings['oneTapEnabled'] ) && ( $is_wp_login || ! is_user_logged_in() ); - // If no need to render buttons and One-tap then return. + // If we aren't rendering buttons or One-tap, return early. if ( ! $render_buttons && ! $render_one_tap ) { return; }