Skip to content

chore(repo): prefer relative imports inside a package's own lib/ - #2929

Open
xsahil03x wants to merge 2 commits into
masterfrom
chore/prefer-relative-imports
Open

chore(repo): prefer relative imports inside a package's own lib/#2929
xsahil03x wants to merge 2 commits into
masterfrom
chore/prefer-relative-imports

Conversation

@xsahil03x

@xsahil03x xsahil03x commented Aug 26, 2026

Copy link
Copy Markdown
Member

🎯 Goal

Move the repo from always_use_package_imports to prefer_relative_imports for imports within a package's own lib/, and migrate every existing directive accordingly.

Two reasons:

  • The OpenAPI generator emits relative imports. Every generated model does import '../models.dart', so the generated client trips always_use_package_imports — 494 infos, which is a red melos run analyze under --fatal-infos. Silencing that meant either excluding the whole generated tree from analysis (which also hides real errors) or patching an ignore_for_file line into every generated file on every regeneration. Adopting the generator's convention makes both unnecessary.
  • Both sibling repos already do this. stream_core_flutter and stream_feeds_flutter each disable always_use_package_imports with the comment "conflicts with prefer_relative_imports". This aligns chat with core and feeds.

📝 Summary

  • analysis_options.yaml: always_use_package_importsprefer_relative_imports. avoid_relative_lib_imports stays enabled — it guards against reaching into a lib/ from outside it, which is still an error.
  • Mechanical migration via dart fix --apply --code=prefer_relative_imports across all packages, then --code=directives_ordering to re-sort the sections (package: imports first, then relative, each alphabetical).
  • Three groups dart fix cannot reach, done by hand:
    • lib/scrollable_positioned_list/** — vendored and excluded in analysis_options.yaml, so no lint fires there.
    • two export 'package:stream_chat_flutter/…' directives (poll_interactor_theme.dart, stream_attachment_picker_controller.dart) — no lint covers export.
  • CLAUDE.md and STYLE_GUIDE.md updated to document the new convention.

Scope: every lib/ in the repo. After this, grep -rn "package:<own_package>/" packages/*/lib returns nothing for all five published packages, and all 607 relative directives resolve on disk.

test/ and example/ keep their package: imports, deliberately:

  • A test reaching into its own lib/ by relative path is an error — avoid_relative_lib_imports flags it ("Can't use a relative path to import a library in 'lib'"), and Dart would treat it as a separate library from the package: one.
  • packages/*/example are separate packages, so package:stream_chat_flutter/… there is a cross-package import and must stay as-is.

No CHANGELOG entries: import style is internal, with no client-facing effect.

🧪 Testing

  • melos run analyze — clean (--fatal-infos, all packages)
  • melos run format — SUCCESS
  • packages/stream_chat — 1,626 tests pass
  • packages/stream_chat_flutter — compile-checked the vendored scrollable_positioned_list library graph, which melos run analyze cannot see
  • All 607 relative directives verified to resolve on disk

☑️ Contributor Checklist

  • New code is covered by unit tests
  • This change should be manually QAed
  • Changelog is updated with client-facing changes

🤖 Generated with Claude Code

Swap `always_use_package_imports` for `prefer_relative_imports` and migrate
every self-referencing import in `lib/` with `dart fix`, matching the
convention already used by stream_core_flutter and stream_feeds_flutter.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 393 files, which is 243 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 07b7c8cd-19ba-44a1-ae25-17b1eff5924f

📥 Commits

Reviewing files that changed from the base of the PR and between 2048579 and e123fa8.

📒 Files selected for processing (393)
  • CLAUDE.md
  • STYLE_GUIDE.md
  • analysis_options.yaml
  • packages/stream_chat/lib/src/client/channel.dart
  • packages/stream_chat/lib/src/client/channel_delivery_reporter.dart
  • packages/stream_chat/lib/src/client/client.dart
  • packages/stream_chat/lib/src/client/event_resolvers.dart
  • packages/stream_chat/lib/src/client/query_channels_result.dart
  • packages/stream_chat/lib/src/client/retry_policy.dart
  • packages/stream_chat/lib/src/client/retry_queue.dart
  • packages/stream_chat/lib/src/core/api/attachment_file_uploader.dart
  • packages/stream_chat/lib/src/core/api/channel_api.dart
  • packages/stream_chat/lib/src/core/api/device_api.dart
  • packages/stream_chat/lib/src/core/api/general_api.dart
  • packages/stream_chat/lib/src/core/api/guest_api.dart
  • packages/stream_chat/lib/src/core/api/message_api.dart
  • packages/stream_chat/lib/src/core/api/moderation_api.dart
  • packages/stream_chat/lib/src/core/api/polls_api.dart
  • packages/stream_chat/lib/src/core/api/reminders_api.dart
  • packages/stream_chat/lib/src/core/api/responses.dart
  • packages/stream_chat/lib/src/core/api/roles_api.dart
  • packages/stream_chat/lib/src/core/api/sort_order.dart
  • packages/stream_chat/lib/src/core/api/stream_chat_api.dart
  • packages/stream_chat/lib/src/core/api/threads_api.dart
  • packages/stream_chat/lib/src/core/api/user_api.dart
  • packages/stream_chat/lib/src/core/api/user_groups_api.dart
  • packages/stream_chat/lib/src/core/error/stream_chat_error.dart
  • packages/stream_chat/lib/src/core/http/app_settings_manager.dart
  • packages/stream_chat/lib/src/core/http/interceptor/additional_headers_interceptor.dart
  • packages/stream_chat/lib/src/core/http/interceptor/auth_interceptor.dart
  • packages/stream_chat/lib/src/core/http/interceptor/connection_id_interceptor.dart
  • packages/stream_chat/lib/src/core/http/stream_chat_dio_error.dart
  • packages/stream_chat/lib/src/core/http/stream_http_client.dart
  • packages/stream_chat/lib/src/core/http/system_environment_manager.dart
  • packages/stream_chat/lib/src/core/http/token.dart
  • packages/stream_chat/lib/src/core/http/token_manager.dart
  • packages/stream_chat/lib/src/core/models/attachment.dart
  • packages/stream_chat/lib/src/core/models/attachment_file.dart
  • packages/stream_chat/lib/src/core/models/attachment_giphy_info.dart
  • packages/stream_chat/lib/src/core/models/banned_user.dart
  • packages/stream_chat/lib/src/core/models/channel_config.dart
  • packages/stream_chat/lib/src/core/models/channel_model.dart
  • packages/stream_chat/lib/src/core/models/channel_mute.dart
  • packages/stream_chat/lib/src/core/models/channel_state.dart
  • packages/stream_chat/lib/src/core/models/comparable_field.dart
  • packages/stream_chat/lib/src/core/models/draft.dart
  • packages/stream_chat/lib/src/core/models/draft_message.dart
  • packages/stream_chat/lib/src/core/models/event.dart
  • packages/stream_chat/lib/src/core/models/location.dart
  • packages/stream_chat/lib/src/core/models/member.dart
  • packages/stream_chat/lib/src/core/models/message.dart
  • packages/stream_chat/lib/src/core/models/message_reminder.dart
  • packages/stream_chat/lib/src/core/models/message_state.dart
  • packages/stream_chat/lib/src/core/models/mute.dart
  • packages/stream_chat/lib/src/core/models/own_user.dart
  • packages/stream_chat/lib/src/core/models/poll.dart
  • packages/stream_chat/lib/src/core/models/poll_option.dart
  • packages/stream_chat/lib/src/core/models/poll_vote.dart
  • packages/stream_chat/lib/src/core/models/poll_voting_mode.dart
  • packages/stream_chat/lib/src/core/models/predefined_filter.dart
  • packages/stream_chat/lib/src/core/models/push_preference.dart
  • packages/stream_chat/lib/src/core/models/reaction.dart
  • packages/stream_chat/lib/src/core/models/read.dart
  • packages/stream_chat/lib/src/core/models/thread.dart
  • packages/stream_chat/lib/src/core/models/thread_participant.dart
  • packages/stream_chat/lib/src/core/models/user.dart
  • packages/stream_chat/lib/src/core/models/user_block.dart
  • packages/stream_chat/lib/src/core/models/user_group.dart
  • packages/stream_chat/lib/src/core/platform_detector/platform_detector.dart
  • packages/stream_chat/lib/src/core/platform_detector/platform_detector_io.dart
  • packages/stream_chat/lib/src/core/platform_detector/platform_detector_stub.dart
  • packages/stream_chat/lib/src/core/platform_detector/platform_detector_web.dart
  • packages/stream_chat/lib/src/core/util/event_controller.dart
  • packages/stream_chat/lib/src/core/util/immutable_collection_subjects.dart
  • packages/stream_chat/lib/src/core/util/message_rules.dart
  • packages/stream_chat/lib/src/db/chat_persistence_client.dart
  • packages/stream_chat/lib/src/ws/connect_user_details.dart
  • packages/stream_chat/lib/src/ws/websocket.dart
  • packages/stream_chat_flutter/example/lib/debug/actions/add_user.dart
  • packages/stream_chat_flutter/example/lib/debug/actions/ban_user.dart
  • packages/stream_chat_flutter/example/lib/debug/actions/mute_user.dart
  • packages/stream_chat_flutter/example/lib/debug/actions/remove_shadow_ban.dart
  • packages/stream_chat_flutter/example/lib/debug/actions/remove_user.dart
  • packages/stream_chat_flutter/example/lib/debug/actions/shadow_ban.dart
  • packages/stream_chat_flutter/example/lib/debug/actions/unban_user.dart
  • packages/stream_chat_flutter/example/lib/debug/actions/unmute_user.dart
  • packages/stream_chat_flutter/example/lib/debug/channel_page.dart
  • packages/stream_chat_flutter/example/lib/main.dart
  • packages/stream_chat_flutter/lib/platform_widget_builder/src/desktop_widget.dart
  • packages/stream_chat_flutter/lib/platform_widget_builder/src/desktop_widget_builder.dart
  • packages/stream_chat_flutter/lib/platform_widget_builder/src/platform_widget.dart
  • packages/stream_chat_flutter/lib/platform_widget_builder/src/platform_widget_builder.dart
  • packages/stream_chat_flutter/lib/scrollable_positioned_list/src/item_positions_listener.dart
  • packages/stream_chat_flutter/lib/scrollable_positioned_list/src/item_positions_notifier.dart
  • packages/stream_chat_flutter/lib/scrollable_positioned_list/src/positioned_list.dart
  • packages/stream_chat_flutter/lib/scrollable_positioned_list/src/scroll_view.dart
  • packages/stream_chat_flutter/lib/scrollable_positioned_list/src/scrollable_positioned_list.dart
  • packages/stream_chat_flutter/lib/src/ai_assistant/streaming_message_view.dart
  • packages/stream_chat_flutter/lib/src/attachment/attachment_upload_state_builder.dart
  • packages/stream_chat_flutter/lib/src/attachment/attachment_widget_catalog.dart
  • packages/stream_chat_flutter/lib/src/attachment/builder/attachment_widget_builder.dart
  • packages/stream_chat_flutter/lib/src/attachment/file_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/gallery_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/giphy_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/handler/stream_attachment_handler_html.dart
  • packages/stream_chat_flutter/lib/src/attachment/handler/stream_attachment_handler_io.dart
  • packages/stream_chat_flutter/lib/src/attachment/image_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/link_preview_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/poll_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/thumbnail/giphy_attachment_thumbnail.dart
  • packages/stream_chat_flutter/lib/src/attachment/thumbnail/image_attachment_thumbnail.dart
  • packages/stream_chat_flutter/lib/src/attachment/thumbnail/media_attachment_thumbnail.dart
  • packages/stream_chat_flutter/lib/src/attachment/thumbnail/video_attachment_thumbnail.dart
  • packages/stream_chat_flutter/lib/src/attachment/unsupported_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/video_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/voice_recording_attachment.dart
  • packages/stream_chat_flutter/lib/src/attachment/voice_recording_attachment_playlist.dart
  • packages/stream_chat_flutter/lib/src/audio/audio_playlist_controller.dart
  • packages/stream_chat_flutter/lib/src/autocomplete/stream_autocomplete.dart
  • packages/stream_chat_flutter/lib/src/autocomplete/stream_command_autocomplete_options.dart
  • packages/stream_chat_flutter/lib/src/autocomplete/stream_mention_autocomplete_options.dart
  • packages/stream_chat_flutter/lib/src/autocomplete/user_mention_search.dart
  • packages/stream_chat_flutter/lib/src/avatars/gradient_avatar.dart
  • packages/stream_chat_flutter/lib/src/channel/channel_header.dart
  • packages/stream_chat_flutter/lib/src/channel/channel_info.dart
  • packages/stream_chat_flutter/lib/src/channel/channel_list_header.dart
  • packages/stream_chat_flutter/lib/src/channel/channel_name.dart
  • packages/stream_chat_flutter/lib/src/channel/stream_channel_name.dart
  • packages/stream_chat_flutter/lib/src/channel/stream_draft_message_preview_text.dart
  • packages/stream_chat_flutter/lib/src/channel/stream_message_preview_text.dart
  • packages/stream_chat_flutter/lib/src/components/avatar/stream_channel_avatar.dart
  • packages/stream_chat_flutter/lib/src/components/avatar/stream_user_avatar.dart
  • packages/stream_chat_flutter/lib/src/components/avatar/stream_user_avatar_group.dart
  • packages/stream_chat_flutter/lib/src/components/avatar/stream_user_avatar_stack.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_component_props.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_input.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_input_center.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_input_field.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_input_header.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_input_leading.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_input_trailing.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_leading.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_recording_locked.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_recording_ongoing.dart
  • packages/stream_chat_flutter/lib/src/components/message_composer/message_composer_trailing.dart
  • packages/stream_chat_flutter/lib/src/components/stream_chat_component_builders.dart
  • packages/stream_chat_flutter/lib/src/context_menu/context_menu.dart
  • packages/stream_chat_flutter/lib/src/indicators/sending_indicator.dart
  • packages/stream_chat_flutter/lib/src/indicators/typing_indicator.dart
  • packages/stream_chat_flutter/lib/src/indicators/unread_indicator.dart
  • packages/stream_chat_flutter/lib/src/keyboard_shortcuts/keyboard_shortcut_runner.dart
  • packages/stream_chat_flutter/lib/src/localization/accessibility_translations.dart
  • packages/stream_chat_flutter/lib/src/localization/stream_chat_localizations.dart
  • packages/stream_chat_flutter/lib/src/localization/translations.dart
  • packages/stream_chat_flutter/lib/src/media_gallery/stream_media_gallery.dart
  • packages/stream_chat_flutter/lib/src/media_gallery/stream_media_gallery_item.dart
  • packages/stream_chat_flutter/lib/src/media_gallery_preview/stream_media_gallery_preview.dart
  • packages/stream_chat_flutter/lib/src/media_gallery_preview/stream_media_gallery_preview_footer.dart
  • packages/stream_chat_flutter/lib/src/media_gallery_preview/stream_media_gallery_preview_header.dart
  • packages/stream_chat_flutter/lib/src/media_gallery_preview/stream_media_gallery_preview_item.dart
  • packages/stream_chat_flutter/lib/src/media_gallery_preview/video_player/stream_video_player.dart
  • packages/stream_chat_flutter/lib/src/media_gallery_preview/video_player/stream_video_player_activity_mixin.dart
  • packages/stream_chat_flutter/lib/src/mention/mention.dart
  • packages/stream_chat_flutter/lib/src/mention/mention_item.dart
  • packages/stream_chat_flutter/lib/src/message_action/message_actions_builder.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_command_icon.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_command_picker.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_file_picker.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_gallery_picker.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_image_picker.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_poll_creator.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/options/stream_video_picker.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker_controller.dart
  • packages/stream_chat_flutter/lib/src/message_input/attachment_picker/stream_attachment_picker_option.dart
  • packages/stream_chat_flutter/lib/src/message_input/audio_recorder/audio_recorder_announcer.dart
  • packages/stream_chat_flutter/lib/src/message_input/audio_recorder/audio_recorder_controller.dart
  • packages/stream_chat_flutter/lib/src/message_input/audio_recorder/stream_audio_recorder.dart
  • packages/stream_chat_flutter/lib/src/message_input/command_button.dart
  • packages/stream_chat_flutter/lib/src/message_input/composer_attachment_announcer.dart
  • packages/stream_chat_flutter/lib/src/message_input/dm_checkbox_list_tile.dart
  • packages/stream_chat_flutter/lib/src/message_input/error_alert_sheet.dart
  • packages/stream_chat_flutter/lib/src/message_input/message_input_placeholder.dart
  • packages/stream_chat_flutter/lib/src/message_input/stream_chat_message_input.dart
  • packages/stream_chat_flutter/lib/src/message_input/stream_message_composer.dart
  • packages/stream_chat_flutter/lib/src/message_input/stream_message_composer_attachment_list.dart
  • packages/stream_chat_flutter/lib/src/message_input/stream_message_text_field.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/floating_date_divider.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/loading_indicator.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/message_list_view.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/mlv_utils.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/stream_message_list_empty_state.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/stream_message_list_view_builders.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/stream_message_list_view_configuration.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/thread_separator.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/unread_indicator_button.dart
  • packages/stream_chat_flutter/lib/src/message_list_view/unread_messages_separator.dart
  • packages/stream_chat_flutter/lib/src/message_modal/message_action_confirmation_modal.dart
  • packages/stream_chat_flutter/lib/src/message_modal/message_actions_modal.dart
  • packages/stream_chat_flutter/lib/src/message_modal/message_modal.dart
  • packages/stream_chat_flutter/lib/src/message_modal/moderated_message_actions_modal.dart
  • packages/stream_chat_flutter/lib/src/message_widget/components/stream_message_content.dart
  • packages/stream_chat_flutter/lib/src/message_widget/components/stream_message_deleted.dart
  • packages/stream_chat_flutter/lib/src/message_widget/components/stream_message_footer.dart
  • packages/stream_chat_flutter/lib/src/message_widget/components/stream_message_header.dart
  • packages/stream_chat_flutter/lib/src/message_widget/components/stream_message_leading.dart
  • packages/stream_chat_flutter/lib/src/message_widget/components/stream_message_reactions.dart
  • packages/stream_chat_flutter/lib/src/message_widget/components/stream_message_sending_status.dart
  • packages/stream_chat_flutter/lib/src/message_widget/components/stream_message_text.dart
  • packages/stream_chat_flutter/lib/src/message_widget/stream_ephemeral_message.dart
  • packages/stream_chat_flutter/lib/src/message_widget/stream_giphy_ephemeral_message.dart
  • packages/stream_chat_flutter/lib/src/message_widget/stream_message_attachments.dart
  • packages/stream_chat_flutter/lib/src/message_widget/stream_message_item.dart
  • packages/stream_chat_flutter/lib/src/message_widget/stream_message_translation_configuration.dart
  • packages/stream_chat_flutter/lib/src/message_widget/stream_moderated_message.dart
  • packages/stream_chat_flutter/lib/src/message_widget/stream_quoted_message.dart
  • packages/stream_chat_flutter/lib/src/message_widget/stream_system_message.dart
  • packages/stream_chat_flutter/lib/src/misc/adaptive_dialog_action.dart
  • packages/stream_chat_flutter/lib/src/misc/back_button.dart
  • packages/stream_chat_flutter/lib/src/misc/connection_status_builder.dart
  • packages/stream_chat_flutter/lib/src/misc/date_divider.dart
  • packages/stream_chat_flutter/lib/src/misc/info_tile.dart
  • packages/stream_chat_flutter/lib/src/misc/stream_modal.dart
  • packages/stream_chat_flutter/lib/src/misc/thread_header.dart
  • packages/stream_chat_flutter/lib/src/misc/timestamp.dart
  • packages/stream_chat_flutter/lib/src/pages/channel_page.dart
  • packages/stream_chat_flutter/lib/src/pages/thread_page.dart
  • packages/stream_chat_flutter/lib/src/poll/creator/poll_config_option.dart
  • packages/stream_chat_flutter/lib/src/poll/creator/poll_option_reorderable_list_view.dart
  • packages/stream_chat_flutter/lib/src/poll/creator/poll_question_text_field.dart
  • packages/stream_chat_flutter/lib/src/poll/creator/stream_delete_option_dialog.dart
  • packages/stream_chat_flutter/lib/src/poll/creator/stream_poll_creator_sheet.dart
  • packages/stream_chat_flutter/lib/src/poll/creator/stream_poll_creator_widget.dart
  • packages/stream_chat_flutter/lib/src/poll/interactor/poll_add_comment_dialog.dart
  • packages/stream_chat_flutter/lib/src/poll/interactor/poll_end_vote_dialog.dart
  • packages/stream_chat_flutter/lib/src/poll/interactor/poll_footer.dart
  • packages/stream_chat_flutter/lib/src/poll/interactor/poll_header.dart
  • packages/stream_chat_flutter/lib/src/poll/interactor/poll_options_list_view.dart
  • packages/stream_chat_flutter/lib/src/poll/interactor/poll_suggest_option_dialog.dart
  • packages/stream_chat_flutter/lib/src/poll/interactor/stream_poll_interactor.dart
  • packages/stream_chat_flutter/lib/src/poll/stream_poll_comments_sheet.dart
  • packages/stream_chat_flutter/lib/src/poll/stream_poll_option_votes_sheet.dart
  • packages/stream_chat_flutter/lib/src/poll/stream_poll_options_sheet.dart
  • packages/stream_chat_flutter/lib/src/poll/stream_poll_results_sheet.dart
  • packages/stream_chat_flutter/lib/src/reactions/detail/reaction_detail_sheet.dart
  • packages/stream_chat_flutter/lib/src/reactions/picker/reaction_picker.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_item.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/channel_scroll_view/stream_channel_list_view.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/member_scroll_view/stream_member_grid_view.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/member_scroll_view/stream_member_list_view.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_tile.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/message_search_scroll_view/stream_message_search_list_view.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/photo_gallery/stream_photo_gallery_tile.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/poll_vote_scroll_view/stream_poll_vote_list_tile.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/poll_vote_scroll_view/stream_poll_vote_list_view.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/reaction_scroll_view/stream_reaction_list_view.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_empty_widget.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_error_widget.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/stream_scroll_view_load_more_error.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/thread_scroll_view/stream_thread_list_tile.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/thread_scroll_view/stream_thread_list_view.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/thread_scroll_view/stream_unread_threads_banner.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_tile.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_grid_view.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_tile.dart
  • packages/stream_chat_flutter/lib/src/scroll_view/user_scroll_view/stream_user_list_view.dart
  • packages/stream_chat_flutter/lib/src/stream_chat.dart
  • packages/stream_chat_flutter/lib/src/stream_chat_configuration.dart
  • packages/stream_chat_flutter/lib/src/theme/message_composer_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/message_list_view_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/poll_comments_sheet_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/poll_creator_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/poll_interactor_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/poll_option_votes_sheet_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/poll_option_votes_style.dart
  • packages/stream_chat_flutter/lib/src/theme/poll_options_sheet_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/poll_question_style.dart
  • packages/stream_chat_flutter/lib/src/theme/poll_results_sheet_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/quoted_message_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/stream_channel_list_item_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/stream_chat_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/thread_list_tile_theme.dart
  • packages/stream_chat_flutter/lib/src/theme/voice_recording_attachment_theme.dart
  • packages/stream_chat_flutter/lib/src/user/user_mention_tile.dart
  • packages/stream_chat_flutter/lib/src/utils/date_formatter.dart
  • packages/stream_chat_flutter/lib/src/utils/extensions.dart
  • packages/stream_chat_flutter/lib/src/utils/helpers.dart
  • packages/stream_chat_flutter/lib/src/utils/message_preview_formatter.dart
  • packages/stream_chat_flutter/lib/src/utils/network_error_text.dart
  • packages/stream_chat_flutter/lib/src/utils/typedefs.dart
  • packages/stream_chat_flutter/lib/src/video/video_service.dart
  • packages/stream_chat_flutter/lib/src/video/video_thumbnail_image.dart
  • packages/stream_chat_flutter_core/lib/src/message_list_core.dart
  • packages/stream_chat_flutter_core/lib/src/paged_value_scroll_view.dart
  • packages/stream_chat_flutter_core/lib/src/search_debounce_mixin.dart
  • packages/stream_chat_flutter_core/lib/src/stream_channel.dart
  • packages/stream_chat_flutter_core/lib/src/stream_channel_list_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_channel_list_event_handler.dart
  • packages/stream_chat_flutter_core/lib/src/stream_chat_core.dart
  • packages/stream_chat_flutter_core/lib/src/stream_draft_list_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_draft_list_event_handler.dart
  • packages/stream_chat_flutter_core/lib/src/stream_member_list_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_message_composer_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_message_reminder_list_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_message_reminder_list_event_handler.dart
  • packages/stream_chat_flutter_core/lib/src/stream_message_search_list_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_poll_vote_list_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_reaction_list_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_thread_list_controller.dart
  • packages/stream_chat_flutter_core/lib/src/stream_thread_list_event_handler.dart
  • packages/stream_chat_flutter_core/lib/src/stream_user_list_controller.dart
  • packages/stream_chat_persistence/lib/src/converter/reaction_groups_converter.dart
  • packages/stream_chat_persistence/lib/src/dao/channel_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/channel_query_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/connection_event_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/draft_message_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/location_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/member_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/message_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/pinned_message_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/pinned_message_reaction_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/poll_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/poll_vote_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/reaction_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/read_dao.dart
  • packages/stream_chat_persistence/lib/src/dao/user_dao.dart
  • packages/stream_chat_persistence/lib/src/db/drift_chat_database.dart
  • packages/stream_chat_persistence/lib/src/db/shared/native_db.dart
  • packages/stream_chat_persistence/lib/src/db/shared/unsupported_db.dart
  • packages/stream_chat_persistence/lib/src/db/shared/web_db.dart
  • packages/stream_chat_persistence/lib/src/entity/channel_queries_metadata.dart
  • packages/stream_chat_persistence/lib/src/entity/channels.dart
  • packages/stream_chat_persistence/lib/src/entity/connection_events.dart
  • packages/stream_chat_persistence/lib/src/entity/draft_messages.dart
  • packages/stream_chat_persistence/lib/src/entity/locations.dart
  • packages/stream_chat_persistence/lib/src/entity/members.dart
  • packages/stream_chat_persistence/lib/src/entity/messages.dart
  • packages/stream_chat_persistence/lib/src/entity/pinned_message_reactions.dart
  • packages/stream_chat_persistence/lib/src/entity/pinned_messages.dart
  • packages/stream_chat_persistence/lib/src/entity/poll_votes.dart
  • packages/stream_chat_persistence/lib/src/entity/polls.dart
  • packages/stream_chat_persistence/lib/src/entity/reactions.dart
  • packages/stream_chat_persistence/lib/src/entity/reads.dart
  • packages/stream_chat_persistence/lib/src/entity/users.dart
  • packages/stream_chat_persistence/lib/src/mapper/channel_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/draft_message_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/event_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/location_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/member_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/message_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/pinned_message_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/pinned_message_reaction_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/poll_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/poll_vote_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/reaction_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/read_mapper.dart
  • packages/stream_chat_persistence/lib/src/mapper/user_mapper.dart
  • packages/stream_chat_persistence/lib/src/stream_chat_persistence_client.dart
  • sample_app/lib/app.dart
  • sample_app/lib/auth/auth_controller.dart
  • sample_app/lib/config/sample_app_config_screen.dart
  • sample_app/lib/main.dart
  • sample_app/lib/notification/notification.dart
  • sample_app/lib/notification/notification_background_handler.dart
  • sample_app/lib/notification/notification_service.dart
  • sample_app/lib/pages/advanced_options_page.dart
  • sample_app/lib/pages/channel_list_page.dart
  • sample_app/lib/pages/chat_info_screen.dart
  • sample_app/lib/pages/choose_user_page.dart
  • sample_app/lib/pages/draft_list_page.dart
  • sample_app/lib/pages/group_chat_details_screen.dart
  • sample_app/lib/pages/group_info_screen.dart
  • sample_app/lib/pages/new_chat_screen.dart
  • sample_app/lib/pages/new_group_chat_screen.dart
  • sample_app/lib/pages/pinned_messages_screen.dart
  • sample_app/lib/pages/reminders_page.dart
  • sample_app/lib/pages/thread_list_page.dart
  • sample_app/lib/push/push_token_manager.dart
  • sample_app/lib/routes/app_routes.dart
  • sample_app/lib/utils/shared_location_service.dart
  • sample_app/lib/widgets/add_members_sheet.dart
  • sample_app/lib/widgets/all_members_sheet.dart
  • sample_app/lib/widgets/channel_detail_sheet.dart
  • sample_app/lib/widgets/channel_list.dart
  • sample_app/lib/widgets/custom_message_actions.dart
  • sample_app/lib/widgets/location/location_attachment.dart
  • sample_app/lib/widgets/location/location_aware_message_composer.dart
  • sample_app/lib/widgets/location/location_detail_dialog.dart
  • sample_app/lib/widgets/location/location_picker_dialog.dart
  • sample_app/lib/widgets/location/location_picker_option.dart
  • sample_app/lib/widgets/simple_map_view.dart
  • sample_app/lib/widgets/stream_draft_list_view.dart

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


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.

`dart fix` skips what the analyzer excludes and no lint covers `export`
directives, leaving 16 self-package directives behind in
`scrollable_positioned_list/` and two theme/composer barrels.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@xsahil03x
xsahil03x enabled auto-merge (squash) August 26, 2026 15:21
@xsahil03x

Copy link
Copy Markdown
Member Author

@copilot restart the pending github actions

Copilot AI commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

@copilot restart the pending github actions

I checked the runs and confirmed these are currently queued/pending: 32984435170, 32984287247, 32984218067, 32984069649. I don’t have a restart/cancel action available via the current toolset, so please restart them from the Actions UI (or cancel + re-run) and I can re-check status right away.

@xsahil03x xsahil03x closed this Aug 26, 2026
auto-merge was automatically disabled August 26, 2026 18:59

Pull request was closed

@xsahil03x xsahil03x reopened this Aug 26, 2026
@xsahil03x
xsahil03x enabled auto-merge (squash) August 26, 2026 19:00
@github-actions

Copy link
Copy Markdown

⚠️ Database Entity Files Modified

The following database entity files have been modified in this PR:

packages/stream_chat_persistence/lib/src/entity/channel_queries_metadata.dart
packages/stream_chat_persistence/lib/src/entity/channels.dart
packages/stream_chat_persistence/lib/src/entity/connection_events.dart
packages/stream_chat_persistence/lib/src/entity/draft_messages.dart
packages/stream_chat_persistence/lib/src/entity/locations.dart
packages/stream_chat_persistence/lib/src/entity/members.dart
packages/stream_chat_persistence/lib/src/entity/messages.dart
packages/stream_chat_persistence/lib/src/entity/pinned_message_reactions.dart
packages/stream_chat_persistence/lib/src/entity/pinned_messages.dart
packages/stream_chat_persistence/lib/src/entity/poll_votes.dart
packages/stream_chat_persistence/lib/src/entity/polls.dart
packages/stream_chat_persistence/lib/src/entity/reactions.dart
packages/stream_chat_persistence/lib/src/entity/reads.dart
packages/stream_chat_persistence/lib/src/entity/users.dart

📝 Remember to:

  1. Bump the database schema version in packages/stream_chat_persistence/lib/src/db/drift_chat_database.dart — CI will fail until this is done:

    -  int get schemaVersion => 1000 + 35;
    +  int get schemaVersion => 1000 + 36;
  2. Update entity schema tests if necessary.

Note: This comment is automatically generated by the CI workflow.

@xsahil03x

Copy link
Copy Markdown
Member Author

⚠️ Database Entity Files Modified

The following database entity files have been modified in this PR:

packages/stream_chat_persistence/lib/src/entity/channel_queries_metadata.dart
packages/stream_chat_persistence/lib/src/entity/channels.dart
packages/stream_chat_persistence/lib/src/entity/connection_events.dart
packages/stream_chat_persistence/lib/src/entity/draft_messages.dart
packages/stream_chat_persistence/lib/src/entity/locations.dart
packages/stream_chat_persistence/lib/src/entity/members.dart
packages/stream_chat_persistence/lib/src/entity/messages.dart
packages/stream_chat_persistence/lib/src/entity/pinned_message_reactions.dart
packages/stream_chat_persistence/lib/src/entity/pinned_messages.dart
packages/stream_chat_persistence/lib/src/entity/poll_votes.dart
packages/stream_chat_persistence/lib/src/entity/polls.dart
packages/stream_chat_persistence/lib/src/entity/reactions.dart
packages/stream_chat_persistence/lib/src/entity/reads.dart
packages/stream_chat_persistence/lib/src/entity/users.dart

📝 Remember to:

  1. Bump the database schema version in packages/stream_chat_persistence/lib/src/db/drift_chat_database.dart — CI will fail until this is done:
    -  int get schemaVersion => 1000 + 35;
    +  int get schemaVersion => 1000 + 36;
  2. Update entity schema tests if necessary.

Note: This comment is automatically generated by the CI workflow.

False Alert

@codecov

codecov Bot commented Aug 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 74.18%. Comparing base (2048579) to head (e123fa8).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2929   +/-   ##
=======================================
  Coverage   74.18%   74.18%           
=======================================
  Files         437      437           
  Lines       28375    28375           
=======================================
  Hits        21049    21049           
  Misses       7326     7326           

☔ View full report in Codecov by Harness.
📢 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.

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.

3 participants