Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions melos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -79,11 +79,11 @@ command:
share_plus: ">=11.0.0 <13.0.0"
shimmer: ^3.0.0
sqlite3_flutter_libs: ^0.5.26
stream_chat: ^9.27.0
stream_chat_flutter: ^9.27.0
stream_chat_flutter_core: ^9.27.0
stream_chat_localizations: ^9.27.0
stream_chat_persistence: ^9.27.0
stream_chat: ^9.28.0
stream_chat_flutter: ^9.28.0
stream_chat_flutter_core: ^9.28.0
stream_chat_localizations: ^9.28.0
stream_chat_persistence: ^9.28.0
streaming_shared_preferences: ^2.0.0
svg_icon_widget: ^0.0.1
synchronized: ^3.1.0+1
Expand Down
20 changes: 11 additions & 9 deletions packages/stream_chat/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@
## Upcoming
## 9.28.0

✅ Added

- Added `Event.watcherCount`, exposing the server-provided `watcher_count` field on events (e.g. `user.watching.start`, `user.watching.stop`, `message.new`).
- Added `StreamChatNetworkError.type` (a `StreamChatNetworkErrorType` capturing the transport failure kind — connection error, timeout, cancellation, etc.).

🔄 Changed

- Raised the minimum `rate_limiter` version to `^1.1.1`.

⚠️ Deprecated

- Deprecated `StreamChatNetworkError.isRequestCancelledError` in favor of `type == StreamChatNetworkErrorType.cancel`.

🐞 Fixed

- Fixed `StreamChatClient.sync` letting a failure from its final `updateLastSyncAt` write escape to the caller; it is now handled by the method's own error handling, like every other sync failure.
Expand All @@ -19,7 +24,11 @@
- Fixed `ChannelClientState.watcherCount` staying stale during a session.
- Fixed watchers not being removed from `ChannelClientState.watchers` on `user.watching.stop`.
- Fixed a `StateError` (`Cannot add new events after calling close`) thrown when the client is disposed while a reconnect recovery is still in flight.

- Fixed `StreamWebSocketError.toString()` using a `WebSocketError(...)` prefix instead of the class name; it now also includes `code`, and `StreamChatNetworkError.toString()` now surfaces the transport `type` when known.
- Fixed `Channel.name`/`image`/`extraData` setters throwing after a *failed* initialization; they now only throw once the channel is successfully initialized.
- Fixed `Channel.initialized` staying errored after a failed init; it now reflects a subsequent successful (re)initialization.
- Fixed `Message.deleteMyReaction` dropping an entire reaction group when its summed scores reached zero even though other users' reactions kept the count positive; the group is now retained as long as its count stays above zero.
- Fixed reaction groups derived from legacy `reaction_counts`/`reaction_scores` payloads being discarded when their score total was zero or negative despite a positive count.

## 9.27.0

Expand All @@ -28,7 +37,6 @@
- Added support for predefined filters for `QueryChannels` on `StreamChatClient` (`StreamChatClient.queryChannels` and `StreamChatClient.queryChannelsWithResult`).
- Added `ChatPersistenceClient.queryChannelStates` and `ChatPersistenceClient.saveChannelQueries` as the unified read/write methods for channel-query persistence. Both accept standard and predefined-filter parameters and internally dispatch.
- Added an `upsert` flag to `ChannelClientState.updateMessage` and `ChannelClientState.updateThreadInfo` (defaults to `true`). Pass `false` to update a message only if it's already loaded in the state, skipping unknown messages instead of adding them.
- Added `StreamChatNetworkError.type` (a `StreamChatNetworkErrorType` capturing the transport failure kind — connection error, timeout, cancellation, etc.).

🔄 Changed

Expand All @@ -38,18 +46,12 @@
⚠️ Deprecated

- Deprecated `ChatPersistenceClient.getChannelStates` and `ChatPersistenceClient.updateChannelQueries` in favor of the unified `queryChannelStates` / `saveChannelQueries`. The deprecated methods stay overridable so downstream subclasses keep working unchanged.
- Deprecated `StreamChatNetworkError.isRequestCancelledError` in favor of `type == StreamChatNetworkErrorType.cancel`.

🐞 Fixed

- Fixed a deprecation warning from `equatable` causing CI analysis to fail.
- Fixed `StreamWebSocketError.toString()` using a `WebSocketError(...)` prefix instead of the class name; it now also includes `code`, and `StreamChatNetworkError.toString()` now surfaces the transport `type` when known.
- Fixed `Channel.name`/`image`/`extraData` setters throwing after a *failed* initialization; they now only throw once the channel is successfully initialized.
- Fixed `Channel.initialized` staying errored after a failed init; it now reflects a subsequent successful (re)initialization.
- `ComparableField` now folds diacritics/ligatures and ignores case when comparing strings, so `SortOption` on fields like `name` no longer pushes lowercase or non-ASCII names (`jhon`, `Łukasz`, `Øystein`) to the end of client-sorted lists ([#2601](https://github.com/GetStream/stream-chat-flutter/issues/2601)).
- Fixed `message.updated` and soft `message.deleted` events being incorrectly upserted into `ChannelState.messages` (and thread reply lists) when they targeted a message outside the currently loaded window.
- Fixed `Message.deleteMyReaction` dropping an entire reaction group when its summed scores reached zero even though other users' reactions kept the count positive; the group is now retained as long as its count stays above zero.
- Fixed reaction groups derived from legacy `reaction_counts`/`reaction_scores` payloads being discarded when their score total was zero or negative despite a positive count.

## 9.26.0

Expand Down
2 changes: 1 addition & 1 deletion packages/stream_chat/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ dependencies:
cupertino_icons: ^1.0.3
flutter:
sdk: flutter
stream_chat: ^9.27.0
stream_chat: ^9.28.0

flutter:
uses-material-design: true
2 changes: 1 addition & 1 deletion packages/stream_chat/lib/version.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/stream_chat/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: stream_chat
homepage: https://getstream.io/
description: The official Dart client for Stream Chat, a service for building chat applications.
version: 9.27.0
version: 9.28.0
repository: https://github.com/GetStream/stream-chat-flutter
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues

Expand Down
16 changes: 11 additions & 5 deletions packages/stream_chat_flutter/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,27 @@
## Upcoming
## 9.28.0

✅ Added

- Added an `errorSubtitle` to `StreamScrollViewErrorWidget`, which now falls back to the generic error copy (title and description) when values aren't provided.

🔄 Changed

- Raised the minimum `rate_limiter` version to `^1.1.1`.

🐞 Fixed

- Fixed the default `StreamChannel` loading and error states not being themed or localized; `StreamChat` now installs themed, connection-aware defaults, overridable per `StreamChannel` or via `DefaultStreamChannelBuilders`.
- Fixed the default list/scroll-view error states (channel, message, member, user, thread, poll-vote, search, and photo) showing raw or fixed errors; they are now connection-aware (no internet / slow connection), falling back to each view's specific error text.
- Fixed link preview enrichment failing for uppercase URL schemes (e.g. `HTTPS://`) by normalizing the scheme before enriching.

## 9.27.0

✅ Added

- Added a `LastMessagePredicate` typedef for the `ChannelLastMessageText.lastMessagePredicate` filter.
- Added an `errorSubtitle` to `StreamScrollViewErrorWidget`, which now falls back to the generic error copy (title and description) when values aren't provided.

🐞 Fixed

- Fixed the default `StreamChannel` loading and error states not being themed or localized; `StreamChat` now installs themed, connection-aware defaults, overridable per `StreamChannel` or via `DefaultStreamChannelBuilders`.
- Fixed the default list/scroll-view error states (channel, message, member, user, thread, poll-vote, search, and photo) showing raw or fixed errors; they are now connection-aware (no internet / slow connection), falling back to each view's specific error text.
- Fixed link preview enrichment failing for uppercase URL schemes (e.g. `HTTPS://`) by normalizing the scheme before enriching.
- Fixed `StreamMessageListView` firing `markThreadRead` on a reply-less parent, which produced a guaranteed 404 every time the thread view was opened before the first reply.
- Fixed shadowed messages not hidden in channel list items.
- Fixed last-message preview flicker during channel-state reloads.
Expand Down
6 changes: 3 additions & 3 deletions packages/stream_chat_flutter/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ dependencies:
flutter:
sdk: flutter
responsive_builder: ^0.7.0
stream_chat_flutter: ^9.27.0
stream_chat_localizations: ^9.27.0
stream_chat_persistence: ^9.27.0
stream_chat_flutter: ^9.28.0
stream_chat_localizations: ^9.28.0
stream_chat_persistence: ^9.28.0

flutter:
uses-material-design: true
Expand Down
4 changes: 2 additions & 2 deletions packages/stream_chat_flutter/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: stream_chat_flutter
homepage: https://github.com/GetStream/stream-chat-flutter
description: Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter.
version: 9.27.0
version: 9.28.0
repository: https://github.com/GetStream/stream-chat-flutter
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues

Expand Down Expand Up @@ -55,7 +55,7 @@ dependencies:
rxdart: ^0.28.0
share_plus: ">=11.0.0 <13.0.0"
shimmer: ^3.0.0
stream_chat_flutter_core: ^9.27.0
stream_chat_flutter_core: ^9.28.0
svg_icon_widget: ^0.0.1
synchronized: ^3.1.0+1
thumblr: ^0.0.4
Expand Down
11 changes: 7 additions & 4 deletions packages/stream_chat_flutter_core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
## Upcoming
## 9.28.0

✅ Added

- Added `StreamChannelState.retry()` to re-run a failed channel initialization, for use as the retry action in `StreamChannel.errorBuilder`.
- Added `DefaultStreamChannelBuilders`, an inherited widget that supplies default loading and error builders to descendant `StreamChannel`s (resolved via `loadingBuilderOf`/`errorBuilderOf`).

🐞 Fixed

- Fixed `StreamChannelListController` crashing with a null-check error when its local sort ran over a channel disposed mid-query (e.g. a client disconnect/logout racing an in-flight `loadMore`); such channels are now sorted last instead.
- Fixed `StreamChannel`'s default error state exposing raw error details; it now shows a safe error state (icon, message, and a Try Again button wired to `retry()`) that adapts to the failure type.

## 9.27.0

✅ Added

- Added support for predefined filters on `StreamChannelListController`.
- Added `StreamChannelState.retry()` to re-run a failed channel initialization, for use as the retry action in `StreamChannel.errorBuilder`.
- Added `DefaultStreamChannelBuilders`, an inherited widget that supplies default loading and error builders to descendant `StreamChannel`s (resolved via `loadingBuilderOf`/`errorBuilderOf`).

🐞 Fixed

- Fixed `StreamChannelListController` not handling `notification.channel_deleted` event.
- Fixed backwards pagination not working if channel was never opened.
- Fixed `StreamChannel`'s default error state exposing raw error details; it now shows a safe error state (icon, message, and a Try Again button wired to `retry()`) that adapts to the failure type.

## 9.26.0

Expand Down
2 changes: 1 addition & 1 deletion packages/stream_chat_flutter_core/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ dependencies:
cupertino_icons: ^1.0.3
flutter:
sdk: flutter
stream_chat_flutter_core: ^9.27.0
stream_chat_flutter_core: ^9.28.0

flutter:
uses-material-design: true
4 changes: 2 additions & 2 deletions packages/stream_chat_flutter_core/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: stream_chat_flutter_core
homepage: https://github.com/GetStream/stream-chat-flutter
description: Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter.
version: 9.27.0
version: 9.28.0
repository: https://github.com/GetStream/stream-chat-flutter
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues

Expand Down Expand Up @@ -31,7 +31,7 @@ dependencies:
meta: ^1.9.1
package_info_plus: ">=8.3.0 <10.0.0"
rxdart: ^0.28.0
stream_chat: ^9.27.0
stream_chat: ^9.28.0

dev_dependencies:
build_runner: ^2.4.9
Expand Down
6 changes: 5 additions & 1 deletion packages/stream_chat_localizations/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
## 9.28.0

- Updated `stream_chat_flutter` dependency to [`9.28.0`](https://pub.dev/packages/stream_chat_flutter/changelog).
- Added connection-error translations (`connectionErrorTitle`/`Description`, `slowConnectionErrorTitle`/`Description`, `genericErrorTitle`/`Description`) for all supported locales.

## 9.27.0

- Updated `stream_chat_flutter` dependency to [`9.27.0`](https://pub.dev/packages/stream_chat_flutter/changelog).
- Added connection-error translations (`connectionErrorTitle`/`Description`, `slowConnectionErrorTitle`/`Description`, `genericErrorTitle`/`Description`) for all supported locales.

## 9.26.0

Expand Down
4 changes: 2 additions & 2 deletions packages/stream_chat_localizations/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ dependencies:
cupertino_icons: ^1.0.3
flutter:
sdk: flutter
stream_chat_flutter: ^9.27.0
stream_chat_localizations: ^9.27.0
stream_chat_flutter: ^9.28.0
stream_chat_localizations: ^9.28.0

flutter:
uses-material-design: true
4 changes: 2 additions & 2 deletions packages/stream_chat_localizations/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: stream_chat_localizations
description: The Official localizations for Stream Chat Flutter, a service for building chat applications
version: 9.27.0
version: 9.28.0
homepage: https://github.com/GetStream/stream-chat-flutter
repository: https://github.com/GetStream/stream-chat-flutter
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
Expand All @@ -26,7 +26,7 @@ dependencies:
sdk: flutter
flutter_localizations:
sdk: flutter
stream_chat_flutter: ^9.27.0
stream_chat_flutter: ^9.28.0

dev_dependencies:
flutter_test:
Expand Down
2 changes: 1 addition & 1 deletion packages/stream_chat_persistence/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
## Upcoming
## 9.28.0

🐞 Fixed

Expand Down
4 changes: 2 additions & 2 deletions packages/stream_chat_persistence/example/pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ dependencies:
cupertino_icons: ^1.0.3
flutter:
sdk: flutter
stream_chat: ^9.27.0
stream_chat_persistence: ^9.27.0
stream_chat: ^9.28.0
stream_chat_persistence: ^9.28.0

flutter:
uses-material-design: true
4 changes: 2 additions & 2 deletions packages/stream_chat_persistence/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: stream_chat_persistence
homepage: https://github.com/GetStream/stream-chat-flutter
description: Official Stream Chat Persistence library. Build your own chat experience using Dart and Flutter.
version: 9.27.0
version: 9.28.0
repository: https://github.com/GetStream/stream-chat-flutter
issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues

Expand Down Expand Up @@ -30,7 +30,7 @@ dependencies:
path: ^1.8.3
path_provider: ^2.1.3
sqlite3_flutter_libs: ^0.5.26
stream_chat: ^9.27.0
stream_chat: ^9.28.0

dev_dependencies:
build_runner: ^2.4.9
Expand Down
8 changes: 4 additions & 4 deletions sample_app/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: sample_app
description: A new Flutter project.
publish_to: "none"
version: 9.27.0
version: 9.28.0

# Note: The environment configuration and dependency versions are managed by Melos.
#
Expand Down Expand Up @@ -34,9 +34,9 @@ dependencies:
go_router: ^14.6.2
lottie: ^3.1.2
provider: ^6.0.5
stream_chat_flutter: ^9.27.0
stream_chat_localizations: ^9.27.0
stream_chat_persistence: ^9.27.0
stream_chat_flutter: ^9.28.0
stream_chat_localizations: ^9.28.0
stream_chat_persistence: ^9.28.0
streaming_shared_preferences: ^2.0.0
uuid: ^4.4.0
video_player: ^2.8.7
Expand Down
Loading