From 125014848af7bd11d75519ad4a4101e66bb65aaa Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Tue, 4 Apr 2023 17:33:57 +0530 Subject: [PATCH 1/3] fix(llc): make message.i18n readonly Signed-off-by: xsahil03x --- packages/stream_chat/lib/src/core/models/message.dart | 2 +- packages/stream_chat/lib/src/core/models/message.g.dart | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/stream_chat/lib/src/core/models/message.dart b/packages/stream_chat/lib/src/core/models/message.dart index 017bb06f..3645b00a 100644 --- a/packages/stream_chat/lib/src/core/models/message.dart +++ b/packages/stream_chat/lib/src/core/models/message.dart @@ -217,7 +217,7 @@ class Message extends Equatable { bool get isEphemeral => type == 'ephemeral'; /// A Map of translations. - @JsonKey(includeIfNull: false) + @JsonKey(includeIfNull: false, toJson: Serializer.readOnly) final Map? i18n; /// Known top level fields. diff --git a/packages/stream_chat/lib/src/core/models/message.g.dart b/packages/stream_chat/lib/src/core/models/message.g.dart index e2ff89b4..695e6332 100644 --- a/packages/stream_chat/lib/src/core/models/message.g.dart +++ b/packages/stream_chat/lib/src/core/models/message.g.dart @@ -108,6 +108,6 @@ Map _$MessageToJson(Message instance) { val['pin_expires'] = instance.pinExpires?.toIso8601String(); val['pinned_by'] = readonly(instance.pinnedBy); val['extra_data'] = instance.extraData; - writeNotNull('i18n', instance.i18n); + writeNotNull('i18n', readonly(instance.i18n)); return val; } From 3bddca8b29c0b691b9187b1d7d0c943d30d2460a Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Tue, 4 Apr 2023 17:34:52 +0530 Subject: [PATCH 2/3] chore(llc): update CHANGELOG.md Signed-off-by: xsahil03x --- packages/stream_chat/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/stream_chat/CHANGELOG.md b/packages/stream_chat/CHANGELOG.md index 04a47600..cd32c621 100644 --- a/packages/stream_chat/CHANGELOG.md +++ b/packages/stream_chat/CHANGELOG.md @@ -3,6 +3,7 @@ 🐞 Fixed - Fixed streamWatchers. Before it was always new, now it is possible to follow the watchers of a channel. +- Make `Message.i18n` field read-only. 🔄 Changed From 05681f73a9cb626ce455038a833a8168792faf75 Mon Sep 17 00:00:00 2001 From: Sahil Kumar Date: Wed, 5 Apr 2023 15:22:14 +0530 Subject: [PATCH 3/3] test(llc): fix test Signed-off-by: xsahil03x --- .../stream_chat/test/src/core/api/message_api_test.dart | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/stream_chat/test/src/core/api/message_api_test.dart b/packages/stream_chat/test/src/core/api/message_api_test.dart index ed7fefd6..8ae82e94 100644 --- a/packages/stream_chat/test/src/core/api/message_api_test.dart +++ b/packages/stream_chat/test/src/core/api/message_api_test.dart @@ -394,7 +394,12 @@ void main() { path, data: {'language': language}, )).thenAnswer((_) async => successResponse(path, data: { - 'message': translatedMessage.toJson(), + 'message': { + ...translatedMessage.toJson(), + 'i18n': { + language: translatedMessageText, + }, + }, })); final res = await messageApi.translateMessage(messageId, language);