Merge branch 'develop' into fix/image-attachment-web

This commit is contained in:
Gordon
2022-12-02 17:51:48 +01:00
committed by GitHub
10 changed files with 32 additions and 29 deletions
@@ -58,7 +58,7 @@ void dispose() {
} }
``` ```
The `StreamChannelListController` is basically a [`PagedValueNotifier`](./paged_value_notifier.mdx) that notifies you when the list of channels has changed. The `StreamChannelListController` is basically a [`PagedValueNotifier`](./paged_value_listenable_builder.mdx) that notifies you when the list of channels has changed.
You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest channels. You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest channels.
```dart ```dart
@@ -46,7 +46,7 @@ void dispose() {
} }
``` ```
The `StreamMemberListController` is basically a [`PagedValueNotifier`](./paged_value_notifier.mdx) that notifies you when the list of members has changed. The `StreamMemberListController` is basically a [`PagedValueNotifier`](./paged_value_listenable_builder.mdx) that notifies you when the list of members has changed.
You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest members. You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest members.
```dart ```dart
@@ -46,7 +46,7 @@ void dispose() {
} }
``` ```
The `StreamMessageSearchListController` is basically a [`PagedValueNotifier`](./paged_value_notifier.mdx) that notifies you when the list of responses has changed. The `StreamMessageSearchListController` is basically a [`PagedValueNotifier`](./paged_value_listenable_builder.mdx) that notifies you when the list of responses has changed.
You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest responses. You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest responses.
```dart ```dart
@@ -46,7 +46,7 @@ void dispose() {
} }
``` ```
The `StreamUserListController` is basically a [`PagedValueNotifier`](./paged_value_notifier.mdx) that notifies you when the list of users has changed. The `StreamUserListController` is basically a [`PagedValueNotifier`](./paged_value_listenable_builder.mdx) that notifies you when the list of users has changed.
You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest users. You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest users.
```dart ```dart
@@ -12,9 +12,9 @@ This guide demonstrates three alternative ways for you to initialize Stream Chat
Before investigating potential solutions, lets first take a look at the relevant Stream Chat widgets and classes. Before investigating potential solutions, lets first take a look at the relevant Stream Chat widgets and classes.
Most of the Stream Chat Flutter UI widgets rely on having a [StreamChat](https://getstream.io/chat/docs/sdk/flutter/stream_chat_flutter/stream_chat_and_theming/) ancestor in the widget tree. Most of the Stream Chat Flutter UI widgets rely on having a [StreamChat](../../customization/stream_chat_and_theming/) ancestor in the widget tree.
The **StreamChat** widget is an [InheritedWidget](https://api.flutter.dev/flutter/widgets/InheritedWidget-class.html) that exposes the **StreamChatClient** through **BuildContext**. The **StreamChat** widget is an [InheritedWidget](https://api.flutter.dev/flutter/widgets/InheritedWidget-class.html) that exposes the **StreamChatClient** through **BuildContext**.
This widget also initializes the [StreamChatCore](../stream_chat_flutter_core/stream_chat_core.mdx) widget and the **StreamChatTheme**. This widget also initializes the [StreamChatCore](../../stream_chat_flutter_core/stream_chat_core.mdx) widget and the **StreamChatTheme**.
**StreamChatCore** is a **StatefulWidget** used to react to life cycle changes and system updates. **StreamChatCore** is a **StatefulWidget** used to react to life cycle changes and system updates.
When the app goes into the background, the WebSocket connection is closed. When the app goes into the background, the WebSocket connection is closed.
@@ -58,7 +58,7 @@ void dispose() {
} }
``` ```
The `StreamChannelListController` is basically a [`PagedValueNotifier`](./paged_value_notifier.mdx) that notifies you when the list of channels has changed. The `StreamChannelListController` is basically a [`PagedValueNotifier`](./paged_value_listenable_builder.mdx) that notifies you when the list of channels has changed.
You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest channels. You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest channels.
```dart ```dart
@@ -46,7 +46,7 @@ void dispose() {
} }
``` ```
The `StreamMessageSearchListController` is basically a [`PagedValueNotifier`](./paged_value_notifier.mdx) that notifies you when the list of responses has changed. The `StreamMessageSearchListController` is basically a [`PagedValueNotifier`](./paged_value_listenable_builder.mdx) that notifies you when the list of responses has changed.
You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest responses. You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest responses.
```dart ```dart
@@ -46,7 +46,7 @@ void dispose() {
} }
``` ```
The `StreamUserListController` is basically a [`PagedValueNotifier`](./paged_value_notifier.mdx) that notifies you when the list of users has changed. The `StreamUserListController` is basically a [`PagedValueNotifier`](./paged_value_listenable_builder.mdx) that notifies you when the list of users has changed.
You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest users. You can use a [`PagedValueListenableBuilder`](./paged_value_listenable_builder.mdx) to build your UI depending on the latest users.
```dart ```dart
@@ -2,6 +2,7 @@
🐞 Fixed 🐞 Fixed
- [[#1379]](https://github.com/GetStream/stream-chat-flutter/issues/1379) Fixed "Issues with photo attachments on web", where the cached image attachment would not render while uploading. - [[#1379]](https://github.com/GetStream/stream-chat-flutter/issues/1379) Fixed "Issues with photo attachments on web", where the cached image attachment would not render while uploading.
- Fix render overflow issue with `MessageSearchListTileTitle`. It now uses `Text.rich` instead of `Row`. Better default behaviour and allows `TextOverflow`.
## 5.1.0 ## 5.1.0
@@ -122,7 +122,8 @@ class StreamMessageSearchListTile extends StatelessWidget {
final title = this.title ?? final title = this.title ??
MessageSearchListTileTitle( MessageSearchListTileTitle(
messageResponse: messageResponse, messageResponse: messageResponse,
textStyle: channelPreviewTheme.titleStyle, textStyle: channelPreviewTheme.titleStyle
?.copyWith(overflow: TextOverflow.ellipsis),
); );
final subtitle = this.subtitle ?? final subtitle = this.subtitle ??
@@ -177,27 +178,28 @@ class MessageSearchListTileTitle extends StatelessWidget {
final channel = messageResponse.channel; final channel = messageResponse.channel;
final channelName = channel?.extraData['name']; final channelName = channel?.extraData['name'];
return Row( return Text.rich(
children: [ TextSpan(
Text( children: [
user.id == StreamChat.of(context).currentUser?.id TextSpan(
? context.translations.youText text: user.id == StreamChat.of(context).currentUser?.id
: user.name, ? context.translations.youText
style: textStyle, : user.name,
), ),
if (channelName != null) ...[ if (channelName != null) ...[
Text( TextSpan(
' ${context.translations.inText} ', text: ' ${context.translations.inText} ',
style: textStyle?.copyWith( style: textStyle?.copyWith(
fontWeight: FontWeight.normal, fontWeight: FontWeight.normal,
),
), ),
), TextSpan(
Text( text: channelName as String,
channelName as String, ),
style: textStyle, ],
),
], ],
], ),
style: textStyle,
); );
} }
} }