Merge branch 'develop' into message-input-controller

This commit is contained in:
Salvatore Giordano
2021-11-30 15:27:40 +01:00
61 changed files with 803 additions and 371 deletions
@@ -157,7 +157,10 @@ class ChannelListCoreState extends State<ChannelListCore> {
presence: widget.presence,
memberLimit: widget.memberLimit,
messageLimit: widget.messageLimit,
paginationParams: PaginationParams(limit: widget.limit),
paginationParams: PaginationParams(
limit: widget.limit,
offset: 0,
),
);
/// Fetches more channels with updated pagination and updates the widget
@@ -227,13 +227,13 @@ class StreamChannelState extends State<StreamChannel> {
preferOffline: preferOffline,
);
Future<List<ChannelState>> _queryAtMessage({
Future<ChannelState?> _queryAtMessage({
String? messageId,
int before = 20,
int after = 20,
bool preferOffline = false,
}) async {
if (channel.state == null) return [];
if (channel.state == null) return null;
channel.state!.isUpToDate = false;
channel.state!.truncate();
@@ -245,23 +245,33 @@ class StreamChannelState extends State<StreamChannel> {
preferOffline: preferOffline,
);
channel.state!.isUpToDate = true;
return [];
return null;
}
return Future.wait([
queryBeforeMessage(
messageId,
limit: before,
preferOffline: preferOffline,
),
queryAfterMessage(
messageId,
limit: after,
preferOffline: preferOffline,
),
]);
return queryAroundMessage(
messageId,
before: before,
after: after,
preferOffline: preferOffline,
);
}
///
Future<ChannelState> queryAroundMessage(
String messageId, {
int before = 20,
int after = 20,
bool preferOffline = false,
}) =>
channel.query(
messagesPagination: PaginationParams(
idAround: messageId,
before: before,
after: after,
),
preferOffline: preferOffline,
);
///
Future<ChannelState> queryBeforeMessage(
String messageId, {
@@ -95,7 +95,12 @@ class StreamChatCoreState extends State<StreamChatCore>
Timer? _disconnectTimer;
@override
Widget build(BuildContext context) => widget.child;
Widget build(BuildContext context) {
StreamChatClient.additionalHeaders = {
'X-Stream-Client': '${StreamChatClient.defaultUserAgent}-core',
};
return widget.child;
}
// coverage:ignore-start