Skip to content

fix: give two methods the organizationId their routes need - #434

Merged
danielabbatt merged 1 commit into
mainfrom
fix/refit-unmatched-route-parameters
Sep 29, 2026
Merged

danielabbatt merged 1 commit into
mainfrom
fix/refit-unmatched-route-parameters

Conversation

@danielabbatt

@danielabbatt danielabbatt commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #422 so its changelog entry cannot conflict with the 1.74 chain. Merges as 1.74.13.

Before merging, retarget the base to main. Base branches are not auto-deleted in this repo, so GitHub will not retarget for you. Merge only after #422 is on main, with a merge commit; do not squash, rebase or click Update branch.

Why

The Dependabot Refit 16 upgrades (#432, #433) fail to build with two RF015 errors from Refit 16's new analyzer. They are real bugs, not a Refit regression: both routes contain {organizationId} and no parameter fills it, so Refit throws before sending on every call, with Refit 15 too.

Method Was Now
IOrganizationsVpnSiteToSiteIpsec.UpdateOrganizationApplianceVpnSiteToSiteIpsecPeersSlasAsync no organization parameter at all string organizationId first, like GetOrganizationApplianceVpnSiteToSiteIpsecPeersSlasAsync
ICameraCustomAnalyticsArtifacts.CreateOrganizationCameraCustomAnalyticsArtifactAsync string serial string organizationId (positional callers unaffected; serial: named callers must rename)

No code in the repo calls either method.

Evidence

New Meraki.Api.Test.Client.UnmatchedRouteParameterTests builds the Refit client with MerakiClient's settings over a recording handler (same pattern as #428's test). Before the fix the camera test failed with:

System.ArgumentException : URL /organizations/{organizationId}/camera/customAnalytics/artifacts has parameter {organizationId}, but no method parameter matches

After: both pass. I also trialled each Dependabot bump locally on top of this branch (not committed):

#432 (Refit + Refit.Newtonsoft.Json 16.3.0): build OK, offline tests 420/420
#433 (Refit + Refit.Reflection 16.3.0):     build OK, offline tests 420/420

After this merges

Comment @dependabot rebase on #432 and #433 and they should go green. Note each bumps Refit plus one companion, leaving the other at 15.2.0. Merging one will make Dependabot rebase the other, and after both all three are on 16.3.0.

@codacy-production

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 4 complexity

Metric Results
Complexity 4

View in Codacy

AI Reviewer: run a review on demand. To trigger the first review automatically, go to your organization or repository integration settings. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

@danielabbatt
danielabbatt force-pushed the feat/map-livetools-general-members branch from 18d6fd4 to e545f96 Compare September 29, 2026 12:43
@danielabbatt
danielabbatt force-pushed the fix/refit-unmatched-route-parameters branch from f5bd23a to 386c6a8 Compare September 29, 2026 12:43
@danielabbatt
danielabbatt force-pushed the feat/map-livetools-general-members branch from e545f96 to b3ad985 Compare September 29, 2026 12:52
@danielabbatt
danielabbatt force-pushed the fix/refit-unmatched-route-parameters branch from 386c6a8 to 7af3794 Compare September 29, 2026 12:52
UpdateOrganizationApplianceVpnSiteToSiteIpsecPeersSlasAsync had no
organization parameter, and CreateOrganizationCameraCustomAnalyticsArtifactAsync
named it "serial". Both routes contain {organizationId}, so Refit threw
ArgumentException before sending and neither method could ever succeed.
Refit 16's RF015 analyzer rejects both declarations, which is what broke the
Dependabot Refit 16 upgrades.

UnmatchedRouteParameterTests builds the Refit client over a recording
handler and checks each request path; the camera test reproduced the
ArgumentException before the fix.
@danielabbatt
danielabbatt force-pushed the feat/map-livetools-general-members branch from b3ad985 to 1eea377 Compare September 29, 2026 12:56
@danielabbatt
danielabbatt force-pushed the fix/refit-unmatched-route-parameters branch from 7af3794 to 4fe9ce3 Compare September 29, 2026 12:56

@danielabbatt danielabbatt left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Looks good

@danielabbatt
danielabbatt changed the base branch from feat/map-livetools-general-members to main September 29, 2026 13:59
@danielabbatt
danielabbatt merged commit fc826dd into main Sep 29, 2026
1 check passed
@danielabbatt
danielabbatt deleted the fix/refit-unmatched-route-parameters branch September 29, 2026 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant