Repository navigation
fix: keep released SDK parameter order on messaging and OAuth2 updates - #14467
Conversation
SDKs build positional arguments from the declared param order. New params were declared ahead of params already in released SDKs, and the messaging updates were reordered, so a regenerated SDK would shift existing positional calls onto the wrong values.
|
Review complete. No issues found — approved ✅. This PR reorders route parameter declarations in the Messaging message endpoints (Email create/update, Push update, Sms update) and the OAuth2 provider update actions so that previously-positionally-required params like
Reviewed commit: 97268f2 |
🟢 Tier S · Ready to mergeRestores the released positional parameter order for messaging message actions and OAuth2 update actions. The associated callback signatures are reordered to keep route arguments aligned with the declared parameters.
📂 Walkthrough · 10
Reviewed |
Security rulesNo new WARNING or ERROR findings from security rules. 19 existing findings tracked in
|
✨ Benchmark resultsComparing
Per-scenario breakdown & investigation detailsMetrics below reflect the current branch (after). Δ P95 compares against the base.
Top API waits (after) |

SDKs build positional arguments from the declared param order (required first, then optional). Several endpoints now declare params in a different order than the released SDKs, so the next SDK regeneration would silently shift existing positional calls:
messaging.updateEmailmessageId, topics, users, targets, subject, content, draft, html, cc, bcc, scheduledAt, attachments,replyToEmail, replyToNamemessaging.createEmail… attachments, draft, html, scheduledAt,replyToEmail, replyToNamemessaging.updatePushmessageId, topics, users, targets, title, body, … priority,channelIdmessaging.updateSMSmessageId, topics, users, targets, content, draft, scheduledAtproject.updateOAuth2{Auth0,Discord,GitHub,Microsoft,Okta,Salesforce,Zoho}… enabled,promptproject.updateOAuth2GoogleclientId, clientSecret, prompt, enabled,nativeClientIds, nativeEnabledproject.updateOAuth2AppleserviceId, keyId, teamId, p8File, enabled,nativeClientIds, nativeEnabledaction()/handle()arguments are reordered to match, since route values are passed positionally. REST and GraphQL callers are unaffected (named fields).Checked: every changed action's callback signature matches its declared params, Pint and PHPStan pass. Same class of fix as #14423.
Closes #14468