Skip to content

Commit 30521a3

Browse files
committed
### Fixed
* Fixed #29 update messages list after delete message ### Dependencies * Upgraded `supabase_flutter` to `^2.9.1` * Upgraded `meta` to `^1.16.0`
1 parent 5b76782 commit 30521a3

File tree

4 files changed

+35
-15
lines changed

4 files changed

+35
-15
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
## [1.5.1] - 2025-06-17
2+
#### [@rickypid](https://github.com/rickypid)
3+
4+
### Fixed
5+
6+
* Fixed #29 update messages list after delete message
7+
8+
### Dependencies
9+
10+
* Upgraded `supabase_flutter` to `^2.9.1`
11+
* Upgraded `meta` to `^1.16.0`
12+
113
## [1.5.0] - 2025-02-06
214
#### [@rickypid](https://github.com/rickypid)
315

example/pubspec.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: example
22
description: A new Flutter project.
33
publish_to: 'none'
44

5-
version: 1.5.0
5+
version: 1.5.1
66

77
environment:
88
sdk: '>=3.4.0 <4.0.0'
@@ -11,7 +11,7 @@ dependencies:
1111
cupertino_icons: ^1.0.8
1212
dio: ^5.8.0+1
1313
faker: ^2.2.0
14-
file_picker: ^8.3.1
14+
file_picker: ^10.2.0
1515
file_saver: ^0.2.14
1616
flutter:
1717
sdk: flutter
@@ -20,14 +20,14 @@ dependencies:
2020
flutter_login: ^5.0.0
2121
flutter_supabase_chat_core:
2222
path: ../
23-
flutter_svg: ^2.0.17
24-
http: ^1.3.0
23+
flutter_svg: ^2.2.0
24+
http: ^1.4.0
2525
image_picker: ^1.1.2
2626
infinite_scroll_pagination: ^4.1.0
27-
open_filex: ^4.6.0
27+
open_filex: ^4.7.0
2828
path_provider: ^2.1.5
29-
supabase_flutter: ^2.8.3
30-
timeago: ^3.7.0
29+
supabase_flutter: ^2.9.1
30+
timeago: ^3.7.1
3131

3232

3333
dev_dependencies:

lib/src/class/supabase_chat_controller.dart

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,15 @@ class SupabaseChatController {
7575
.order('createdAt', ascending: false)
7676
.range(pageSize * _currentPage, (_currentPage * pageSize) + pageSize);
7777

78-
void _onData(List<Map<String, dynamic>> data) {
79-
for (var val in data) {
78+
void _onData(
79+
List<Map<String, dynamic>> newData, List<Map<String, dynamic>> oldData) {
80+
final deletedMessagesId = oldData
81+
.map(
82+
(e) => e['id'].toString(),
83+
)
84+
.toList();
85+
_messages.removeWhere((element) => deletedMessagesId.contains(element.id));
86+
for (var val in newData) {
8087
final author = _room.users.firstWhere(
8188
(u) => u.id == val['authorId'],
8289
orElse: () => types.User(id: val['authorId'] as String),
@@ -103,7 +110,7 @@ class SupabaseChatController {
103110
/// then it will be necessary to call the [loadPreviousMessages] method to get
104111
/// the next page of messages
105112
Stream<List<types.Message>> get messages {
106-
_messagesQuery().then((value) => _onData(value));
113+
_messagesQuery().then((value) => _onData(value, []));
107114
_client
108115
.channel('${_config.schema}:${_config.messagesTableName}:${_room.id}')
109116
.onPostgresChanges(
@@ -115,7 +122,8 @@ class SupabaseChatController {
115122
column: 'roomId',
116123
value: _room.id,
117124
),
118-
callback: (payload) => _onData([payload.newRecord]),
125+
callback: (payload) =>
126+
_onData([payload.newRecord], [payload.oldRecord]),
119127
)
120128
.subscribe();
121129
return _messagesController.stream;
@@ -125,7 +133,7 @@ class SupabaseChatController {
125133
/// page
126134
Future<void> loadPreviousMessages() async {
127135
_currentPage += 1;
128-
await _messagesQuery().then((value) => _onData(value));
136+
await _messagesQuery().then((value) => _onData(value, []));
129137
}
130138

131139
/// Returns a stream of typing users from Supabase for a specified room.

pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: flutter_supabase_chat_core
22
description: >
33
Actively maintained, community-driven Supabase BaaS for chat applications
44
with an optional chat UI.
5-
version: 1.5.0
5+
version: 1.5.1
66
homepage: https://flutter-supabase-chat-core.insideapp.it
77
repository: https://github.com/insideapp-srl/flutter_supabase_chat_core
88

@@ -14,9 +14,9 @@ dependencies:
1414
flutter:
1515
sdk: flutter
1616
flutter_chat_types: ^3.6.2
17-
meta: ^1.15.0
17+
meta: ^1.16.0
1818
mime: '>=1.0.2 <3.0.0'
19-
supabase_flutter: ^2.8.3
19+
supabase_flutter: ^2.9.1
2020
uuid: ^4.5.1
2121

2222
dev_dependencies:

0 commit comments

Comments
 (0)