Repository navigation
feat: add AllAsync helpers for wireless packet loss and appliance/cellular gateway uplink statuses (#435) - #436
Merged
rolandbanks merged 1 commit intoSep 30, 2026
Conversation
…lular gateway uplink statuses (#435) The single-page methods return only the first page (at most 1,000 items) and give no sign that more exist, so larger organizations were silently cut off. GetOrganizationWirelessDevicesPacketLossAllAsync, GetOrganizationApplianceUplinkStatusesAllAsync and GetOrganizationCellularGatewayUplinkStatusesAllAsync follow the Link header across every page through MerakiClient.GetAllAsync, and are all-or-nothing like the other helpers (#355). Offline tests: UplinkStatusesAndPacketLossPagingTests. Read-only live tests: OrganizationTests, Appliance.Uplinks.StatusesTests and CellularGateway.Uplink.StatusesTests. Cherry-picked from 53d4561, released as 1.70.146 on the 1.70 line. Also adds a meraki-api-update skill section listing the Uplinks members Meraki returns but the v1.74.0 spec does not document, which the gap report cannot find. MS-26925
Not up to standards ⛔🔴 Issues
|
| Category | Results |
|---|---|
| Complexity | 1 medium |
🟢 Metrics 10 complexity
Metric Results Complexity 10
🟢 Coverage 100.00% diff coverage · +0.46% coverage variation
Metric Results Coverage variation ✅ +0.46% coverage variation Diff coverage ✅ 100.00% diff coverage Coverage variation details
Coverable lines Covered lines Coverage Common ancestor commit (7633d4c) 7841 2915 37.18% Head commit (2dd81aa) 7884 (+43) 2967 (+52) 37.63% (+0.46%) Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch:
<coverage of head commit> - <coverage of common ancestor commit>Diff coverage details
Coverable lines Covered lines Diff coverage Pull request (#436) 43 43 100.00% Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified:
<covered lines added or modified>/<coverable lines added or modified> * 100%
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.
TIP This summary will be updated as you push new changes.
rolandbanks
deleted the
feature/435-paging-packet-loss-and-uplink-statuses
branch
September 30, 2026 11:18
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.
What
Closes #435. Three organization-wide calls now have
...AllAsynchelpers that follow theLinkheader to the last page throughMerakiClient.GetAllAsync, like the existing helpers:GetOrganizationWirelessDevicesPacketLossAllAsyncGET /organizations/{organizationId}/wireless/devices/packetLoss/byDeviceGetOrganizationApplianceUplinkStatusesAllAsyncGET /organizations/{organizationId}/appliance/uplink/statusesGetOrganizationCellularGatewayUplinkStatusesAllAsyncGET /organizations/{organizationId}/cellularGateway/uplink/statusesEach is backed by a new
internal...ApiResponseAsyncmethod on the same route. The single-page methods are unchanged.Why: the single-page methods return only the first page (at most 1,000 items) and give no sign that more exist, so larger organizations were silently cut off. Found in production.
Already released as 1.70.146 from
hotfix/435-paging-packet-loss-and-uplink-statuses(cut from the1.70.145tag, commit 53d4561) for consumers still on the 1.70 line and Refit 15. This PR is the same commit cherry-picked ontomain, with its own changelog entry and the skill note below.Also: members the spec does not document
Testing against live organizations found four
Uplinksmembers that Meraki returns but the v1.74.0 spec does not document:radioAccessTechnology,iccid2,msisdn2andimei. The gap report cannot find these by design, so they are recorded in a new section of.github/skills/meraki-api-update/SKILL.md.The model is deliberately left alone: every value seen apart from
radioAccessTechnology[].typewas null, so there is nothing to take their types from yet. With the defaultJsonMissingMemberHandling.Ignorethey are harmless. UnderThrowOnError, as the live tests use, the existing single-page uplink status calls fail on an organization whose devices report them.Compatibility
The three interfaces gain
internalmembers, so a type outside the library that implementsIWirelessDevicePacketLoss,IApplianceUplinkStatusesorICellularGatewayUplinkStatusesno longer compiles. That matches the interfaces that already carry...ApiResponseAsyncmembers.Verification
The offline tests build the Refit clients with
MerakiClient's settings over a handler that serves canned pages. They show every page is followed, the filters and time window are sent on every page, one page means one request, and a failing later page throws rather than returning the first page.Read-only live tests, run by hand on the 1.70 line:
ThrowOnError, before the helper runs, because of the undocumented members above. The multi-page behaviour of these two helpers is covered by the offline tests.MS-26925
🤖 Generated with Claude Code