Merge pull request #1144 from GetStream/hotfix/messagePagination
fix(llc, core): fix message pagination parameters
This commit is contained in:
@@ -1,3 +1,17 @@
|
|||||||
|
## Upcoming
|
||||||
|
|
||||||
|
✅ Added
|
||||||
|
|
||||||
|
- Added `PaginationParams.createdAtAfterOrEqual` for message pagination.
|
||||||
|
- Added `PaginationParams.createdAtAfter` for message pagination.
|
||||||
|
- Added `PaginationParams.createdAtBeforeOrEqual` for message pagination.
|
||||||
|
- Added `PaginationParams.createdAtBefore` for message pagination.
|
||||||
|
- Added `PaginationParams.createdAtAround` for message pagination.
|
||||||
|
|
||||||
|
🔄 Changed
|
||||||
|
|
||||||
|
- Deprecated `PaginationParams.before` and `PaginationParams.after`. Use `PaginationParams.limit` instead.
|
||||||
|
|
||||||
## 4.1.0
|
## 4.1.0
|
||||||
|
|
||||||
✅ Added
|
✅ Added
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
// ignore_for_file: deprecated_member_use_from_same_package
|
||||||
|
|
||||||
import 'package:equatable/equatable.dart';
|
import 'package:equatable/equatable.dart';
|
||||||
import 'package:json_annotation/json_annotation.dart';
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
|
||||||
@@ -69,6 +71,11 @@ class PaginationParams extends Equatable {
|
|||||||
this.greaterThanOrEqual,
|
this.greaterThanOrEqual,
|
||||||
this.lessThan,
|
this.lessThan,
|
||||||
this.lessThanOrEqual,
|
this.lessThanOrEqual,
|
||||||
|
this.createdAtAfterOrEqual,
|
||||||
|
this.createdAtAfter,
|
||||||
|
this.createdAtBeforeOrEqual,
|
||||||
|
this.createdAtBefore,
|
||||||
|
this.createdAtAround,
|
||||||
}) : assert(
|
}) : assert(
|
||||||
offset == null || offset == 0 || next == null,
|
offset == null || offset == 0 || next == null,
|
||||||
'Cannot specify non-zero `offset` with `next` parameter',
|
'Cannot specify non-zero `offset` with `next` parameter',
|
||||||
@@ -82,9 +89,11 @@ class PaginationParams extends Equatable {
|
|||||||
final int limit;
|
final int limit;
|
||||||
|
|
||||||
/// The amount of items requested before message ID from the APIs.
|
/// The amount of items requested before message ID from the APIs.
|
||||||
|
@Deprecated('before is deprecated, use limit instead')
|
||||||
final int before;
|
final int before;
|
||||||
|
|
||||||
/// The amount of items requested after message ID from the APIs.
|
/// The amount of items requested after message ID from the APIs.
|
||||||
|
@Deprecated('after is deprecated, use limit instead')
|
||||||
final int after;
|
final int after;
|
||||||
|
|
||||||
/// The offset of requesting items.
|
/// The offset of requesting items.
|
||||||
@@ -113,6 +122,26 @@ class PaginationParams extends Equatable {
|
|||||||
@JsonKey(name: 'id_lte')
|
@JsonKey(name: 'id_lte')
|
||||||
final String? lessThanOrEqual;
|
final String? lessThanOrEqual;
|
||||||
|
|
||||||
|
/// Filter on createdAt greater than or equal the given value.
|
||||||
|
@JsonKey(name: 'created_at_after_or_equal')
|
||||||
|
final DateTime? createdAtAfterOrEqual;
|
||||||
|
|
||||||
|
/// Filter on createdAt greater than the given value.
|
||||||
|
@JsonKey(name: 'created_at_after')
|
||||||
|
final DateTime? createdAtAfter;
|
||||||
|
|
||||||
|
/// Filter on createdAt smaller than or equal the given value.
|
||||||
|
@JsonKey(name: 'created_at_before_or_equal')
|
||||||
|
final DateTime? createdAtBeforeOrEqual;
|
||||||
|
|
||||||
|
/// Filter on createdAt smaller than the given value.
|
||||||
|
@JsonKey(name: 'created_at_before')
|
||||||
|
final DateTime? createdAtBefore;
|
||||||
|
|
||||||
|
/// Filter on createdAt around the given value.
|
||||||
|
@JsonKey(name: 'created_at_around')
|
||||||
|
final DateTime? createdAtAround;
|
||||||
|
|
||||||
/// Serialize model to json
|
/// Serialize model to json
|
||||||
Map<String, dynamic> toJson() => _$PaginationParamsToJson(this);
|
Map<String, dynamic> toJson() => _$PaginationParamsToJson(this);
|
||||||
|
|
||||||
@@ -128,6 +157,11 @@ class PaginationParams extends Equatable {
|
|||||||
String? greaterThanOrEqual,
|
String? greaterThanOrEqual,
|
||||||
String? lessThan,
|
String? lessThan,
|
||||||
String? lessThanOrEqual,
|
String? lessThanOrEqual,
|
||||||
|
DateTime? createdAtAfterOrEqual,
|
||||||
|
DateTime? createdAtAfter,
|
||||||
|
DateTime? createdAtBeforeOrEqual,
|
||||||
|
DateTime? createdAtBefore,
|
||||||
|
DateTime? createdAtAround,
|
||||||
}) =>
|
}) =>
|
||||||
PaginationParams(
|
PaginationParams(
|
||||||
limit: limit ?? this.limit,
|
limit: limit ?? this.limit,
|
||||||
@@ -140,6 +174,13 @@ class PaginationParams extends Equatable {
|
|||||||
greaterThanOrEqual: greaterThanOrEqual ?? this.greaterThanOrEqual,
|
greaterThanOrEqual: greaterThanOrEqual ?? this.greaterThanOrEqual,
|
||||||
lessThan: lessThan ?? this.lessThan,
|
lessThan: lessThan ?? this.lessThan,
|
||||||
lessThanOrEqual: lessThanOrEqual ?? this.lessThanOrEqual,
|
lessThanOrEqual: lessThanOrEqual ?? this.lessThanOrEqual,
|
||||||
|
createdAtAfterOrEqual:
|
||||||
|
createdAtAfterOrEqual ?? this.createdAtAfterOrEqual,
|
||||||
|
createdAtAfter: createdAtAfter ?? this.createdAtAfter,
|
||||||
|
createdAtBeforeOrEqual:
|
||||||
|
createdAtBeforeOrEqual ?? this.createdAtBeforeOrEqual,
|
||||||
|
createdAtBefore: createdAtBefore ?? this.createdAtBefore,
|
||||||
|
createdAtAround: createdAtAround ?? this.createdAtAround,
|
||||||
);
|
);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -30,6 +30,21 @@ PaginationParams _$PaginationParamsFromJson(Map<String, dynamic> json) =>
|
|||||||
greaterThanOrEqual: json['id_gte'] as String?,
|
greaterThanOrEqual: json['id_gte'] as String?,
|
||||||
lessThan: json['id_lt'] as String?,
|
lessThan: json['id_lt'] as String?,
|
||||||
lessThanOrEqual: json['id_lte'] as String?,
|
lessThanOrEqual: json['id_lte'] as String?,
|
||||||
|
createdAtAfterOrEqual: json['created_at_after_or_equal'] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json['created_at_after_or_equal'] as String),
|
||||||
|
createdAtAfter: json['created_at_after'] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json['created_at_after'] as String),
|
||||||
|
createdAtBeforeOrEqual: json['created_at_before_or_equal'] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json['created_at_before_or_equal'] as String),
|
||||||
|
createdAtBefore: json['created_at_before'] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json['created_at_before'] as String),
|
||||||
|
createdAtAround: json['created_at_around'] == null
|
||||||
|
? null
|
||||||
|
: DateTime.parse(json['created_at_around'] as String),
|
||||||
);
|
);
|
||||||
|
|
||||||
Map<String, dynamic> _$PaginationParamsToJson(PaginationParams instance) {
|
Map<String, dynamic> _$PaginationParamsToJson(PaginationParams instance) {
|
||||||
@@ -52,6 +67,15 @@ Map<String, dynamic> _$PaginationParamsToJson(PaginationParams instance) {
|
|||||||
writeNotNull('id_gte', instance.greaterThanOrEqual);
|
writeNotNull('id_gte', instance.greaterThanOrEqual);
|
||||||
writeNotNull('id_lt', instance.lessThan);
|
writeNotNull('id_lt', instance.lessThan);
|
||||||
writeNotNull('id_lte', instance.lessThanOrEqual);
|
writeNotNull('id_lte', instance.lessThanOrEqual);
|
||||||
|
writeNotNull('created_at_after_or_equal',
|
||||||
|
instance.createdAtAfterOrEqual?.toIso8601String());
|
||||||
|
writeNotNull('created_at_after', instance.createdAtAfter?.toIso8601String());
|
||||||
|
writeNotNull('created_at_before_or_equal',
|
||||||
|
instance.createdAtBeforeOrEqual?.toIso8601String());
|
||||||
|
writeNotNull(
|
||||||
|
'created_at_before', instance.createdAtBefore?.toIso8601String());
|
||||||
|
writeNotNull(
|
||||||
|
'created_at_around', instance.createdAtAround?.toIso8601String());
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ part of 'attachment_file.dart';
|
|||||||
T _$identity<T>(T value) => value;
|
T _$identity<T>(T value) => value;
|
||||||
|
|
||||||
final _privateConstructorUsedError = UnsupportedError(
|
final _privateConstructorUsedError = UnsupportedError(
|
||||||
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more informations: https://github.com/rrousselGit/freezed#custom-getters-and-methods');
|
||||||
|
|
||||||
UploadState _$UploadStateFromJson(Map<String, dynamic> json) {
|
UploadState _$UploadStateFromJson(Map<String, dynamic> json) {
|
||||||
switch (json['runtimeType']) {
|
switch (json['runtimeType']) {
|
||||||
@@ -31,6 +31,39 @@ UploadState _$UploadStateFromJson(Map<String, dynamic> json) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
class _$UploadStateTearOff {
|
||||||
|
const _$UploadStateTearOff();
|
||||||
|
|
||||||
|
Preparing preparing() {
|
||||||
|
return const Preparing();
|
||||||
|
}
|
||||||
|
|
||||||
|
InProgress inProgress({required int uploaded, required int total}) {
|
||||||
|
return InProgress(
|
||||||
|
uploaded: uploaded,
|
||||||
|
total: total,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Success success() {
|
||||||
|
return const Success();
|
||||||
|
}
|
||||||
|
|
||||||
|
Failed failed({required String error}) {
|
||||||
|
return Failed(
|
||||||
|
error: error,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
UploadState fromJson(Map<String, Object?> json) {
|
||||||
|
return UploadState.fromJson(json);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// @nodoc
|
||||||
|
const $UploadState = _$UploadStateTearOff();
|
||||||
|
|
||||||
/// @nodoc
|
/// @nodoc
|
||||||
mixin _$UploadState {
|
mixin _$UploadState {
|
||||||
@optionalTypeArgs
|
@optionalTypeArgs
|
||||||
@@ -123,7 +156,7 @@ class __$$PreparingCopyWithImpl<$Res> extends _$UploadStateCopyWithImpl<$Res>
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
@JsonSerializable()
|
@JsonSerializable()
|
||||||
class _$Preparing implements Preparing {
|
class _$Preparing implements Preparing {
|
||||||
const _$Preparing({final String? $type}) : $type = $type ?? 'preparing';
|
const _$Preparing({String? $type}) : $type = $type ?? 'preparing';
|
||||||
|
|
||||||
factory _$Preparing.fromJson(Map<String, dynamic> json) =>
|
factory _$Preparing.fromJson(Map<String, dynamic> json) =>
|
||||||
_$$PreparingFromJson(json);
|
_$$PreparingFromJson(json);
|
||||||
@@ -142,7 +175,6 @@ class _$Preparing implements Preparing {
|
|||||||
(other.runtimeType == runtimeType && other is _$Preparing);
|
(other.runtimeType == runtimeType && other is _$Preparing);
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => runtimeType.hashCode;
|
int get hashCode => runtimeType.hashCode;
|
||||||
|
|
||||||
@@ -272,7 +304,7 @@ class __$$InProgressCopyWithImpl<$Res> extends _$UploadStateCopyWithImpl<$Res>
|
|||||||
@JsonSerializable()
|
@JsonSerializable()
|
||||||
class _$InProgress implements InProgress {
|
class _$InProgress implements InProgress {
|
||||||
const _$InProgress(
|
const _$InProgress(
|
||||||
{required this.uploaded, required this.total, final String? $type})
|
{required this.uploaded, required this.total, String? $type})
|
||||||
: $type = $type ?? 'inProgress';
|
: $type = $type ?? 'inProgress';
|
||||||
|
|
||||||
factory _$InProgress.fromJson(Map<String, dynamic> json) =>
|
factory _$InProgress.fromJson(Map<String, dynamic> json) =>
|
||||||
@@ -300,7 +332,6 @@ class _$InProgress implements InProgress {
|
|||||||
const DeepCollectionEquality().equals(other.total, total));
|
const DeepCollectionEquality().equals(other.total, total));
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => Object.hash(
|
int get hashCode => Object.hash(
|
||||||
runtimeType,
|
runtimeType,
|
||||||
@@ -393,14 +424,14 @@ class _$InProgress implements InProgress {
|
|||||||
}
|
}
|
||||||
|
|
||||||
abstract class InProgress implements UploadState {
|
abstract class InProgress implements UploadState {
|
||||||
const factory InProgress(
|
const factory InProgress({required int uploaded, required int total}) =
|
||||||
{required final int uploaded, required final int total}) = _$InProgress;
|
_$InProgress;
|
||||||
|
|
||||||
factory InProgress.fromJson(Map<String, dynamic> json) =
|
factory InProgress.fromJson(Map<String, dynamic> json) =
|
||||||
_$InProgress.fromJson;
|
_$InProgress.fromJson;
|
||||||
|
|
||||||
int get uploaded => throw _privateConstructorUsedError;
|
int get uploaded;
|
||||||
int get total => throw _privateConstructorUsedError;
|
int get total;
|
||||||
@JsonKey(ignore: true)
|
@JsonKey(ignore: true)
|
||||||
_$$InProgressCopyWith<_$InProgress> get copyWith =>
|
_$$InProgressCopyWith<_$InProgress> get copyWith =>
|
||||||
throw _privateConstructorUsedError;
|
throw _privateConstructorUsedError;
|
||||||
@@ -425,7 +456,7 @@ class __$$SuccessCopyWithImpl<$Res> extends _$UploadStateCopyWithImpl<$Res>
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
@JsonSerializable()
|
@JsonSerializable()
|
||||||
class _$Success implements Success {
|
class _$Success implements Success {
|
||||||
const _$Success({final String? $type}) : $type = $type ?? 'success';
|
const _$Success({String? $type}) : $type = $type ?? 'success';
|
||||||
|
|
||||||
factory _$Success.fromJson(Map<String, dynamic> json) =>
|
factory _$Success.fromJson(Map<String, dynamic> json) =>
|
||||||
_$$SuccessFromJson(json);
|
_$$SuccessFromJson(json);
|
||||||
@@ -444,7 +475,6 @@ class _$Success implements Success {
|
|||||||
(other.runtimeType == runtimeType && other is _$Success);
|
(other.runtimeType == runtimeType && other is _$Success);
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
@override
|
@override
|
||||||
int get hashCode => runtimeType.hashCode;
|
int get hashCode => runtimeType.hashCode;
|
||||||
|
|
||||||
@@ -566,7 +596,7 @@ class __$$FailedCopyWithImpl<$Res> extends _$UploadStateCopyWithImpl<$Res>
|
|||||||
/// @nodoc
|
/// @nodoc
|
||||||
@JsonSerializable()
|
@JsonSerializable()
|
||||||
class _$Failed implements Failed {
|
class _$Failed implements Failed {
|
||||||
const _$Failed({required this.error, final String? $type})
|
const _$Failed({required this.error, String? $type})
|
||||||
: $type = $type ?? 'failed';
|
: $type = $type ?? 'failed';
|
||||||
|
|
||||||
factory _$Failed.fromJson(Map<String, dynamic> json) =>
|
factory _$Failed.fromJson(Map<String, dynamic> json) =>
|
||||||
@@ -591,7 +621,6 @@ class _$Failed implements Failed {
|
|||||||
const DeepCollectionEquality().equals(other.error, error));
|
const DeepCollectionEquality().equals(other.error, error));
|
||||||
}
|
}
|
||||||
|
|
||||||
@JsonKey(ignore: true)
|
|
||||||
@override
|
@override
|
||||||
int get hashCode =>
|
int get hashCode =>
|
||||||
Object.hash(runtimeType, const DeepCollectionEquality().hash(error));
|
Object.hash(runtimeType, const DeepCollectionEquality().hash(error));
|
||||||
@@ -682,11 +711,11 @@ class _$Failed implements Failed {
|
|||||||
}
|
}
|
||||||
|
|
||||||
abstract class Failed implements UploadState {
|
abstract class Failed implements UploadState {
|
||||||
const factory Failed({required final String error}) = _$Failed;
|
const factory Failed({required String error}) = _$Failed;
|
||||||
|
|
||||||
factory Failed.fromJson(Map<String, dynamic> json) = _$Failed.fromJson;
|
factory Failed.fromJson(Map<String, dynamic> json) = _$Failed.fromJson;
|
||||||
|
|
||||||
String get error => throw _privateConstructorUsedError;
|
String get error;
|
||||||
@JsonKey(ignore: true)
|
@JsonKey(ignore: true)
|
||||||
_$$FailedCopyWith<_$Failed> get copyWith =>
|
_$$FailedCopyWith<_$Failed> get copyWith =>
|
||||||
throw _privateConstructorUsedError;
|
throw _privateConstructorUsedError;
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
// ignore_for_file: deprecated_member_use_from_same_package
|
||||||
|
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'dart:math';
|
import 'dart:math';
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,10 @@
|
|||||||
|
## Upcoming
|
||||||
|
|
||||||
|
🔄 Changed
|
||||||
|
|
||||||
|
- Deprecated `before` and `after` parameters in `StreamChannel.queryAroundMessage`. Use `limit` instead.
|
||||||
|
- Deprecated `before` and `after` parameters in `StreamChannel.loadChannelAtMessage`. Use `limit` instead.
|
||||||
|
|
||||||
## 4.1.0
|
## 4.1.0
|
||||||
|
|
||||||
- Updated `stream_chat` dependency to [`4.1.0`](https://pub.dev/packages/stream_chat/changelog).
|
- Updated `stream_chat` dependency to [`4.1.0`](https://pub.dev/packages/stream_chat/changelog).
|
||||||
|
|||||||
@@ -220,21 +220,20 @@ class StreamChannelState extends State<StreamChannel> {
|
|||||||
/// Loads channel at specific message
|
/// Loads channel at specific message
|
||||||
Future<void> loadChannelAtMessage(
|
Future<void> loadChannelAtMessage(
|
||||||
String? messageId, {
|
String? messageId, {
|
||||||
int before = 20,
|
@Deprecated('before is deprecated, use limit instead') int before = 20,
|
||||||
int after = 20,
|
@Deprecated('after is deprecated, use limit instead') int after = 20,
|
||||||
|
int limit = 20,
|
||||||
bool preferOffline = false,
|
bool preferOffline = false,
|
||||||
}) =>
|
}) =>
|
||||||
_queryAtMessage(
|
_queryAtMessage(
|
||||||
messageId: messageId,
|
messageId: messageId,
|
||||||
before: before,
|
limit: limit,
|
||||||
after: after,
|
|
||||||
preferOffline: preferOffline,
|
preferOffline: preferOffline,
|
||||||
);
|
);
|
||||||
|
|
||||||
Future<ChannelState?> _queryAtMessage({
|
Future<ChannelState?> _queryAtMessage({
|
||||||
String? messageId,
|
String? messageId,
|
||||||
int before = 20,
|
int limit = 20,
|
||||||
int after = 20,
|
|
||||||
bool preferOffline = false,
|
bool preferOffline = false,
|
||||||
}) async {
|
}) async {
|
||||||
if (channel.state == null) return null;
|
if (channel.state == null) return null;
|
||||||
@@ -244,7 +243,7 @@ class StreamChannelState extends State<StreamChannel> {
|
|||||||
if (messageId == null) {
|
if (messageId == null) {
|
||||||
await channel.query(
|
await channel.query(
|
||||||
messagesPagination: PaginationParams(
|
messagesPagination: PaginationParams(
|
||||||
limit: before,
|
limit: limit,
|
||||||
),
|
),
|
||||||
preferOffline: preferOffline,
|
preferOffline: preferOffline,
|
||||||
);
|
);
|
||||||
@@ -254,8 +253,7 @@ class StreamChannelState extends State<StreamChannel> {
|
|||||||
|
|
||||||
return queryAroundMessage(
|
return queryAroundMessage(
|
||||||
messageId,
|
messageId,
|
||||||
before: before,
|
limit: limit,
|
||||||
after: after,
|
|
||||||
preferOffline: preferOffline,
|
preferOffline: preferOffline,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -263,15 +261,15 @@ class StreamChannelState extends State<StreamChannel> {
|
|||||||
///
|
///
|
||||||
Future<ChannelState> queryAroundMessage(
|
Future<ChannelState> queryAroundMessage(
|
||||||
String messageId, {
|
String messageId, {
|
||||||
int before = 20,
|
@Deprecated('before is deprecated, use limit instead') int before = 20,
|
||||||
int after = 20,
|
@Deprecated('after is deprecated, use limit instead') int after = 20,
|
||||||
|
int limit = 20,
|
||||||
bool preferOffline = false,
|
bool preferOffline = false,
|
||||||
}) =>
|
}) =>
|
||||||
channel.query(
|
channel.query(
|
||||||
messagesPagination: PaginationParams(
|
messagesPagination: PaginationParams(
|
||||||
idAround: messageId,
|
idAround: messageId,
|
||||||
before: before,
|
limit: limit,
|
||||||
after: after,
|
|
||||||
),
|
),
|
||||||
preferOffline: preferOffline,
|
preferOffline: preferOffline,
|
||||||
);
|
);
|
||||||
@@ -338,7 +336,7 @@ class StreamChannelState extends State<StreamChannel> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Reloads the channel with latest message
|
/// Reloads the channel with latest message
|
||||||
Future<void> reloadChannel() => _queryAtMessage(before: 30);
|
Future<void> reloadChannel() => _queryAtMessage(limit: 30);
|
||||||
|
|
||||||
late List<Future<bool>> _futures;
|
late List<Future<bool>> _futures;
|
||||||
|
|
||||||
|
|||||||
@@ -211,8 +211,7 @@ void main() {
|
|||||||
|
|
||||||
final paginationParams = PaginationParams(
|
final paginationParams = PaginationParams(
|
||||||
idAround: initialMessageId,
|
idAround: initialMessageId,
|
||||||
after: 20,
|
limit: 20,
|
||||||
before: 20,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
when(() => mockChannel.initialized).thenAnswer((_) async => true);
|
when(() => mockChannel.initialized).thenAnswer((_) async => true);
|
||||||
|
|||||||
Reference in New Issue
Block a user