Summary
The 72 delta cmdlets return a single page: they follow no @odata.nextLink, so callers silently receive partial change sets.
What's working now
Delta cmdlets generate and call Graph correctly. Because they write the response envelope rather than enumerated items, they already expose @odata.deltaLink and @odata.nextLink as properties — something the published SDK's delta cmdlets do not do. -All / nextLink following was added to list cmdlets in #3706, but delta operations are emitted through the function path rather than the list template, so that loop never reached them.
How can we make it better
Give the delta shape page-following with deltaLink-aware termination, and a resume path — WithUrl($deltaLink) already exists on every generated delta request builder.
The design decision to make first: how to keep the deltaLink reachable while moving to enumerated output. Dropping the envelope naively would remove a capability callers have today, and the published SDK is not a usable model here — it parses @odata.deltaLink and discards it, so incremental sync round trips are not possible with its v1.0 delta cmdlets.
Summary
The 72 delta cmdlets return a single page: they follow no
@odata.nextLink, so callers silently receive partial change sets.What's working now
Delta cmdlets generate and call Graph correctly. Because they write the response envelope rather than enumerated items, they already expose
@odata.deltaLinkand@odata.nextLinkas properties — something the published SDK's delta cmdlets do not do.-All/ nextLink following was added to list cmdlets in #3706, but delta operations are emitted through the function path rather than the list template, so that loop never reached them.How can we make it better
Give the delta shape page-following with deltaLink-aware termination, and a resume path —
WithUrl($deltaLink)already exists on every generated delta request builder.The design decision to make first: how to keep the deltaLink reachable while moving to enumerated output. Dropping the envelope naively would remove a capability callers have today, and the published SDK is not a usable model here — it parses
@odata.deltaLinkand discards it, so incremental sync round trips are not possible with its v1.0 delta cmdlets.