Merge pull request #1669 from GetStream/release/v6.6.0

This commit is contained in:
Sahil Kumar
2023-07-12 16:27:23 +05:30
committed by GitHub
43 changed files with 236 additions and 307 deletions
@@ -0,0 +1,71 @@
name: legacy_version_analyze
env:
# Note: The versions below should be manually updated after a new stable
# version comes out.
flutter_version: "3.7.12"
on:
push:
branches:
- master
- develop
paths:
- 'packages/**'
- '.github/workflows/legacy_version_analyze.yml'
pull_request:
branches:
- master
- develop
paths:
- 'packages/**'
- '.github/workflows/legacy_version_analyze.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
# Does a sanity check that packages at least pass analysis on the N-1
# versions of Flutter stable if the package claims to support that version.
# This is to minimize accidentally making changes that break old versions
# (which we don't commit to supporting, but don't want to actively break)
# without updating the constraints.
analyze_legacy_versions:
timeout-minutes: 15
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- name: "Git Checkout"
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: "Install Flutter"
uses: subosito/flutter-action@v2
with:
cache: true
flutter-version: ${{ env.flutter_version }}
- name: "Install Tools"
run: flutter pub global activate melos
- name: "Bootstrap Workspace"
run: melos bootstrap --verbose
# Only analyze lib/; non-client code doesn't need to work on
# all supported legacy version.
- name: "Stream Chat Analyze"
run: cd packages/stream_chat/lib && dart analyze --fatal-infos .
- name: "Stream Chat Flutter Core Analyze"
run: cd packages/stream_chat_flutter_core/lib && dart analyze --fatal-infos .
- name: "Stream Chat Flutter Analyze"
run: cd packages/stream_chat_flutter/lib && dart analyze --fatal-infos .
- name: "Stream Chat Persistence Analyze"
run: cd packages/stream_chat_persistence/lib && dart analyze --fatal-infos .
- name: "Stream Chat Localizations Analyze"
run: cd packages/stream_chat_localizations/lib && dart analyze --fatal-infos .
+6
View File
@@ -1,3 +1,9 @@
## 6.5.0
🔄 Changed
- Updated minimum supported `SDK` version to Dart 2.19
## 6.4.0 ## 6.4.0
🐞 Fixed 🐞 Fixed
+2 -6
View File
@@ -5,8 +5,8 @@ publish_to: "none"
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: '>=2.19.0 <4.0.0'
flutter: ">=1.17.0" flutter: ">=3.7.0"
dependencies: dependencies:
cupertino_icons: ^1.0.5 cupertino_icons: ^1.0.5
@@ -14,9 +14,5 @@ dependencies:
sdk: flutter sdk: flutter
stream_chat: ^6.4.0 stream_chat: ^6.4.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter: flutter:
uses-material-design: true uses-material-design: true
+1 -1
View File
@@ -3,4 +3,4 @@ import 'package:stream_chat/src/client/client.dart';
/// Current package version /// Current package version
/// Used in [StreamChatClient] to build the `x-stream-client` header /// Used in [StreamChatClient] to build the `x-stream-client` header
// ignore: constant_identifier_names // ignore: constant_identifier_names
const PACKAGE_VERSION = '6.4.0'; const PACKAGE_VERSION = '6.5.0';
+10 -10
View File
@@ -1,34 +1,34 @@
name: stream_chat name: stream_chat
homepage: https://getstream.io/ homepage: https://getstream.io/
description: The official Dart client for Stream Chat, a service for building chat applications. description: The official Dart client for Stream Chat, a service for building chat applications.
version: 6.4.0 version: 6.5.0
repository: 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 issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: '>=2.19.0 <4.0.0'
dependencies: dependencies:
async: ^2.10.0 async: ^2.10.0
collection: ^1.17.0 collection: ^1.17.0
dio: ^5.2.0 dio: ^5.2.1+1
equatable: ^2.0.5 equatable: ^2.0.5
freezed_annotation: ^2.2.0 freezed_annotation: ^2.2.0
http_parser: ^4.0.2 http_parser: ^4.0.2
jose: ^0.3.3 jose: ^0.3.3
json_annotation: ^4.8.0 json_annotation: ^4.8.1
logging: ^1.1.1 logging: ^1.2.0
meta: ^1.8.0 meta: ^1.8.0
mime: ^1.0.4 mime: ^1.0.4
rate_limiter: ^1.0.0 rate_limiter: ^1.0.0
rxdart: ^0.27.7 rxdart: ^0.27.7
synchronized: ^3.0.0 synchronized: ^3.1.0
uuid: ^3.0.7 uuid: ^3.0.7
web_socket_channel: ^2.3.0 web_socket_channel: ^2.4.0
dev_dependencies: dev_dependencies:
build_runner: ^2.3.3 build_runner: ^2.3.3
freezed: ^2.3.2 freezed: ^2.4.0
json_serializable: ^6.6.1 json_serializable: ^6.6.2
mocktail: ^0.3.0 mocktail: ^0.3.0
test: ^1.24.1 test: ^1.24.3
+6 -1
View File
@@ -1,3 +1,9 @@
## 6.6.0
🔄 Changed
- Updated minimum supported `SDK` version to Flutter 3.7/Dart 2.19
## 6.5.0 ## 6.5.0
🐞 Fixed 🐞 Fixed
@@ -98,7 +104,6 @@
- Updated `chewie` dependency to `^1.6.0`. - Updated `chewie` dependency to `^1.6.0`.
- Updated `share_plus` dependency to `^7.0.2`. - Updated `share_plus` dependency to `^7.0.2`.
- Deprecated `StreamUserItem` in favor of `StreamUserListTile`. - Deprecated `StreamUserItem` in favor of `StreamUserListTile`.
- Updated `jiffy` dependency to `^6.2.1`.
## 6.4.0 ## 6.4.0
@@ -1,29 +1,13 @@
name: stream_chat_flutter_example name: stream_chat_flutter_example
description: A new Flutter project. description: A new Flutter project.
publish_to: 'none'
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: '>=2.19.0 <4.0.0'
flutter: ">=1.17.0" flutter: ">=3.7.0"
dependencies: dependencies:
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
collection: ^1.15.0 collection: ^1.15.0
cupertino_icons: ^1.0.4 cupertino_icons: ^1.0.4
flutter: flutter:
@@ -33,48 +17,7 @@ dependencies:
stream_chat_localizations: ^5.4.0 stream_chat_localizations: ^5.4.0
stream_chat_persistence: ^6.4.0 stream_chat_persistence: ^6.4.0
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter: flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true uses-material-design: true
# To add assets to your application, add an assets section, like this:
assets: assets:
- assets/background_doodle.png - assets/background_doodle.png
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
@@ -106,10 +106,9 @@ class _ConnectedTitleState extends StatelessWidget {
style: textStyle, style: textStyle,
); );
} else { } else {
final lastActive = otherMember.user?.lastActive ?? DateTime.now();
alternativeWidget = Text( alternativeWidget = Text(
'${context.translations.userLastOnlineText} ' '${context.translations.userLastOnlineText} '
'${Jiffy.parseFromDateTime(lastActive).fromNow()}', '${Jiffy(otherMember.user?.lastActive).fromNow()}',
style: textStyle, style: textStyle,
); );
} }
@@ -349,16 +349,16 @@ class _Date extends StatelessWidget {
if (lastMessageAt.millisecondsSinceEpoch >= if (lastMessageAt.millisecondsSinceEpoch >=
startOfDay.millisecondsSinceEpoch) { startOfDay.millisecondsSinceEpoch) {
stringDate = Jiffy.parseFromDateTime(lastMessageAt.toLocal()).jm; stringDate = Jiffy(lastMessageAt.toLocal()).jm;
} else if (lastMessageAt.millisecondsSinceEpoch >= } else if (lastMessageAt.millisecondsSinceEpoch >=
startOfDay startOfDay
.subtract(const Duration(days: 1)) .subtract(const Duration(days: 1))
.millisecondsSinceEpoch) { .millisecondsSinceEpoch) {
stringDate = context.translations.yesterdayLabel; stringDate = context.translations.yesterdayLabel;
} else if (startOfDay.difference(lastMessageAt).inDays < 7) { } else if (startOfDay.difference(lastMessageAt).inDays < 7) {
stringDate = Jiffy.parseFromDateTime(lastMessageAt.toLocal()).EEEE; stringDate = Jiffy(lastMessageAt.toLocal()).EEEE;
} else { } else {
stringDate = Jiffy.parseFromDateTime(lastMessageAt.toLocal()).yMd; stringDate = Jiffy(lastMessageAt.toLocal()).yMd;
} }
return Text( return Text(
@@ -611,15 +611,13 @@ class DefaultTranslations implements Translations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'yesterday'; return 'yesterday';
} else { } else {
return 'on ${Jiffy.parseFromDateTime(date).MMMd}'; return 'on ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); 'Sent ${_getDay(date)} at ${Jiffy(time.toLocal()).format('HH:mm')}';
return 'Sent ${_getDay(date)} at ${atTime.jm}';
}
@override @override
String get todayLabel => 'Today'; String get todayLabel => 'Today';
@@ -208,7 +208,7 @@ class MessageInputFileAttachments extends StatelessWidget {
message: Message(), // dummy message message: Message(), // dummy message
attachment: attachment, attachment: attachment,
constraints: BoxConstraints.loose(Size( constraints: BoxConstraints.loose(Size(
MediaQuery.sizeOf(context).width * 0.65, MediaQuery.of(context).size.width * 0.65,
56, 56,
)), )),
trailing: Padding( trailing: Padding(
@@ -669,20 +669,14 @@ class _StreamMessageListViewState extends State<StreamMessageListView> {
final isPartOfThread = message.replyCount! > 0 || final isPartOfThread = message.replyCount! > 0 ||
message.showInChannel == true; message.showInChannel == true;
final createdAt = Jiffy.parseFromDateTime( final createdAt = message.createdAt.toLocal();
message.createdAt.toLocal(), final nextCreatedAt = nextMessage.createdAt.toLocal();
); if (!Jiffy(createdAt).isSame(nextCreatedAt, Units.DAY)) {
final nextCreatedAt = Jiffy.parseFromDateTime(
nextMessage.createdAt.toLocal(),
);
if (!createdAt.isSame(nextCreatedAt, unit: Unit.day)) {
separator = _buildDateDivider(nextMessage); separator = _buildDateDivider(nextMessage);
} else { } else {
final hasTimeDiff = !createdAt.isSame( final hasTimeDiff = !Jiffy(createdAt).isSame(
nextCreatedAt, nextCreatedAt,
unit: Unit.minute, Units.MINUTE,
); );
final isNextUserSame = final isNextUserSame =
@@ -1077,12 +1071,10 @@ class _StreamMessageListViewState extends State<StreamMessageListView> {
var hasTimeDiff = false; var hasTimeDiff = false;
if (nextMessage != null) { if (nextMessage != null) {
final createdAt = Jiffy.parseFromDateTime(message.createdAt.toLocal()); hasTimeDiff = !Jiffy(message.createdAt.toLocal()).isSame(
final nextCreatedAt = Jiffy.parseFromDateTime(
nextMessage.createdAt.toLocal(), nextMessage.createdAt.toLocal(),
Units.MINUTE,
); );
hasTimeDiff = !createdAt.isSame(nextCreatedAt, unit: Unit.minute);
} }
final hasFileAttachment = final hasFileAttachment =
@@ -191,7 +191,7 @@ class BottomRow extends StatelessWidget {
), ),
if (showTimeStamp) if (showTimeStamp)
Text( Text(
Jiffy.parseFromDateTime(message.createdAt.toLocal()).jm, Jiffy(message.createdAt.toLocal()).jm,
style: messageTheme.createdAtStyle, style: messageTheme.createdAtStyle,
), ),
if (showSendingIndicator) if (showSendingIndicator)
@@ -20,17 +20,17 @@ class StreamDateDivider extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final createdAt = Jiffy.parseFromDateTime(dateTime); final createdAt = Jiffy(dateTime);
final now = Jiffy.parseFromDateTime(DateTime.now()); final now = Jiffy(DateTime.now());
var dayInfo = createdAt.MMMd; var dayInfo = createdAt.MMMd;
if (createdAt.isSame(now, unit: Unit.day)) { if (createdAt.isSame(now, Units.DAY)) {
dayInfo = context.translations.todayLabel; dayInfo = context.translations.todayLabel;
} else if (createdAt.isSame(now.subtract(days: 1), unit: Unit.day)) { } else if (createdAt.isSame(now.subtract(days: 1), Units.DAY)) {
dayInfo = context.translations.yesterdayLabel; dayInfo = context.translations.yesterdayLabel;
} else if (createdAt.isAfter(now.subtract(days: 7), unit: Unit.day)) { } else if (createdAt.isAfter(now.subtract(days: 7), Units.DAY)) {
dayInfo = createdAt.EEEE; dayInfo = createdAt.EEEE;
} else if (createdAt.isAfter(now.subtract(years: 1), unit: Unit.day)) { } else if (createdAt.isAfter(now.subtract(years: 1), Units.DAY)) {
dayInfo = createdAt.MMMd; dayInfo = createdAt.MMMd;
} }
@@ -287,16 +287,16 @@ class ChannelLastMessageDate extends StatelessWidget {
if (lastMessageAt.millisecondsSinceEpoch >= if (lastMessageAt.millisecondsSinceEpoch >=
startOfDay.millisecondsSinceEpoch) { startOfDay.millisecondsSinceEpoch) {
stringDate = Jiffy.parseFromDateTime(lastMessageAt.toLocal()).jm; stringDate = Jiffy(lastMessageAt.toLocal()).jm;
} else if (lastMessageAt.millisecondsSinceEpoch >= } else if (lastMessageAt.millisecondsSinceEpoch >=
startOfDay startOfDay
.subtract(const Duration(days: 1)) .subtract(const Duration(days: 1))
.millisecondsSinceEpoch) { .millisecondsSinceEpoch) {
stringDate = context.translations.yesterdayLabel; stringDate = context.translations.yesterdayLabel;
} else if (startOfDay.difference(lastMessageAt).inDays < 7) { } else if (startOfDay.difference(lastMessageAt).inDays < 7) {
stringDate = Jiffy.parseFromDateTime(lastMessageAt.toLocal()).EEEE; stringDate = Jiffy(lastMessageAt.toLocal()).EEEE;
} else { } else {
stringDate = Jiffy.parseFromDateTime(lastMessageAt.toLocal()).yMd; stringDate = Jiffy(lastMessageAt.toLocal()).yMd;
} }
return Text( return Text(
@@ -227,9 +227,9 @@ class MessageSearchTileMessageDate extends StatelessWidget {
if (now.year != createdAt.year || if (now.year != createdAt.year ||
now.month != createdAt.month || now.month != createdAt.month ||
now.day != createdAt.day) { now.day != createdAt.day) {
stringDate = Jiffy.parseFromDateTime(createdAt.toLocal()).yMd; stringDate = Jiffy(createdAt.toLocal()).yMd;
} else { } else {
stringDate = Jiffy.parseFromDateTime(createdAt.toLocal()).jm; stringDate = Jiffy(createdAt.toLocal()).jm;
} }
return Text( return Text(
@@ -176,12 +176,11 @@ class UserLastActive extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
final chatTheme = StreamChatTheme.of(context); final chatTheme = StreamChatTheme.of(context);
final lastActive = user.lastActive ?? DateTime.now();
return Text( return Text(
user.online user.online
? context.translations.userOnlineText ? context.translations.userOnlineText
: '${context.translations.userLastOnlineText} ' : '${context.translations.userLastOnlineText} '
'${Jiffy.parseFromDateTime(lastActive).fromNow()}', '${Jiffy(user.lastActive).fromNow()}',
style: chatTheme.textTheme.footnote.copyWith( style: chatTheme.textTheme.footnote.copyWith(
color: chatTheme.colorTheme.textHighEmphasis.withOpacity(0.5), color: chatTheme.colorTheme.textHighEmphasis.withOpacity(0.5),
), ),
@@ -165,9 +165,9 @@ class StreamChatState extends State<StreamChat> {
@override @override
void didChangeDependencies() { void didChangeDependencies() {
final currentLocale = Localizations.localeOf(context).toString(); final currentLocale = Localizations.localeOf(context).toString();
final availableLocales = Jiffy.getSupportedLocales(); final availableLocales = Jiffy.getAllAvailableLocales();
if (availableLocales.contains(currentLocale)) { if (availableLocales.contains(currentLocale)) {
Jiffy.setLocale(currentLocale); Jiffy.locale(currentLocale);
} }
super.didChangeDependencies(); super.didChangeDependencies();
} }
@@ -74,12 +74,11 @@ class StreamUserItem extends StatelessWidget {
Widget _buildLastActive(BuildContext context) { Widget _buildLastActive(BuildContext context) {
final chatTheme = StreamChatTheme.of(context); final chatTheme = StreamChatTheme.of(context);
final lastActive = user.lastActive ?? DateTime.now();
return Text( return Text(
user.online user.online
? context.translations.userOnlineText ? context.translations.userOnlineText
: '${context.translations.userLastOnlineText} ' : '${context.translations.userLastOnlineText} '
'${Jiffy.parseFromDateTime(lastActive).fromNow()}', '${Jiffy(user.lastActive).fromNow()}',
style: chatTheme.textTheme.footnote.copyWith( style: chatTheme.textTheme.footnote.copyWith(
color: chatTheme.colorTheme.textHighEmphasis.withOpacity(0.5), color: chatTheme.colorTheme.textHighEmphasis.withOpacity(0.5),
), ),
@@ -88,7 +88,7 @@ typedef ChannelTapCallback = void Function(Channel, Widget?);
typedef ChannelInfoCallback = void Function(Channel); typedef ChannelInfoCallback = void Function(Channel);
/// {@template channelPreviewBuilder} /// {@template channelPreviewBuilder}
/// Builder used to create a custom [ChannelPreview] for a [Channel] /// Builder used to create a custom ChannelPreview for a [Channel]
/// {@endtemplate} /// {@endtemplate}
@Deprecated('Use StreamChannelListViewIndexedWidgetBuilder instead') @Deprecated('Use StreamChannelListViewIndexedWidgetBuilder instead')
typedef ChannelPreviewBuilder = Widget Function(BuildContext, Channel); typedef ChannelPreviewBuilder = Widget Function(BuildContext, Channel);
+26 -26
View File
@@ -1,50 +1,50 @@
name: stream_chat_flutter name: stream_chat_flutter
homepage: https://github.com/GetStream/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. description: Stream Chat official Flutter SDK. Build your own chat experience using Dart and Flutter.
version: 6.5.0 version: 6.6.0
repository: 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 issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
environment: environment:
sdk: ">=2.17.0 <4.0.0" sdk: ">=2.19.0 <4.0.0"
flutter: ">=1.20.0" flutter: ">=3.7.0"
dependencies: dependencies:
cached_network_image: ^3.0.0 cached_network_image: ^3.2.3
chewie: ^1.6.0 chewie: ^1.7.0
collection: ^1.17.0 collection: ^1.17.0
contextmenu: ^3.0.0 contextmenu: ^3.0.0
dart_vlc: ^0.4.0 dart_vlc: ^0.4.0
desktop_drop: ^0.4.0 desktop_drop: ^0.4.1
diacritic: ^0.1.3 diacritic: ^0.1.4
dio: ^5.2.0 dio: ^5.2.1+1
ezanimation: ^0.6.0 ezanimation: ^0.6.0
file_picker: ^5.2.4 file_picker: ^5.3.1
file_selector: ^0.9.0 file_selector: ^1.0.0
flutter: flutter:
sdk: flutter sdk: flutter
flutter_markdown: ^0.6.1 flutter_markdown: ^0.6.15
flutter_portal: ^1.0.0 flutter_portal: ^1.1.4
flutter_svg: ^2.0.4 flutter_svg: ^2.0.5
http_parser: ^4.0.0 http_parser: ^4.0.2
image_gallery_saver: ^2.0.1 image_gallery_saver: ^2.0.3
image_picker: ">=0.8.2 <2.0.0" image_picker: ^1.0.0
jiffy: ^6.2.1 jiffy: ^5.0.0
lottie: ^2.0.0 lottie: ^2.3.2
meta: ^1.8.0 meta: ^1.8.0
path_provider: ^2.0.9 path_provider: ^2.0.15
photo_manager: ^2.5.2 photo_manager: ^2.6.0
photo_view: ^0.14.0 photo_view: ^0.14.0
rxdart: ^0.27.0 rxdart: ^0.27.7
share_plus: ^7.0.2 share_plus: ^7.0.2
shimmer: ^3.0.0 shimmer: ^3.0.0
stream_chat_flutter_core: ^6.4.0 stream_chat_flutter_core: ^6.5.0
synchronized: ^3.0.0 synchronized: ^3.1.0
thumblr: ^0.0.4 thumblr: ^0.0.4
url_launcher: ^6.1.0 url_launcher: ^6.1.11
video_player: ^2.7.0 video_player: ^2.7.0
video_player_macos: ^2.0.1 video_player_macos: ^2.0.1
video_thumbnail: ^0.5.0 video_thumbnail: ^0.5.3
flutter: flutter:
plugin: plugin:
@@ -74,4 +74,4 @@ dev_dependencies:
sdk: flutter sdk: flutter
golden_toolkit: ^0.15.0 golden_toolkit: ^0.15.0
mocktail: ^0.3.0 mocktail: ^0.3.0
path: ^1.8.2 path: ^1.8.2
@@ -1,3 +1,7 @@
## 6.5.0
- Updated minimum supported `SDK` version to Flutter 3.7/Dart 2.19
## 6.4.0 ## 6.4.0
- Updated `stream_chat` dependency to [`6.4.0`](https://pub.dev/packages/stream_chat/changelog). - Updated `stream_chat` dependency to [`6.4.0`](https://pub.dev/packages/stream_chat/changelog).
@@ -1,76 +1,17 @@
name: stream_chat_flutter_core_example name: stream_chat_flutter_core_example
description: Example app for testing stream_chat_flutter_core description: Example app for testing stream_chat_flutter_core
publish_to: 'none'
# The following line prevents the package from being accidentally published to
# pub.dev using `pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# The following defines the version and build number for your application.
# A version number is three numbers separated by dots, like 1.2.43
# followed by an optional build number separated by a +.
# Both the version and the builder number may be overridden in flutter
# build by specifying --build-name and --build-number, respectively.
# In Android, build-name is used as versionName while build-number used as versionCode.
# Read more about Android versioning at https://developer.android.com/studio/publish/versioning
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: '>=2.19.0 <4.0.0'
flutter: ">=1.17.0" flutter: ">=3.7.0"
dependencies: dependencies:
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^1.0.3 cupertino_icons: ^1.0.3
flutter: flutter:
sdk: flutter sdk: flutter
stream_chat_flutter_core: ^6.4.0 stream_chat_flutter_core: ^6.4.0
dev_dependencies:
flutter_test:
sdk: flutter
# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
# The following section is specific to Flutter.
flutter: flutter:
# The following line ensures that the Material Icons font is
# included with your application, so that you can use the icons in
# the material Icons class.
uses-material-design: true uses-material-design: true
# To add assets to your application, add an assets section, like this:
# assets:
# - images/a_dot_burr.jpeg
# - images/a_dot_ham.jpeg
# An image asset can refer to one or more resolution-specific "variants", see
# https://flutter.dev/assets-and-images/#resolution-aware.
# For details regarding adding assets from package dependencies, see
# https://flutter.dev/assets-and-images/#from-packages
# To add custom fonts to your application, add a fonts section here,
# in this "flutter" section. Each entry in this list should have a
# "family" key with the font family name, and a "fonts" key with a
# list giving the asset and other descriptors for the font. For
# example:
# fonts:
# - family: Schyler
# fonts:
# - asset: fonts/Schyler-Regular.ttf
# - asset: fonts/Schyler-Italic.ttf
# style: italic
# - family: Trajan Pro
# fonts:
# - asset: fonts/TrajanPro.ttf
# - asset: fonts/TrajanPro_Bold.ttf
# weight: 700
#
# For details regarding fonts from package dependencies,
# see https://flutter.dev/custom-fonts/#from-packages
@@ -1,29 +1,29 @@
name: stream_chat_flutter_core name: stream_chat_flutter_core
homepage: https://github.com/GetStream/stream-chat-flutter homepage: https://github.com/GetStream/stream-chat-flutter
description: Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter. description: Stream Chat official Flutter SDK Core. Build your own chat experience using Dart and Flutter.
version: 6.4.0 version: 6.5.0
repository: 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 issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: ">=2.19.0 <4.0.0"
flutter: ">=1.17.0" flutter: ">=3.7.0"
dependencies: dependencies:
collection: ^1.17.0 collection: ^1.17.0
connectivity_plus: ^4.0.0 connectivity_plus: ^4.0.1
flutter: flutter:
sdk: flutter sdk: flutter
freezed_annotation: ^2.0.3 freezed_annotation: ^2.2.0
meta: ^1.8.0 meta: ^1.8.0
rxdart: ^0.27.0 rxdart: ^0.27.7
stream_chat: ^6.4.0 stream_chat: ^6.5.0
dev_dependencies: dev_dependencies:
build_runner: ^2.3.3 build_runner: ^2.3.3
fake_async: ^1.2.0 fake_async: ^1.3.1
flutter_test: flutter_test:
sdk: flutter sdk: flutter
freezed: ^2.3.2 freezed: ^2.4.0
mocktail: ^0.3.0 mocktail: ^0.3.0
@@ -1,3 +1,7 @@
## 5.6.0
- Updated minimum supported `SDK` version to Flutter 3.7/Dart 2.19
## 5.5.0 ## 5.5.0
* Updated `stream_chat_flutter` dependency to [`6.5.0`](https://pub.dev/packages/stream_chat_flutter/changelog). * Updated `stream_chat_flutter` dependency to [`6.5.0`](https://pub.dev/packages/stream_chat_flutter/changelog).
@@ -270,15 +270,13 @@ class NnStreamChatLocalizations extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'yesterday'; return 'yesterday';
} else { } else {
return 'on ${Jiffy.parseFromDateTime(date).MMMd}'; return 'on ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); 'Sent ${_getDay(date)} at ${Jiffy(time.toLocal()).format('HH:mm')}';
return 'Sent ${_getDay(date)} at ${atTime.jm}';
}
@override @override
String get todayLabel => 'Today'; String get todayLabel => 'Today';
@@ -5,7 +5,8 @@ publish_to: 'none'
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: '>=2.19.0 <4.0.0'
flutter: ">=3.7.0"
dependencies: dependencies:
cupertino_icons: ^1.0.3 cupertino_icons: ^1.0.3
@@ -14,9 +15,5 @@ dependencies:
stream_chat_flutter: ^6.4.0 stream_chat_flutter: ^6.4.0
stream_chat_localizations: ^5.4.0 stream_chat_localizations: ^5.4.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter: flutter:
uses-material-design: true uses-material-design: true
@@ -249,15 +249,13 @@ class StreamChatLocalizationsCa extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'ahir'; return 'ahir';
} else { } else {
return 'el ${Jiffy.parseFromDateTime(date).MMMd}'; return 'el ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); '''Enviat el ${_getDay(date)} a les ${Jiffy(time.toLocal()).format('HH:mm')}''';
return 'Enviat el ${_getDay(date)} a les ${atTime.jm}';
}
@override @override
String get todayLabel => 'Avui'; String get todayLabel => 'Avui';
@@ -239,15 +239,13 @@ class StreamChatLocalizationsDe extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'Gestern'; return 'Gestern';
} else { } else {
return 'am ${Jiffy.parseFromDateTime(date).MMMd}'; return 'am ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); 'Gesendet ${_getDay(date)} am ${Jiffy(time.toLocal()).format('HH:mm')}';
return 'Gesendet ${_getDay(date)} am ${atTime.jm}';
}
@override @override
String get todayLabel => 'Heute'; String get todayLabel => 'Heute';
@@ -246,15 +246,13 @@ class StreamChatLocalizationsEn extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'yesterday'; return 'yesterday';
} else { } else {
return 'on ${Jiffy.parseFromDateTime(date).MMMd}'; return 'on ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); 'Sent ${_getDay(date)} at ${Jiffy(time.toLocal()).format('HH:mm')}';
return 'Sent ${_getDay(date)} at ${atTime.jm}';
}
@override @override
String get todayLabel => 'Today'; String get todayLabel => 'Today';
@@ -250,15 +250,13 @@ class StreamChatLocalizationsEs extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'ayer'; return 'ayer';
} else { } else {
return 'el ${Jiffy.parseFromDateTime(date).MMMd}'; return 'el ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); '''Enviado el ${_getDay(date)} a las ${Jiffy(time.toLocal()).format('HH:mm')}''';
return 'Enviado el ${_getDay(date)} a las ${atTime.jm}';
}
@override @override
String get todayLabel => 'Hoy'; String get todayLabel => 'Hoy';
@@ -249,15 +249,13 @@ class StreamChatLocalizationsFr extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'hier'; return 'hier';
} else { } else {
return 'le ${Jiffy.parseFromDateTime(date).MMMd}'; return 'le ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); 'Envoyé ${_getDay(date)} à ${Jiffy(time.toLocal()).format('HH:mm')}';
return 'Envoyé ${_getDay(date)} à ${atTime.jm}';
}
@override @override
String get todayLabel => "Aujourd'hui"; String get todayLabel => "Aujourd'hui";
@@ -243,15 +243,13 @@ class StreamChatLocalizationsHi extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'कल'; return 'कल';
} else { } else {
return '${Jiffy.parseFromDateTime(date).MMMd} को'; return '${Jiffy(date).MMMd} को';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); '${_getDay(date)} ${Jiffy(time.toLocal()).format('HH:mm')} बजे भेजा गया';
return '${_getDay(date)} ${atTime.jm} बजे भेजा गया';
}
@override @override
String get todayLabel => 'आज'; String get todayLabel => 'आज';
@@ -252,15 +252,13 @@ Il file è troppo grande per essere caricato. Il limite è di $limitInMB MB.''';
} else if (date == yesterday) { } else if (date == yesterday) {
return 'ieri'; return 'ieri';
} else { } else {
return 'il ${Jiffy.parseFromDateTime(date).MMMd}'; return 'il ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); "Inviato ${_getDay(date)} alle ${Jiffy(time.toLocal()).format('HH:mm')}";
return 'Inviato ${_getDay(date)} alle ${atTime.jm}';
}
@override @override
String get todayLabel => 'Oggi'; String get todayLabel => 'Oggi';
@@ -236,15 +236,13 @@ class StreamChatLocalizationsJa extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return '昨日'; return '昨日';
} else { } else {
return '${Jiffy.parseFromDateTime(date).MMMd}'; return '${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); '${_getDay(date)}${Jiffy(time.toLocal()).format('HH:mm')}に送信しました ';
return '${_getDay(date)}${atTime.jm}に送信しました ';
}
@override @override
String get todayLabel => '今日'; String get todayLabel => '今日';
@@ -235,15 +235,13 @@ class StreamChatLocalizationsKo extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return '어제'; return '어제';
} else { } else {
return '${Jiffy.parseFromDateTime(date).MMMd}'; return '${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); '${_getDay(date)} ${Jiffy(time.toLocal()).format('HH:mm')}에 보냈습니다';
return '${_getDay(date)} ${atTime.jm}에 보냈습니다';
}
@override @override
String get todayLabel => '오늘'; String get todayLabel => '오늘';
@@ -242,15 +242,13 @@ class StreamChatLocalizationsNo extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'i går'; return 'i går';
} else { } else {
return '${Jiffy.parseFromDateTime(date).MMMd}'; return '${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); 'Sent ${_getDay(date)} kl. ${Jiffy(time.toLocal()).format('HH:mm')}';
return 'Sent ${_getDay(date)} kl. ${atTime.jm}';
}
@override @override
String get todayLabel => 'I dag'; String get todayLabel => 'I dag';
@@ -244,15 +244,13 @@ class StreamChatLocalizationsPt extends GlobalStreamChatLocalizations {
} else if (date == yesterday) { } else if (date == yesterday) {
return 'Ontem'; return 'Ontem';
} else { } else {
return 'o ${Jiffy.parseFromDateTime(date).MMMd}'; return 'o ${Jiffy(date).MMMd}';
} }
} }
@override @override
String sentAtText({required DateTime date, required DateTime time}) { String sentAtText({required DateTime date, required DateTime time}) =>
final atTime = Jiffy.parseFromDateTime(time.toLocal()); '''Enviado ${_getDay(date)} às ${Jiffy(time.toLocal()).format('HH:mm')}''';
return 'Enviado ${_getDay(date)} às ${atTime.jm}';
}
@override @override
String get todayLabel => 'Hoje'; String get todayLabel => 'Hoje';
@@ -1,20 +1,20 @@
name: stream_chat_localizations name: stream_chat_localizations
description: The Official localizations for Stream Chat Flutter, a service for building chat applications description: The Official localizations for Stream Chat Flutter, a service for building chat applications
version: 5.5.0 version: 5.6.0
homepage: https://github.com/GetStream/stream-chat-flutter homepage: https://github.com/GetStream/stream-chat-flutter
repository: 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 issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: ">=2.19.0 <4.0.0"
flutter: ">=1.20.0" flutter: ">=3.7.0"
dependencies: dependencies:
flutter: flutter:
sdk: flutter sdk: flutter
flutter_localizations: flutter_localizations:
sdk: flutter sdk: flutter
stream_chat_flutter: ^6.5.0 stream_chat_flutter: ^6.6.0
dev_dependencies: dev_dependencies:
flutter_test: flutter_test:
@@ -1,3 +1,7 @@
## 6.5.0
- Updated minimum supported `SDK` version to Flutter 3.7/Dart 2.19
## 6.4.0 ## 6.4.0
- Updated `stream_chat` dependency to [`6.4.0`](https://pub.dev/packages/stream_chat/changelog). - Updated `stream_chat` dependency to [`6.4.0`](https://pub.dev/packages/stream_chat/changelog).
@@ -1,12 +1,11 @@
name: stream_chat_persistence_example name: stream_chat_persistence_example
description: A new Flutter project. description: A new Flutter project.
publish_to: 'none' publish_to: 'none'
version: 1.0.0+1 version: 1.0.0+1
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: '>=2.19.0 <4.0.0'
flutter: ">=1.17.0" flutter: ">=3.7.0"
dependencies: dependencies:
cupertino_icons: ^1.0.3 cupertino_icons: ^1.0.3
@@ -15,9 +14,5 @@ dependencies:
stream_chat: ^6.4.0 stream_chat: ^6.4.0
stream_chat_persistence: ^6.4.0 stream_chat_persistence: ^6.4.0
dev_dependencies:
flutter_test:
sdk: flutter
flutter: flutter:
uses-material-design: true uses-material-design: true
@@ -1,28 +1,28 @@
name: stream_chat_persistence name: stream_chat_persistence
homepage: https://github.com/GetStream/stream-chat-flutter homepage: https://github.com/GetStream/stream-chat-flutter
description: Official Stream Chat Persistence library. Build your own chat experience using Dart and Flutter. description: Official Stream Chat Persistence library. Build your own chat experience using Dart and Flutter.
version: 6.4.0 version: 6.5.0
repository: 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 issue_tracker: https://github.com/GetStream/stream-chat-flutter/issues
environment: environment:
sdk: '>=2.17.0 <4.0.0' sdk: ">=2.19.0 <4.0.0"
flutter: ">=1.17.0" flutter: ">=3.7.0"
dependencies: dependencies:
drift: ^2.7.0 drift: ^2.8.0
flutter: flutter:
sdk: flutter sdk: flutter
logging: ^1.0.1 logging: ^1.2.0
meta: ^1.8.0 meta: ^1.8.0
path: ^1.8.2 path: ^1.8.2
path_provider: ^2.0.1 path_provider: ^2.0.15
sqlite3_flutter_libs: ^0.5.0 sqlite3_flutter_libs: ^0.5.15
stream_chat: ^6.4.0 stream_chat: ^6.5.0
dev_dependencies: dev_dependencies:
build_runner: ^2.3.3 build_runner: ^2.3.3
drift_dev: ^2.7.0 drift_dev: ^2.8.3
flutter_test: flutter_test:
sdk: flutter sdk: flutter
mocktail: ^0.3.0 mocktail: ^0.3.0
+2 -2
View File
@@ -1,7 +1,7 @@
name: stream_chat_flutter_workspace name: stream_chat_flutter_workspace
environment: environment:
sdk: '>=2.18.0 <3.0.0' sdk: '>=2.19.0 <4.0.0'
dev_dependencies: dev_dependencies:
melos: ^3.0.0 melos: ^3.1.0