Skip to content

Conversation

@xsahil03x
Copy link
Member

@xsahil03x xsahil03x commented Dec 11, 2025

Fixes: #63

Summary by CodeRabbit

  • New Features

    • Expanded public API surface with newly exported model data, state management objects, and query interfaces.
    • Additional data models and state handlers are now accessible to developers.
  • Refactor

    • Reorganized public API exports by removing unused core type re-exports and consolidating model declarations.
    • Restricted one internal symbol from public API surface.

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

@xsahil03x xsahil03x requested a review from a team as a code owner December 11, 2025 11:06
@coderabbitai
Copy link

coderabbitai bot commented Dec 11, 2025

Walkthrough

This pull request expands the public API surface of the stream_feeds package by adding exports for previously inaccessible model and state classes. It removes an unused stream_core re-export and adjusts state exports to hide defaultOnNewActivity, addressing the issue of ReactionGroupData and other classes not being publicly accessible.

Changes

Cohort / File(s) Change Summary
Model exports expansion
packages/stream_feeds/lib/src/models.dart
Removed re-export of stream_core types (BoundingBox, CircularRegion, LocationCoordinate); added public exports for 8 model files including activity_pin_data, app_data, feeds_reaction_data, file_upload_config_data, moderation, moderation_config_data, pagination_data, and reaction_group_data
State and query exports expansion
packages/stream_feeds/lib/src/state.dart
Added 9 new public exports for activity reaction lists, member lists, moderation config lists, and related query/event handlers
Public API re-export adjustments
packages/stream_feeds/lib/stream_feeds.dart
Modified state.dart re-export to hide defaultOnNewActivity from public API surface
Documentation
packages/stream_feeds/CHANGELOG.md
Added changelog entry documenting new public API surface exports

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Verify that all newly exported classes (particularly ReactionGroupData, member state, and moderation config classes) are suitable for public API exposure
  • Confirm that removing stream_core re-exports does not break downstream dependencies
  • Validate that hiding defaultOnNewActivity is intentional and does not affect existing public contracts

Possibly related PRs

  • PR #65: Introduced defaultOnNewActivity and related state/query handlers that are now being selectively exposed (with defaultOnNewActivity explicitly hidden) in this PR's public API surface.

Poem

🐰 Hop, skip, and exports do fly,
Where ReactionGroupData once hid shy,
Now models and states see the light,
The public API, now shining bright!
defaultOnNewActivity takes a bow offstage—
A tidy entrance to a new age. 🌟

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description is incomplete. It only contains 'Fixes: #63' without explaining what changes were made, why they were made, or how to test them. Add a detailed description explaining the changes made, the rationale, and testing instructions. Include sections for Description and any relevant CLA/testing checkboxes from the template.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat(llc): export all the public models and state classes' accurately describes the main change: exporting previously missing public APIs including models and state classes.
Linked Issues check ✅ Passed All code changes directly address issue #63: ReactionGroupData and other related models/state classes are now exported in the public API surface.
Out of Scope Changes check ✅ Passed All changes are scoped to exporting missing public APIs (models and state classes) as required. The removal of stream_core exports and hiding defaultOnNewActivity are related organizational changes to the public API surface.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/export-missing-public-classes

📜 Recent review details

Configuration used: CodeRabbit UI

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 b4d4f64 and 8f5d5b2.

📒 Files selected for processing (4)
  • packages/stream_feeds/CHANGELOG.md (1 hunks)
  • packages/stream_feeds/lib/src/models.dart (2 hunks)
  • packages/stream_feeds/lib/src/state.dart (3 hunks)
  • packages/stream_feeds/lib/stream_feeds.dart (1 hunks)
🧰 Additional context used
📓 Path-based instructions (4)
**/*.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/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
packages/stream_feeds/lib/stream_feeds.dart

📄 CodeRabbit inference engine (AGENTS.md)

packages/stream_feeds/lib/stream_feeds.dart: Use /// for public API documentation in exported classes and methods
Follow Effective Dart documentation guidelines for all public APIs
Include examples for complex APIs in documentation
Keep public API minimal - most code should be in lib/src/ internal directory
Export public API classes from main library entry point lib/stream_feeds.dart

Files:

  • packages/stream_feeds/lib/stream_feeds.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/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
packages/stream_feeds/lib/src/**/*.dart

📄 CodeRabbit inference engine (AGENTS.md)

Use // for internal/private code documentation

Files:

  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
🧠 Learnings (30)
📓 Common learnings
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`
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 : Use `freezed` for all data classes in the Stream Feeds SDK
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
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
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 : Follow Freezed 3.0 mixed mode syntax with `override` annotations for fields
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`)
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
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
📚 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/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
  • 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 : Keep public API minimal - most code should be in `lib/src/` internal directory

Applied to files:

  • packages/stream_feeds/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
  • 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/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
  • 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/src/state/**/*.dart : State class naming convention: Use `*State` suffix for state classes (e.g., `FeedState`, `ActivityListState`)

Applied to files:

  • packages/stream_feeds/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.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/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • 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/src/generated/**/*.dart : Never manually edit generated files (`*.freezed.dart`, `*.g.dart`, `src/generated/`)

Applied to files:

  • packages/stream_feeds/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/models.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/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
  • 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/src/generated/**/*.dart : Never manually edit OpenAPI-generated API code files in `src/generated/`

Applied to files:

  • packages/stream_feeds/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/models.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/**/*.dart : Use `//` for internal/private code documentation

Applied to files:

  • packages/stream_feeds/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/models.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} : 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/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
  • 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} : Implement proper authentication using API keys and user tokens via the StreamFeedsClient with tokenProvider parameter

Applied to files:

  • packages/stream_feeds/lib/stream_feeds.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 : Use `freezed` for all data classes in the Stream Feeds SDK

Applied to files:

  • packages/stream_feeds/lib/stream_feeds.dart
  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.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/**/*StateNotifier.dart : Use StateNotifier for reactive state management

Applied to files:

  • packages/stream_feeds/lib/src/state.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:

  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
📚 Learning: 2025-12-05T14:37:05.876Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/project-overview.mdc:0-0
Timestamp: 2025-12-05T14:37:05.876Z
Learning: Applies to **/*.dart : Implement StateNotifier-based reactive state management with automatic change notifications

Applied to files:

  • packages/stream_feeds/lib/src/state.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/**/*StateNotifier.dart : StateNotifier naming convention: Use `*StateNotifier` suffix for StateNotifier implementations (e.g., `FeedStateNotifier`)

Applied to files:

  • packages/stream_feeds/lib/src/state.dart
📚 Learning: 2025-12-05T14:36:55.335Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/planit-mode.mdc:0-0
Timestamp: 2025-12-05T14:36:55.335Z
Learning: Applies to **/*.dart : Plan for StateNotifier reactive patterns when implementing state management in Dart

Applied to files:

  • packages/stream_feeds/lib/src/state.dart
📚 Learning: 2025-12-05T14:37:37.953Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-sdk.mdc:0-0
Timestamp: 2025-12-05T14:37:37.953Z
Learning: Applies to **/*.dart : Use StateNotifier for reactive state management with automatic change notifications

Applied to files:

  • packages/stream_feeds/lib/src/state.dart
📚 Learning: 2025-12-05T14:37:37.953Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-sdk.mdc:0-0
Timestamp: 2025-12-05T14:37:37.953Z
Learning: Applies to **/*.dart : Compose complex states from simpler freezed components using copyWith for immutable updates

Applied to files:

  • packages/stream_feeds/lib/src/state.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 classes must use `freezed` with const constructors

Applied to files:

  • packages/stream_feeds/lib/src/state.dart
📚 Learning: 2025-12-05T14:36:55.335Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/planit-mode.mdc:0-0
Timestamp: 2025-12-05T14:36:55.335Z
Learning: Applies to **/*.dart : Implement proper disposal patterns in Dart StateNotifiers and providers

Applied to files:

  • packages/stream_feeds/lib/src/state.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 : Query naming convention: Use `*Query` suffix for query classes (e.g., `ActivitiesQuery`, `FeedsQuery`)

Applied to files:

  • packages/stream_feeds/lib/src/state.dart
  • packages/stream_feeds/lib/src/models.dart
  • packages/stream_feeds/CHANGELOG.md
📚 Learning: 2025-12-05T14:37:37.953Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-sdk.mdc:0-0
Timestamp: 2025-12-05T14:37:37.953Z
Learning: Applies to **/*.dart : Use Dart's type-safe queries for API operations with freezed query specifications

Applied to files:

  • packages/stream_feeds/lib/src/state.dart
📚 Learning: 2025-12-05T14:37:37.953Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/stream-feeds-sdk.mdc:0-0
Timestamp: 2025-12-05T14:37:37.953Z
Learning: Applies to **/*.dart : Define separate query specifications from data models using freezed classes

Applied to files:

  • packages/stream_feeds/lib/src/state.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/state.dart
  • packages/stream_feeds/lib/src/models.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/lib/src/models.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 : Follow Freezed 3.0 mixed mode syntax with `override` annotations for fields

Applied to files:

  • packages/stream_feeds/lib/src/models.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/models.dart
  • packages/stream_feeds/CHANGELOG.md
📚 Learning: 2025-12-05T14:36:55.335Z
Learnt from: CR
Repo: GetStream/stream-feeds-flutter PR: 0
File: .cursor/rules/planit-mode.mdc:0-0
Timestamp: 2025-12-05T14:36:55.335Z
Learning: Plan barrel file export updates for public APIs

Applied to files:

  • packages/stream_feeds/CHANGELOG.md
⏰ 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). (2)
  • GitHub Check: stream_feeds
  • GitHub Check: build
🔇 Additional comments (4)
packages/stream_feeds/lib/stream_feeds.dart (1)

6-6: LGTM! Appropriately narrows the public API surface.

Hiding defaultOnNewActivity is correct, as it appears to be an internal implementation detail that should not be part of the public API. This aligns with the guideline to keep the public API minimal.

packages/stream_feeds/lib/src/models.dart (1)

2-2: LGTM! Exports address the PR objective and follow conventions.

The new model exports, particularly reaction_group_data.dart at Line 25, directly fix issue #63 where ReactionGroupData was not publicly accessible. All exports follow the established *Data naming convention and make previously inaccessible model classes available through the public API.

Also applies to: 4-4, 15-16, 18-20, 25-25

packages/stream_feeds/lib/src/state.dart (1)

6-7: LGTM! State and query exports follow conventions and expand public API appropriately.

The new exports include:

  • State list and state classes (*State suffix) following established conventions
  • Event handler export (on_activity_added) aligning with the new onNewActivity callback mentioned in the changelog
  • Query classes (*Query suffix) for activity reactions and members

All additions appropriately expand the public API surface as documented in the changelog.

Also applies to: 19-19, 27-30, 37-37, 46-46

packages/stream_feeds/CHANGELOG.md (1)

11-11: No action needed. The stream_core types (BoundingBox, CircularRegion, LocationCoordinate) remain accessible through the public API because stream_feeds.dart exports package:stream_core/stream_core.dart entirely. The removal from models.dart is not a breaking change since these types were never re-exported from that file—they were only used internally (e.g., LocationCoordinate in ActivityData). The changelog entry is accurate as written.


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 and usage tips.

@codecov
Copy link

codecov bot commented Dec 11, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 59.52%. Comparing base (b4d4f64) to head (8f5d5b2).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #67   +/-   ##
=======================================
  Coverage   59.52%   59.52%           
=======================================
  Files         121      121           
  Lines        3778     3778           
=======================================
  Hits         2249     2249           
  Misses       1529     1529           

☔ 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 20723b8 into main Dec 11, 2025
11 checks passed
@xsahil03x xsahil03x deleted the feat/export-missing-public-classes branch December 11, 2025 11:40
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.

Missing export: ReactionGroupData class is not publicly accessible

3 participants