From c6516e804696336c19833a0a843c547f88b1bd08 Mon Sep 17 00:00:00 2001 From: Dharmesh Patel Date: Sat, 1 Feb 2025 13:41:42 +0530 Subject: [PATCH 1/2] Don't show rate limits if the reset time has passed. --- includes/core.php | 7 +++++++ src/js/components/TwitterAccounts.js | 6 +++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/includes/core.php b/includes/core.php index 9bf4f2cd..d9d55465 100644 --- a/includes/core.php +++ b/includes/core.php @@ -502,6 +502,13 @@ function get_app_rate_limits_markup( $rate_limits ) { * @return string */ function get_rate_limits_markup( $title, $remaining, $limit, $reset ) { + // If reset time is less than current time, then rate limit is not available. + if ( $reset && $reset < time() ) { + return sprintf( + '

%s

', + esc_html__( 'No X/Twitter rate limit available yet. Make a post to X/Twitter first.', 'autoshare-for-twitter' ) + ); + } $remaining = isset( $remaining ) ? (int) $remaining : esc_html__( 'N/A', 'autoshare-for-twitter' ); $limit = isset( $limit ) ? (int) $limit : esc_html__( 'N/A', 'autoshare-for-twitter' ); diff --git a/src/js/components/TwitterAccounts.js b/src/js/components/TwitterAccounts.js index 8b77f9ac..aa4bab88 100644 --- a/src/js/components/TwitterAccounts.js +++ b/src/js/components/TwitterAccounts.js @@ -105,7 +105,11 @@ function TwitterAccount( props ) { * @return {JSX.Element} The account rate limits. */ function TwitterUserRateLimits( { rate_limits: rateLimits } ) { - if ( ! rateLimits || ! rateLimits.user_limit_24hour_limit ) { + if ( + ! rateLimits || + ! rateLimits.user_limit_24hour_limit || + rateLimits?.user_limit_24hour_reset < Math.floor( Date.now() / 1000 ) + ) { return (

{ __( From 6c07d36bb3df0985a06485046b65998a5625bbbd Mon Sep 17 00:00:00 2001 From: Dharmesh Patel Date: Wed, 5 Feb 2025 23:59:27 +0530 Subject: [PATCH 2/2] Don't show App limit if reset time is already passed. --- src/js/components/TwitterAccounts.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/js/components/TwitterAccounts.js b/src/js/components/TwitterAccounts.js index aa4bab88..20f7d344 100644 --- a/src/js/components/TwitterAccounts.js +++ b/src/js/components/TwitterAccounts.js @@ -144,6 +144,14 @@ function TwitterUserRateLimits( { rate_limits: rateLimits } ) { * @return {JSX.Element} The account rate limits. */ function TwitterAppRateLimits( { rate_limits: rateLimits } ) { + if ( + ! rateLimits || + ! rateLimits.app_limit_24hour_limit || + rateLimits?.app_limit_24hour_reset < Math.floor( Date.now() / 1000 ) + ) { + return null; + } + return (