fix: align BTCPay manifest dependency with effective compatibility#177
fix: align BTCPay manifest dependency with effective compatibility#177rockstardev merged 2 commits intomasterfrom
Conversation
|
Note
|
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Docstring Coverage | Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. | Write docstrings for the functions missing them to satisfy the coverage threshold. |
✅ Passed checks (2 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The title clearly and specifically summarizes the main change: aligning BTCPay manifest dependencies with effective compatibility constraints. |
| Description check | ✅ Passed | The description is directly related to the changeset, explaining how the PR ensures BTCPayServer manifest dependencies match effective compatibility stored in published versions. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing Touches
📝 Generate docstrings
- Create stacked PR
- Commit on current branch
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Commit unit tests in branch
feat/btcpay-compatibility
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@PluginBuilder/Controllers/ApiController.cs`:
- Around line 567-572: The current check uses
SequenceEqual(PluginVersion.Zero.VersionParts) which only matches a full-length
[0,0,0,0]; change the isUnrestricted logic to treat any-min-version that is all
zeros (regardless of length) as unrestricted by replacing the SequenceEqual
check with a test that ensures every element in btcpayMinVersion is zero (e.g.,
btcpayMinVersion.All(v => v == 0)); keep the btcpayMaxVersion null check and the
existing behavior of calling btcpayDependency?.Remove() and returning clone when
unrestricted; add a regression test that supplies short zero overrides like [0]
or [0,0] to ensure the dependency is removed.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 427eebfa-fa84-4936-a00a-2f509546bb45
📒 Files selected for processing (2)
PluginBuilder.Tests/BTCPayCompatibilityTests.csPluginBuilder/Controllers/ApiController.cs
rockstardev
left a comment
There was a problem hiding this comment.
You keep rocking with the PRs, keep it up
Description
This PR makes the Plugin Builder API return BTCPayServer manifest dependencies that match the effective compatibility stored in published versions.
It keeps the public catalog, update checks, and BTCPay Manage Plugins dependency rendering consistent when BTCPay min/max compatibility is overridden.