use updatechannelstate
This commit is contained in:
@@ -1655,6 +1655,7 @@ class ChannelClientState {
|
|||||||
watcherCount: updatedState.watcherCount,
|
watcherCount: updatedState.watcherCount,
|
||||||
members: newMembers,
|
members: newMembers,
|
||||||
read: newReads,
|
read: newReads,
|
||||||
|
pinnedMessages: updatedState.pinnedMessages,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1755,21 +1756,24 @@ class ChannelClientState {
|
|||||||
void _startCleaningPinnedMessages() {
|
void _startCleaningPinnedMessages() {
|
||||||
_pinnedMessagesTimer = Timer.periodic(Duration(seconds: 30), (_) {
|
_pinnedMessagesTimer = Timer.periodic(Duration(seconds: 30), (_) {
|
||||||
final now = DateTime.now();
|
final now = DateTime.now();
|
||||||
final expiredMessages = channelState.pinnedMessages
|
var expiredMessages = channelState.pinnedMessages
|
||||||
?.where((m) => m.pinExpires?.isBefore(now) == true)
|
?.where((m) => m.pinExpires?.isBefore(now) == true)
|
||||||
?.toList() ??
|
?.toList() ??
|
||||||
[];
|
[];
|
||||||
if (expiredMessages.isNotEmpty) {
|
if (expiredMessages.isNotEmpty) {
|
||||||
expiredMessages.forEach((m) => addMessage(m.copyWith(
|
expiredMessages = expiredMessages
|
||||||
pinExpires: null,
|
.map((m) => m.copyWith(
|
||||||
pinned: false,
|
pinExpires: null,
|
||||||
pinnedAt: null,
|
pinned: false,
|
||||||
pinnedBy: null,
|
pinnedAt: null,
|
||||||
)));
|
pinnedBy: null,
|
||||||
|
))
|
||||||
|
.toList();
|
||||||
|
|
||||||
_channelState = _channelState.copyWith(
|
updateChannelState(_channelState.copyWith(
|
||||||
pinnedMessages: pinnedMessages.where(_pinIsValid()).toList(),
|
pinnedMessages: pinnedMessages.where(_pinIsValid()).toList(),
|
||||||
);
|
messages: expiredMessages,
|
||||||
|
));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user