Add retry config option#761
Conversation
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
* chore: Added and `AGENTS.md` file to instruct AI agents how to interact with this repository (firebase#710) * fix(auth): Fixed auth error code parsing (firebase#712) * fix(auth): Fixed auth error code parsing * fix(auth): Fixed test to use error message prefix * chore: update copyright headers from Google Inc. to Google LLC (firebase#713) * chore: Update github actions workflows and integration test resources (firebase#740) * chore: Pinned github actions to a full-length commit SHA * chore: Update integration test resources * chore: Added environment label to release action * Trigger integration tests * feat(firestore): Added Firestore Multi Database Support (firebase#733) * feat(firestore): Add Firestore Multi Database Support * fix: Address gemini review * fix: gemini review * fix: Update name from API review * fix: Address review comments * chore: Fix CONTRIBUTING.md typo Co-authored-by: Lahiru Maramba <llahiru@gmail.com> --------- Co-authored-by: Lahiru Maramba <llahiru@gmail.com> * feat(auth): Add `QueryUsers` API (firebase#727) This change implements the accounts:query functionality, providing a new QueryUsers method that allows searching for users with filters and sorting options. RELEASE_NOTE: Added QueryUsers() API to support querying user accounts with filters, sorting, and pagination. * Update the release actions process (firebase#741) This PR refactors the release automation to improve security by removing the direct merge from the workflow. * [chore] Release 4.19.0 (firebase#742) * Revert "[chore] Release 4.19.0 (firebase#742)" (firebase#744) This reverts commit 3a86709. * chore: Update Release Workflows for Push triggers (firebase#745) * chore: Update release actions to run on Release env * Trigger CI * update the actions * update the base_ref * remove fetch-depth to prevent conflicts * [chore] Release 4.19.0 Take 2 (firebase#746) --------- Co-authored-by: Jonathan Edey <145066863+jonathanedey@users.noreply.github.com> Co-authored-by: Lahiru Maramba <llahiru@gmail.com>
Allow callers to pass retry policy through option.ClientOption so Messaging can honor custom retry behavior from NewApp options. When no retry option is supplied the default retry config is still applied.
f67f0c8 to
29d70e9
Compare
There was a problem hiding this comment.
Code Review
This pull request updates copyright headers to 'Google LLC' across the SDK and bumps the version to 4.19.0. Significant additions include a new QueryUsers API for the Auth service (supporting both project and tenant levels), support for named Firestore databases via FirestoreWithDatabaseID, and a WithRetryConfig option for customizing HTTP client retries. A new AGENTS.md guide was also introduced. Feedback addressed minor typos in the documentation and recommended avoiding the mutation of input arguments within the QueryUsersRequest building logic to prevent unexpected side effects.
I am having trouble creating individual review comments. Click here to see my feedback.
AGENTS.md (24)
There is a typo here. Firbase should be Firebase.
- **Error Handling:** Errors are handled using standard Go idioms. Firebase errors are defined in `internal/errors.go` however these errors can be further modified within each service. This modification is applied using that service's set `internal.HTTPClient.CreateErrFn` value.
AGENTS.md (72)
There is a typo here. barnch should be branch.
- When creating a new branch use the format `agentName-short-description`.
AGENTS.md (124)
It's a common convention to end files with a newline character. Please add one here.
- id: firebase-admin-go
auth/user_mgt.go (1122-1125)
This block modifies the original QueryUsersRequest passed by the caller by setting ReturnUserInfo if it's nil. This is a side effect that might be unexpected. It's generally better to avoid mutating input arguments. Consider creating a copy of the request struct q at the beginning of the build method and working with the copy instead.
For example:
func (q *QueryUsersRequest) build() interface{} {
// ...
req := *q // create a copy
if req.ReturnUserInfo == nil {
t := true
req.ReturnUserInfo = &t
}
// ... then use req to build the final struct
}
To add feature for configurable retry option.
#476