Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Jan 8, 2026

Submit a pull request

CLA

  • I have signed the Stream CLA (required).
  • The code changes follow best practices
  • Code changes are tested (add some information if not applicable)

Description of the pull request

The SDK was missing updateActivityPartial() despite being documented. Users had to fetch the entire activity, merge fields manually, and send the complete object back—inefficient for single-field updates.

Changes:

  • Added updateActivityPartial to ActivitiesRepository wrapping the existing generated API endpoint
  • Added updateActivityPartial to Feed class with documentation and event emission
  • Added test following existing patterns
  • Added documentation example in docs/code_snippets/03_01_activities.dart

Usage:

final updatedActivity = await feed.updateActivityPartial(
  id: 'activity-123',
  request: const UpdateActivityPartialRequest(
    set: {'text': 'Updated text', 'custom': {'field': 'value'}},
    unset: ['oldField'],
  ),
);

Screenshots / Videos

Before After
N/A N/A
Original prompt

This section details on the original issue you should resolve

<issue_title>[Feature Request] Implement updateActivityPartial method - documented but missing in SDK</issue_title>
<issue_description>## Problem

The Flutter SDK only provides updateActivity() which requires sending the entire activity object. To update a single field, we must:

  1. Fetch the existing activity
  2. Manually merge all fields
  3. Send the complete object back

This is inefficient and error-prone.

Documentation vs Implementation

The official documentation shows updateActivityPartial() method with examples:

final updatedActivity = await feed.updateActivityPartial(
id: '123',
request: const UpdateActivityPartialRequest(
set: {'text': 'Updated text', 'custom': {'field': 'value'}},
),
);However, this method is not available in the SDK (stream_feeds: ^0.5.0). The Feed class only has updateActivity() which requires the full activity object.

Proposed Solution

Add updateActivityPartial() method that:

  • Only updates specified fields
  • Automatically preserves all other fields
  • Reduces API calls from 2 to 1
  • Matches the documented API

Environment

  • SDK: stream_feeds: ^0.5.0
  • Flutter: Latest stable</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Summary by CodeRabbit

  • New Features

    • Partial activity updates: update or remove specific activity fields without fetching the full activity; observers receive an update event.
  • Tests

    • Added a test verifying partial updates and that an update event is emitted.
  • Changelog

    • Noted the new partial update capability in the changelog.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Jan 8, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough

Walkthrough

Adds a new partial activity update flow: updateActivityPartial is implemented in the repository and Feed state, with a request supporting set and unset. The Feed delegates to the repository which calls the API; successful updates emit an ActivityUpdated event and tests were added.

Changes

Cohort / File(s) Summary
Documentation snippet
docs/code_snippets/03_01_activities.dart
Adds example demonstrating feed.updateActivityPartial usage with UpdateActivityPartialRequest (set / unset).
Repository implementation
packages/stream_feeds/lib/src/repository/activities_repository.dart
New updateActivityPartial(String activityId, api.UpdateActivityPartialRequest request) method delegating to API and mapping response to ActivityData.
Feed state API
packages/stream_feeds/lib/src/state/feed.dart
New updateActivityPartial({ required String id, required api.UpdateActivityPartialRequest request }) method delegating to repository, emitting ActivityUpdated on success, and returning Result<ActivityData>.
Tests
packages/stream_feeds/test/state/feed_test.dart
New test validating partial update flow: mocks API response, calls updateActivityPartial, asserts success and updated field, checks ActivityUpdated event emission.
Changelog
packages/stream_feeds/CHANGELOG.md
Documents addition of updateActivityPartial in Upcoming section.

Sequence Diagram(s)

sequenceDiagram
  actor Client
  participant Feed
  participant ActivitiesRepository as Repo
  participant API
  participant StateChannel as Channel

  Client->>Feed: updateActivityPartial(id, request)
  Feed->>Repo: updateActivityPartial(id, request)
  Repo->>API: updateActivityPartial(id, request)
  API-->>Repo: updated activity response
  Repo-->>Feed: Result<ActivityData>
  Feed->>Channel: emit ActivityUpdated(activity)
  Feed-->>Client: Result<ActivityData>
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • Brazol
  • renefloor

Poem

🐰 A tiny hop, a gentle tweak,
Fields set, some keys we softly seek.
No fetch, no merge, just nimbly part—
An update made with lighter heart. 🥕

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly describes the main change: adding the updateActivityPartial method to the Feed class, which aligns with the primary objective.
Description check ✅ Passed The description covers the problem, solution, changes made, usage example, and testing status. It addresses the documented but missing feature and provides clear context.
Linked Issues check ✅ Passed All coding requirements from issue #82 are met: updateActivityPartial method added to Feed, supports partial updates with set/unset fields, preserves unspecified fields, and reduces API calls from 2 to 1.
Out of Scope Changes check ✅ Passed All changes are directly related to implementing updateActivityPartial: repository wrapper, Feed class method, tests, documentation example, and changelog entry.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


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

Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com>
Copilot AI changed the title [WIP] Implement updateActivityPartial method in SDK Add updateActivityPartial method to Feed class Jan 8, 2026
Copilot AI requested a review from xsahil03x January 8, 2026 18:00
@xsahil03x
Copy link
Member

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Jan 8, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In @packages/stream_feeds/lib/src/state/feed.dart:
- Around line 229-269: The doc comments for updateActivityPartial reference
UpdateActivityPartialRequest.set and .unset which are out of scope; update the
references to the fully-qualified generated type
(api.UpdateActivityPartialRequest.set and
api.UpdateActivityPartialRequest.unset) or rephrase the sentence to avoid inline
member links (e.g., "use the request's set map" and "use the request's unset
list"), keeping the rest of the existing /// doc for the public method
updateActivityPartial intact.
📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 4279d2e and afdfe27.

📒 Files selected for processing (4)
  • docs/code_snippets/03_01_activities.dart
  • packages/stream_feeds/lib/src/repository/activities_repository.dart
  • packages/stream_feeds/lib/src/state/feed.dart
  • packages/stream_feeds/test/state/feed_test.dart
🧰 Additional context used
📓 Path-based instructions (6)
**/*.dart

📄 CodeRabbit inference engine (.cursor/rules/cursor-rules-location.mdc)

**/*.dart: Use the barrel_files package with @includeInBarrelFile annotations for public API management in Dart projects; keep implementation details in lib/src/ without annotations
Mark only classes, functions, and enums intended for external package usage with @includeInBarrelFile; keep repository classes, mappers, and internal state objects in lib/src/ without annotations

**/*.dart: Use @freezed mixed mode for data classes in Dart
Return Result<T> from all repository methods in Dart
Apply early return patterns consistently in Dart code
Use pattern matching with switch expressions in Dart
Mark public APIs with @includeInBarrelFile annotation in Dart
Follow enhanced enum vs sealed class guidelines in Dart
Use const constructors where possible in Dart
Implement proper disposal patterns in Dart StateNotifiers and providers
Ensure pure Dart compatibility across VM, Flutter, and Web environments
Plan for StateNotifier reactive patterns when implementing state management in Dart

**/*.dart: Use @freezed for all data classes with required id fields and const constructors
Implement StateNotifier-based reactive state management with automatic change notifications
Apply Result pattern for all async operations with explicit error handling
Use early return patterns for clean control flow in Dart code
Create extension functions for data mapping using .toModel() pattern instead of mapper classes
Mark public APIs with @includeInBarrelFile annotation for barrel file export management
Implement proper resource management with disposal and cleanup patterns in Dart code
Use constructor injection for all dependencies in Dart classes

**/*.dart: All data models should use @freezed with Dart's mixed mode syntax and include @OverRide annotations on fields
Mark classes for public export using @includeInBarrelFile annotation
Use extension functions with .toModel() convention for data mapping instead of dedicated mapper classes
All repository methods must return Result...

Files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
  • docs/code_snippets/03_01_activities.dart
  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
packages/stream_feeds/lib/src/repository/**/*.dart

📄 CodeRabbit inference engine (AGENTS.md)

packages/stream_feeds/lib/src/repository/**/*.dart: All repository methods must return Result<T> types for explicit error handling
Use early return patterns for validation and errors in repository methods
Use extension functions for API-to-domain model mapping in repositories
Never throw exceptions in repositories - always return Result types

Files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
packages/stream_feeds/lib/src/**/*.dart

📄 CodeRabbit inference engine (AGENTS.md)

Use // for internal/private code documentation

Files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
  • packages/stream_feeds/lib/src/state/feed.dart
packages/stream_feeds/lib/**/*.dart

📄 CodeRabbit inference engine (AGENTS.md)

Apply Dart analyzer configuration from analysis_options.yaml for code quality

Files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
  • packages/stream_feeds/lib/src/state/feed.dart
packages/stream_feeds/test/**/*.dart

📄 CodeRabbit inference engine (AGENTS.md)

packages/stream_feeds/test/**/*.dart: Test through public APIs only, not internal StateNotifier implementations
Use HTTP interceptors instead of mocking repositories in tests
Mirror the lib/ structure in test/ directory organization

Files:

  • packages/stream_feeds/test/state/feed_test.dart
packages/stream_feeds/lib/src/state/**/*.dart

📄 CodeRabbit inference engine (AGENTS.md)

packages/stream_feeds/lib/src/state/**/*.dart: State classes must use @freezed with const constructors
State class naming convention: Use *State suffix for state classes (e.g., FeedState, ActivityListState)

Files:

  • packages/stream_feeds/lib/src/state/feed.dart
🧠 Learnings (17)
📓 Common learnings
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-api.mdc:0-0
Timestamp: 2025-12-05T14:37:17.519Z
Learning: Applies to {**/api/**/*.dart,**/*_api.dart,**/client/*.dart} : Stream Feeds API integration should be implemented according to the Activity Streams specification with structured actor, verb, object, and target fields
📚 Learning: 2025-12-05T14:37:17.519Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-api.mdc:0-0
Timestamp: 2025-12-05T14:37:17.519Z
Learning: Applies to {**/api/**/*.dart,**/*_api.dart,**/client/*.dart} : Stream Feeds API integration should be implemented according to the Activity Streams specification with structured actor, verb, object, and target fields

Applied to files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
  • docs/code_snippets/03_01_activities.dart
  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/src/repository/**/*.dart : Use extension functions for API-to-domain model mapping in repositories

Applied to files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/src/repository/**/*.dart : All repository methods must return `Result<T>` types for explicit error handling

Applied to files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
📚 Learning: 2025-12-05T14:37:17.519Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-api.mdc:0-0
Timestamp: 2025-12-05T14:37:17.519Z
Learning: Applies to {**/api/**/*.dart,**/*_api.dart,**/client/*.dart} : Use batch operations for bulk activity creation and updates to optimize API performance

Applied to files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
  • docs/code_snippets/03_01_activities.dart
  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/src/models/**/*.dart : Request naming convention: Use `*Request` suffix for request classes (e.g., `FeedAddActivityRequest`)

Applied to files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
  • docs/code_snippets/03_01_activities.dart
  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/src/repository/**/*.dart : Never throw exceptions in repositories - always return Result types

Applied to files:

  • packages/stream_feeds/lib/src/repository/activities_repository.dart
📚 Learning: 2025-12-05T14:37:17.519Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-api.mdc:0-0
Timestamp: 2025-12-05T14:37:17.519Z
Learning: Applies to {**/api/**/*.dart,**/*_api.dart,**/client/*.dart} : Implement WebSocket event handlers for real-time Stream Feeds updates including activity events, reaction events, follow events, and member events

Applied to files:

  • docs/code_snippets/03_01_activities.dart
  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/stream_feeds.dart : Keep public API minimal - most code should be in `lib/src/` internal directory

Applied to files:

  • docs/code_snippets/03_01_activities.dart
  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/test/**/*.dart : Test through public APIs only, not internal StateNotifier implementations

Applied to files:

  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/src/state/**/*.dart : State class naming convention: Use `*State` suffix for state classes (e.g., `FeedState`, `ActivityListState`)

Applied to files:

  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/test/**/*.dart : Use HTTP interceptors instead of mocking repositories in tests

Applied to files:

  • packages/stream_feeds/test/state/feed_test.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/stream_feeds.dart : Include examples for complex APIs in documentation

Applied to files:

  • packages/stream_feeds/test/state/feed_test.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/stream_feeds.dart : Follow Effective Dart documentation guidelines for all public APIs

Applied to files:

  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/src/models/**/*.dart : Model naming convention: Use `*Data` suffix for model classes (e.g., `ActivityData`, `FeedData`)

Applied to files:

  • packages/stream_feeds/test/state/feed_test.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/stream_feeds.dart : Use `///` for public API documentation in exported classes and methods

Applied to files:

  • packages/stream_feeds/lib/src/state/feed.dart
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/stream_feeds.dart : Export public API classes from main library entry point `lib/stream_feeds.dart`

Applied to files:

  • packages/stream_feeds/lib/src/state/feed.dart
🪛 GitHub Actions: stream_feed_flutter_workflow
packages/stream_feeds/lib/src/state/feed.dart

[warning] 237-238: The referenced name isn't visible in scope. Try adding an import for the referenced name. - comment_references


[warning] 237-238: The referenced name isn't visible in scope. Try adding an import for the referenced name. - comment_references

🔇 Additional comments (3)
packages/stream_feeds/test/state/feed_test.dart (1)

289-344: LGTM! Test follows established patterns.

The test properly validates the partial update flow: API mocking, method invocation, result verification, and event emission. The structure mirrors existing activity tests and provides adequate coverage.

packages/stream_feeds/lib/src/repository/activities_repository.dart (1)

92-113: LGTM! Repository method correctly implements partial update.

The implementation follows the established repository pattern: delegates to the API client, maps the response to domain model using .toModel(), and returns a Result<ActivityData>. Documentation clearly explains the method's purpose and parameters.

Based on learnings, all repository methods return Result<T> types for explicit error handling.

docs/code_snippets/03_01_activities.dart (1)

92-99: LGTM! Clear documentation example.

The code snippet effectively demonstrates the partial update feature, showing both set (to update/add fields) and unset (to remove fields) capabilities. The inline comment clarifies the purpose of the unset parameter.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds the previously documented but missing updateActivityPartial method to the Stream Feeds Flutter SDK. The method allows efficient partial updates of activity fields without requiring fetching and resending the entire activity object.

Key Changes:

  • Added updateActivityPartial method to the ActivitiesRepository and Feed classes
  • Added comprehensive test coverage following existing patterns
  • Added documentation example showing usage with set and unset operations

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
packages/stream_feeds/lib/src/repository/activities_repository.dart Added updateActivityPartial method that wraps the generated API endpoint
packages/stream_feeds/lib/src/state/feed.dart Added updateActivityPartial method with comprehensive documentation and event emission
packages/stream_feeds/test/state/feed_test.dart Added test case verifying partial update functionality and event emission
docs/code_snippets/03_01_activities.dart Added documentation example demonstrating partial update usage

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@xsahil03x
Copy link
Member

@copilot ci checks are failing

Co-authored-by: xsahil03x <25670178+xsahil03x@users.noreply.github.com>
Copy link
Contributor Author

Copilot AI commented Jan 8, 2026

@copilot ci checks are failing

Fixed in f9c4747. The documentation example was using the incorrect class name UpdateActivityPartialRequest - changed it to ActivityPartialUpdateRequest which is the correct generated class name.

@xsahil03x xsahil03x changed the title Add updateActivityPartial method to Feed class feat(llc): add updateActivityPartial method to Feed class Jan 9, 2026
@xsahil03x xsahil03x marked this pull request as ready for review January 9, 2026 11:15
@xsahil03x xsahil03x requested a review from a team as a code owner January 9, 2026 11:15
@xsahil03x
Copy link
Member

@coderabbitai review

@coderabbitai
Copy link

coderabbitai bot commented Jan 9, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
packages/stream_feeds/CHANGELOG.md (1)

2-2: Standardize verb tense in the Upcoming section.

Line 2 uses "Added" (past tense) while line 7 and the surrounding entries use "Add" (present tense). For consistency across the changelog, align all entries in the Upcoming section to use the same tense.

Suggested fix
- Added missing state updates for the websocket events.
+ Add missing state updates for the websocket events.

Also applies to: 7-7

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Disabled knowledge base sources:

  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between afdfe27 and 0784b5e.

📒 Files selected for processing (4)
  • docs/code_snippets/03_01_activities.dart
  • packages/stream_feeds/CHANGELOG.md
  • packages/stream_feeds/lib/src/state/feed.dart
  • packages/stream_feeds/test/state/feed_test.dart
🚧 Files skipped from review as they are similar to previous changes (3)
  • packages/stream_feeds/test/state/feed_test.dart
  • packages/stream_feeds/lib/src/state/feed.dart
  • docs/code_snippets/03_01_activities.dart
🧰 Additional context used
🧠 Learnings (5)
📓 Common learnings
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-api.mdc:0-0
Timestamp: 2025-12-05T14:37:17.519Z
Learning: Applies to {**/api/**/*.dart,**/*_api.dart,**/client/*.dart} : Stream Feeds API integration should be implemented according to the Activity Streams specification with structured actor, verb, object, and target fields
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/stream_feeds.dart : Keep public API minimal - most code should be in `lib/src/` internal directory

Applied to files:

  • packages/stream_feeds/CHANGELOG.md
📚 Learning: 2025-12-05T14:37:17.519Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-api.mdc:0-0
Timestamp: 2025-12-05T14:37:17.519Z
Learning: Applies to {**/api/**/*.dart,**/*_api.dart,**/client/*.dart} : Stream Feeds API integration should be implemented according to the Activity Streams specification with structured actor, verb, object, and target fields

Applied to files:

  • packages/stream_feeds/CHANGELOG.md
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/stream_feeds.dart : Follow Effective Dart documentation guidelines for all public APIs

Applied to files:

  • packages/stream_feeds/CHANGELOG.md
📚 Learning: 2025-12-05T14:38:02.662Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: AGENTS.md:0-0
Timestamp: 2025-12-05T14:38:02.662Z
Learning: Applies to packages/stream_feeds/lib/stream_feeds.dart : Use `///` for public API documentation in exported classes and methods

Applied to files:

  • packages/stream_feeds/CHANGELOG.md
🪛 LanguageTool
packages/stream_feeds/CHANGELOG.md

[style] ~7-~7: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...dd batch follow and unfollow support. - Add updateActivityPartial method to `Feed...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: build

@xsahil03x xsahil03x enabled auto-merge (squash) January 9, 2026 12:37
@codecov
Copy link

codecov bot commented Jan 9, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.86%. Comparing base (4d1fd0a) to head (eb4d46d).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #87      +/-   ##
==========================================
+ Coverage   85.83%   85.86%   +0.02%     
==========================================
  Files         124      124              
  Lines        4292     4300       +8     
==========================================
+ Hits         3684     3692       +8     
  Misses        608      608              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@xsahil03x xsahil03x merged commit 0eed1f9 into main Jan 9, 2026
9 checks passed
@xsahil03x xsahil03x deleted the copilot/add-update-activity-partial-method branch January 9, 2026 12:50
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.

[Feature Request] Implement updateActivityPartial method - documented but missing in SDK

3 participants