Skip to content

Commit ab009fc

Browse files
Merge pull request #150 from sendbird/v4.6.0
Add 4.6.0.
2 parents 9b72def + 7b5a8e6 commit ab009fc

File tree

7 files changed

+28
-14
lines changed

7 files changed

+28
-14
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
## v4.6.0 (Oct 15, 2025)
2+
3+
### Features
4+
- Support 16KB page sizes for Android (`minSdkVersion` on Android must be 23 or higher)
5+
6+
### Improvements
7+
- Fixed a bug where the failed `FileMessage` does not load on iOS when restarting the app
8+
19
## v4.6.0-dev.2 (Oct 1, 2025)
210

311
### Features

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Before installing Sendbird Chat SDK, you need to create a Sendbird application o
5050

5151
```yaml
5252
dependencies:
53-
sendbird_chat_sdk: ^4.6.0-dev.2
53+
sendbird_chat_sdk: ^4.6.0
5454
```
5555
5656
- Run `flutter pub get` command in your project directory.

lib/src/internal/main/chat/chat.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ part 'chat_notifications.dart';
6666
part 'chat_push.dart';
6767
part 'chat_user.dart';
6868

69-
const sdkVersion = '4.6.0-dev.2';
69+
const sdkVersion = '4.6.0';
7070

7171
// Internal implementation for main class. Do not directly access this class.
7272
class Chat with WidgetsBindingObserver {

lib/src/internal/main/chat_manager/collection_manager/group_channel_collection_manager.dart

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -129,11 +129,13 @@ extension GroupChannelCollectionManager on CollectionManager {
129129
eventSource == CollectionEventSource.channelChangeLogs) {
130130
// Do upsertGroupChannels() in sendEventsToGroupChannelCollection().
131131
} else {
132-
await _chat.dbManager.upsertGroupChannels(addedChannels);
132+
_chat.dbManager
133+
.upsertGroupChannels(addedChannels); // No await since 4.6.0
133134
}
134135
}
135136
if (updatedChannels != null) {
136-
await _chat.dbManager.upsertGroupChannels(updatedChannels);
137+
_chat.dbManager
138+
.upsertGroupChannels(updatedChannels); // No await since 4.6.0
137139
}
138140
}
139141
//- [DBManager]
@@ -195,12 +197,14 @@ extension GroupChannelCollectionManager on CollectionManager {
195197
for (final channel in unavailableChannels) {
196198
addedChannels.remove(channel);
197199
}
198-
await _chat.dbManager.upsertGroupChannels(addedChannels);
200+
_chat.dbManager
201+
.upsertGroupChannels(addedChannels); // No await since 4.6.0
199202
}
200203
}
201204
if (updatedChannels != null) {
202205
// Not used
203-
await _chat.dbManager.upsertGroupChannels(updatedChannels);
206+
_chat.dbManager
207+
.upsertGroupChannels(updatedChannels); // No await since 4.6.0
204208
}
205209
}
206210
//- [DBManager]

lib/src/internal/main/chat_manager/collection_manager/message_collection_manager.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -538,9 +538,11 @@ extension MessageCollectionManager on CollectionManager {
538538
if (updatedChannels != null) {
539539
for (final channel in updatedChannels) {
540540
if (channel is GroupChannel) {
541-
await _chat.dbManager.upsertGroupChannels([channel]);
541+
_chat.dbManager
542+
.upsertGroupChannels([channel]); // No await since 4.6.0
542543
} else if (channel is FeedChannel) {
543-
await _chat.dbManager.upsertFeedChannels([channel]);
544+
_chat.dbManager
545+
.upsertFeedChannels([channel]); // No await since 4.6.0
544546
}
545547
}
546548
}

lib/src/internal/main/chat_manager/file_cache_manager.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ class FileCacheManager {
5555
cachedFile.deleteSync();
5656
}
5757
cachedFile = await originalFile.copy(cachedFilePath);
58+
await cachedFile.setLastModified(DateTime.now());
5859

5960
final failedFileMessage = await _chat.dbManager.getFailedFileMessage(
6061
channelType: ChannelType.group,
@@ -102,11 +103,10 @@ class FileCacheManager {
102103
final now = DateTime.now();
103104

104105
for (final fileEntity in cacheDir.listSync()) {
105-
if (fileEntity is File) {
106-
final stat = await fileEntity.stat();
107-
if (now.difference(stat.accessed).inMinutes > retentionMinutes) {
108-
filePathList.add(fileEntity.path);
109-
}
106+
final file = File(fileEntity.path);
107+
final lastModified = file.lastModifiedSync();
108+
if (now.difference(lastModified).inMinutes >= retentionMinutes) {
109+
filePathList.add(fileEntity.path);
110110
}
111111
}
112112

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: sendbird_chat_sdk
22
description: With Sendbird Chat for Flutter, you can easily build an in-app chat with all the essential messaging features.
3-
version: 4.6.0-dev.2
3+
version: 4.6.0
44
homepage: https://sendbird.com
55
repository: https://github.com/sendbird/sendbird-chat-sdk-flutter
66
documentation: https://sendbird.com/docs/chat/sdk/v4/flutter/getting-started/send-first-message

0 commit comments

Comments
 (0)