Repository navigation
fix(llc): regenerate the OpenAPI client at protocol v239.70.0 - #3064
VelikovPetar wants to merge 1 commit into
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## v11 #3064 +/- ##
======================================
Coverage ? 77.94%
======================================
Files ? 469
Lines ? 29226
Branches ? 0
======================================
Hits ? 22779
Misses ? 6447
Partials ? 0 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Submit a pull request
Linear: FLU-929
Github Issue: #
Warning
Defer merging until the backend v239.68.0 rollout reaches every cluster. That release (CHA-5968, CHA-3441) makes the server always send
app.defaults, memberuser_idand own-userblocked_user_ids, and this spec marks those fields required. Against a server that predates it — the demo app's cluster on 2026-10-14 — the regenerated client fails to decode:getApp, sogetAppSettingsreturns a failure and the settings load on connect fails silently (connectUseritself still succeeds);ChannelMemberResponse, which includeschannel.membershipin a generatedqueryChannelsresponse.Released SDKs and the current
queryChannelspath are unaffected: they decode the hand-written models, and nothing inlib/src/decodes the generatedChannelMemberResponse.CLA
Description of the pull request
Regenerates
lib/open_api/atopenapi-v239.70.0with the generator fix from GetStream/chat#18085 (monolithv239.67.0-238-g8d6e1fa600). It is the first protocol release whose spec marks thesortquery params ofGetRepliesandGetPinnedMessagesas JSON.Object-typed GET query params used to go out as plain retrofit
@Querys, so Dio bracket-expanded the payload (payload[filter_conditions][id]=…) ortoString()ed the sort list, and the server answered 400invalid json data. Each of these params is now sent as one JSON-encoded query value. The typed public method onDefaultApistays as it was and forwards to a private retrofit method:payload:queryMembers,queryUsers,search,queryBannedUsers,queryFutureChannelBans,queryMessageFlagssort:getReplies,getPinnedMessagesA
DateTimeinside the value is sent as UTC RFC3339 and aSetas a list. A value that can't be encoded (a hand-written enum, aDuration) returns a failure without sending a request.Spec drift (
v239.44.1→v239.70.0)queryChannelBans, now listed in group 11.AppResponseFields.defaults,ChannelMemberResponse.userIdandOwnUserResponse.blockedUserIds. See the warning above.revokeTokensIssuedBeforefromUserResponseand its siblings. No mapper read it.Test fixtures are updated for
defaultsandrevokeTokensIssuedBefore.generate_plan.pynow lists an op under its public name rather than its private_nameretrofit method.Testing
dart analyze --fatal-infosclean;flutter test --exclude-tags livegreen, 1,896 tests.New request-level tests in
test/open_api/api/default_api_json_query_test.dartassert on the outgoing request:payloadandsorteach go out as one JSON query value with no bracket keys;DateTimeis sent in UTC and aSetas a list;Durationreturns a failure without sending a request;Six of the seven fail against the previous client.
Local live runs against the demo app:
queryChannelsprobe fails on the missing membershipuser_id, which is the rollout issue above.🤖 Generated with Claude Code