Skip to content

feat: [CHA-4947] regenerate from latest OpenAPI - #282

Merged
itsmeadi merged 1 commit into
mainfrom
CHA-4947
Aug 25, 2026
Merged

feat: [CHA-4947] regenerate from latest OpenAPI#282
itsmeadi merged 1 commit into
mainfrom
CHA-4947

Conversation

@itsmeadi

@itsmeadi itsmeadi commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • regenerate the Python SDK from the latest backend OpenAPI
  • add pinned-message, predefined-filter, permission-write, and feed-count APIs and models
  • modernize generated typing to satisfy the repository Ruff rules

Test plan

  • make lint
  • 474 non-integration tests passed locally
  • credential-backed and optional-dependency checks in CI

Notes

Merging this PR publishes a minor Python SDK release to PyPI.

Made with Cursor

Summary by CodeRabbit

  • New Features

    • Added pinned-message retrieval with pagination, filtering, sorting, and member-field options.
    • Added predefined filter management, including creation, updates, retrieval, and deletion.
    • Added permission management operations.
    • Added feed count retrieval.
    • Added support for message-retention settings and team-specific usage statistics.
  • Bug Fixes

    • Device listing requests now use the correct supported parameters.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 8f3cc455-c373-450c-aab1-6dd700edb8cc

📥 Commits

Reviewing files that changed from the base of the PR and between 24096a9 and 1c6092e.

📒 Files selected for processing (15)
  • getstream/chat/async_channel.py
  • getstream/chat/async_rest_client.py
  • getstream/chat/channel.py
  • getstream/chat/rest_client.py
  • getstream/common/async_rest_client.py
  • getstream/common/rest_client.py
  • getstream/feeds/feeds.py
  • getstream/feeds/rest_client.py
  • getstream/models/__init__.py
  • getstream/moderation/async_rest_client.py
  • getstream/moderation/rest_client.py
  • getstream/tests/test_webhook.py
  • getstream/video/async_rest_client.py
  • getstream/video/rest_client.py
  • getstream/webhook.py

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The SDK adds chat pinned-message and predefined-filter APIs, feed-count retrieval, permission CRUD methods, and new request fields. It also modernizes query construction, optional type annotations, webhook annotations, and webhook import ordering.

Changes

API surface and generated client updates

Layer / File(s) Summary
Chat endpoints and request fields
getstream/chat/...
Adds pinned-message retrieval and predefined-filter operations. Adds message_retention and team request fields.
Common permission endpoints
getstream/common/...
Adds permission creation, deletion, and update methods. Updates device query construction.
Feed counts
getstream/feeds/...
Adds feed-count retrieval to the feed wrapper and REST client.
Query construction and annotations
getstream/moderation/..., getstream/video/...
Replaces dictionary unpacking with explicit query keyword arguments and updates user_agent annotations.
Webhook typing and imports
getstream/webhook.py, getstream/tests/test_webhook.py
Uses modern type syntax and reorders imports without changing webhook behavior.

Estimated code review effort: 4 (Complex) | ~45 minutes

Merge Risk: ⚪ Minimal · up to 1c609

This PR regenerates the SDK and adds API coverage; no actionable merge-blocking risk remains beyond normal checks and review.

Suggested reviewers: mogita

Sequence Diagram(s)

sequenceDiagram
  participant Channel
  participant ChatRestClient
  participant ChatAPI
  Channel->>ChatRestClient: get_pinned_messages(filters)
  ChatRestClient->>ChatAPI: GET pinned_messages
  ChatAPI-->>ChatRestClient: GetPinnedMessagesResponse
  ChatRestClient-->>Channel: synchronized response
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 6.19% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 226 functions across 14 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the primary change: regenerating the SDK from the latest OpenAPI specification. It is concise and relevant to the added APIs and generated typing updates.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch CHA-4947

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant