Skip to content

feat!: adopt TS generator changes - #1896

Merged
szuperaz merged 4 commits into
release-v10from
open-api-latest-generator-changes
Oct 5, 2026
Merged

szuperaz merged 4 commits into
release-v10from
open-api-latest-generator-changes

Conversation

@szuperaz

@szuperaz szuperaz commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Breaking changes

  • API calls that contained path params changed their signature: path params are now in a separate object. Several API calls are affected; the migration guides in the repo have the full list of affected methods
  • With this change some hand-written wrapper types were changed/removed; these are also part of the migration guide.
  • All API calls that don't have query/body params got a placeholder request param to avoid future changes.

https://linear.app/stream/issue/REACT-1189/reduce-bundle-size-change-api-signature
https://linear.app/stream/issue/REACT-1205/ts-generator-avoid-potential-breaking-change-when-using-with-request

Description of the changes, What, Why and How?

  • Previously all path, query and body params were merged into a single object and all api calls had this merged param. With a TS generator update we can split path params into a separate object, and query + body params into another param. This change saves bundle size. The biggest consequence is that query/body params now sent API as-is, before only known parameters were sent.
  • Half-related fix: ReminderPaginator sent wrong key for pagination, this is now fixed
  • We added request options to API calls to allow canceling API requests. Since requestOptions should always be the last param of an API call, we can cause a breaking change if an API call that doesn't have query/body params today, gets new params because that would shift requestOptions arg position. To fix this issue we add a placeholder param to all API calls:
// before
client.getApp({signal: ''})

// after
client.getApp(undefined, {signal: ''})
// if getApp gets any new query/body params, it's ok, we won't have a breaking change

@szuperaz szuperaz changed the title feat!: TS generator changes feat!: adopt TS generator changes Oct 2, 2026
@szuperaz
szuperaz marked this pull request as ready for review October 2, 2026 19:22
Comment thread src/gen/models/index.ts
unban?: UnbanActionRequestPayload;
/**
* Deprecated: use restore instead — it now also reverses a block or shadow block. Configuration for unblock action.
* @deprecated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As we are working on major version, would it make sense to remove the deprecated properties?

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.

Hm, this is a good question. The open api generator doesn't exclude deprecated properties; this is because deprecations can happen at any time. If they're removed from the backend, they will be removed from the generated code too; but since the backend can't really have breaking changes, they probably won't remove deprecated fields. We may want to solve this down the road for generated SDKs (as this affects all SDKs), but since for JS we're wrapping up work before this major, it won't be this release.

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.

I've checked and we have 5 fields currently in generated models, and this number shouldn't really grow ideally, because it's quite rare that we depreacte a field in backend, exactly because we can't really do breaking changes there.

@szuperaz
szuperaz merged commit 82af6de into release-v10 Oct 5, 2026
4 checks passed
@szuperaz
szuperaz deleted the open-api-latest-generator-changes branch October 5, 2026 13:18
github-actions Bot pushed a commit that referenced this pull request Oct 5, 2026
## [10.0.0-rc.18](v10.0.0-rc.17...v10.0.0-rc.18) (2026-10-05)

### ⚠ BREAKING CHANGES

* adopt TS generator changes (#1896)

### Bug Fixes

* set thread cursor when initied from setItems ([#1898](#1898)) ([63bef43](63bef43))

### Features

* adopt TS generator changes ([#1896](#1896)) ([82af6de](82af6de))
@stream-ci-bot

Copy link
Copy Markdown

🎉 This PR is included in version 10.0.0-rc.18 🎉

The release is available on:

Your semantic-release bot 📦🚀

szuperaz added a commit to GetStream/stream-chat-react-native that referenced this pull request Oct 5, 2026
Relevant strema-chat-js PR:
GetStream/stream-chat-js#1896


https://linear.app/stream/issue/REACT-1189/reduce-bundle-size-change-api-signature

## 🎯 Goal

<!-- Describe why we are making this change -->

## 🛠 Implementation details

<!-- Provide a description of the implementation -->

## 🎨 UI Changes

<!-- Add relevant screenshots -->

<details>
<summary>iOS</summary>


<table>
    <thead>
        <tr>
            <td>Before</td>
            <td>After</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <!--<img src="" /> -->
            </td>
            <td>
                <!--<img src="" /> -->
            </td>
        </tr>
    </tbody>
</table>
</details>


<details>
<summary>Android</summary>

<table>
    <thead>
        <tr>
            <td>Before</td>
            <td>After</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>
                <!--<img src="" /> -->
            </td>
            <td>
                <!--<img src="" /> -->
            </td>
        </tr>
    </tbody>
</table>
</details>

## 🧪 Testing

<!-- Explain how this change can be tested (or why it can't be tested)
-->

## ☑️ Checklist

- [ ] I have signed the [Stream
CLA](https://docs.google.com/forms/d/e/1FAIpQLScFKsKkAJI7mhCr7K9rEIOpqIDThrWxuvxnwUq2XkHyG154vQ/viewform)
(required)
- [ ] PR targets the `develop` branch
- [ ] Documentation is updated
- [ ] New code is tested in main example apps, including all possible
scenarios
  - [ ] SampleApp iOS and Android
  - [ ] Expo iOS and Android
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants