Conversation
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This pull request introduces a new background token auto-renewal feature to the client, allowing tokens to be proactively refreshed before expiration to reduce authentication latency. The implementation is opt-in via a new
RemoteOptions.AutoRenewTokenfield. The pull request also updates GitHub Actions workflow dependencies and Go versions, and adds comprehensive tests for the new auto-renew logic.Token Auto-Renewal Feature:
AutoRenewTokenboolean option toRemoteOptionsand documented it inREADME.md. When enabled, the client schedules a background renewal of the authentication token shortly before it expires, reducing the chance of synchronous re-authentication delays during foreground requests. [1] [2] [3]tokenAutoRenewertype in a new fileclient_auto_renew.go, which manages scheduling and safely updating tokens in the background, including robust handling of race conditions and cancellation. [1] [2] [3]remote.goto support both synchronous and background token refresh, and to ensure thread safety and correct scheduling whenAutoRenewTokenis enabled. [1] [2]Testing:
client_auto_renew_test.goto verify the correct scheduling, race handling, and cancellation semantics of the background token renewer.CI/CD and Dependency Updates:
actions/checkout,actions/setup-go, andsonarsource/sonarqube-scan-action, and bumped the default/tested Go version from 1.26.4 to 1.26.5. [1] [2] [3] [4] [5] [6] [7]These changes together add a robust, opt-in mechanism for seamless token renewal, improve developer experience, and keep CI dependencies up to date.