Skip to content
This repository was archived by the owner on Dec 18, 2025. It is now read-only.

Merge v2.0.5#656

Merged
pingu2k4 merged 8 commits into
mainfrom
dev
Feb 4, 2025
Merged

Merge v2.0.5#656
pingu2k4 merged 8 commits into
mainfrom
dev

Conversation

@pingu2k4
Copy link
Copy Markdown
Contributor

@pingu2k4 pingu2k4 commented Feb 4, 2025

Possible mem perf improvements

Description by Korbit AI

What change is being made?

Update GitHub Actions configuration and refactor service collection extensions to enhance resilience policies and client registration for both Client and Server SDKs, while updating the SDK version number to 2.0.5.

Why are these changes being made?

Changes to the GitHub Actions ensure compatibility and correct versioning with updated dependencies, while refactoring service collection extensions simplify and modularize client registration and resilience policies, enabling easier modifications and maintenance. Updating the SDK version reflects improvements and bug fixes made to the client and server SDKs.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

@pingu2k4 pingu2k4 self-assigned this Feb 4, 2025
@pingu2k4 pingu2k4 merged commit 3f45e72 into main Feb 4, 2025
Copy link
Copy Markdown

@korbit-ai korbit-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by Korbit AI

Korbit automatically attempts to detect when you fix issues in new commits.
Category Issue Fix Detected
Performance Suboptimal Resilience Policy Chain Order ▹ view
Suppressed issues based on your team's Korbit activity
This issue Is similar to Because

line 66:

The HTTP client timeout is hardcoded to 30 seconds without considering potential long-running operations or being configurable.

Fixed HTTP Client Timeout

Ignored

When you react to issues (for example, an upvote or downvote) or you fix them, Korbit will tune future reviews based on these signals.

Files scanned
File Path Reviewed
src/PinguApps.Appwrite.Shared/Constants.cs
src/PinguApps.Appwrite.Server/ServiceCollectionExtensions.cs
src/PinguApps.Appwrite.Client/ServiceCollectionExtensions.cs

Explore our documentation to understand the languages and file types we support and the files we ignore.

Need a new review? Comment /korbit-review on this PR and I'll review your latest changes.

Korbit Guide: Usage and Customization

Interacting with Korbit

  • You can manually ask Korbit to review your PR using the /korbit-review command in a comment at the root of your PR.
  • You can ask Korbit to generate a new PR description using the /korbit-generate-pr-description command in any comment on your PR.
  • Too many Korbit comments? I can resolve all my comment threads if you use the /korbit-resolve command in any comment on your PR.
  • Chat with Korbit on issues we post by tagging @korbit-ai in your reply.
  • Help train Korbit to improve your reviews by giving a 👍 or 👎 on the comments Korbit posts.

Customizing Korbit

  • Check out our docs on how you can make Korbit work best for you and your team.
  • Customize Korbit for your organization through the Korbit Console.

Current Korbit Configuration

General Settings
Setting Value
Review Schedule Automatic excluding drafts
Max Issue Count 10
Automatic PR Descriptions
Issue Categories
Category Enabled
Documentation
Logging
Error Handling
Readability and Maintainability
Design Patterns
Performance
Security
Functionality

Feedback and Support

Note

Korbit Pro is free for open source projects 🎉

Looking to add Korbit to your team? Get started with a free 2 week trial here

Comment on lines +204 to +206
.WrapAsync(HttpPolicyExtensions
.HandleTransientHttpError()
.CircuitBreakerAsync(options.CircuitBreakerThreshold, TimeSpan.FromSeconds(options.CircuitBreakerDurationSeconds),
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suboptimal Resilience Policy Chain Order category Performance

Tell me more
What is the issue?

Circuit breaker policy is chained after retry policy, which can lead to inefficient handling of failures and unnecessary retries.

Why this matters

When circuit breaker follows retry policy, the system will attempt retries even when the circuit should be open, wasting resources and potentially overwhelming downstream services.

Suggested change ∙ Feature Preview

Reverse the order of policies to apply circuit breaker before retry:

return HttpPolicyExtensions
    .HandleTransientHttpError()
    .CircuitBreakerAsync(/*...*/)
    .WrapAsync(HttpPolicyExtensions
        .HandleTransientHttpError()
        .WaitAndRetryAsync(/*...*/));

Report a problem with this comment

💬 Chat with Korbit by mentioning @korbit-ai.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant