Merge pull request #1110 from rlee1990/develop

This commit is contained in:
Sahil Kumar
2022-05-06 17:20:41 +05:30
committed by GitHub
5 changed files with 50 additions and 5 deletions
+16 -5
View File
@@ -1,10 +1,17 @@
## Upcoming
✅ Added
- Added support for extra data in attachment file uploader. Thanks, [@rlee1990](https://github.com/rlee1990).
## 4.0.1 ## 4.0.1
- Minor fixes - Minor fixes
## 4.0.0 ## 4.0.0
For upgrading to V4, please refer to the [V4 Migration Guide](https://getstream.io/chat/docs/sdk/flutter/guides/migration_guide_4_0/) For upgrading to V4, please refer to
the [V4 Migration Guide](https://getstream.io/chat/docs/sdk/flutter/guides/migration_guide_4_0/)
✅ Added ✅ Added
@@ -19,8 +26,10 @@ For upgrading to V4, please refer to the [V4 Migration Guide](https://getstream.
any channel. any channel.
- [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after - [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after
channel update. channel update.
- [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054) Fix `Unsupported operation: Cannot remove from an unmodifiable list`. - [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054)
- [[#1033]](https://github.com/GetStream/stream-chat-flutter/issues/1033) Hard delete from dashboard does not delete message from client. Fix `Unsupported operation: Cannot remove from an unmodifiable list`.
- [[#1033]](https://github.com/GetStream/stream-chat-flutter/issues/1033) Hard delete from dashboard does not delete
message from client.
- Send only `user_id` while reconnecting. - Send only `user_id` while reconnecting.
✅ Added ✅ Added
@@ -53,8 +62,10 @@ For upgrading to V4, please refer to the [V4 Migration Guide](https://getstream.
any channel. any channel.
- [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after - [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after
channel update. channel update.
- [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054) Fix `Unsupported operation: Cannot remove from an unmodifiable list`. - [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054)
- [[#1033]](https://github.com/GetStream/stream-chat-flutter/issues/1033) Hard delete from dashboard does not delete message from client. Fix `Unsupported operation: Cannot remove from an unmodifiable list`.
- [[#1033]](https://github.com/GetStream/stream-chat-flutter/issues/1033) Hard delete from dashboard does not delete
message from client.
- Send only `user_id` while reconnecting. - Send only `user_id` while reconnecting.
✅ Added ✅ Added
@@ -448,12 +448,14 @@ class Channel {
it.file!, it.file!,
onSendProgress: onSendProgress, onSendProgress: onSendProgress,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: it.extraData,
).then((it) => it.file); ).then((it) => it.file);
} else { } else {
future = sendFile( future = sendFile(
it.file!, it.file!,
onSendProgress: onSendProgress, onSendProgress: onSendProgress,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: it.extraData,
).then((it) => it.file); ).then((it) => it.file);
} }
_cancelableAttachmentUploadRequest[it.id] = cancelToken; _cancelableAttachmentUploadRequest[it.id] = cancelToken;
@@ -757,6 +759,7 @@ class Channel {
AttachmentFile file, { AttachmentFile file, {
ProgressCallback? onSendProgress, ProgressCallback? onSendProgress,
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) { }) {
_checkInitialized(); _checkInitialized();
return _client.sendFile( return _client.sendFile(
@@ -765,6 +768,7 @@ class Channel {
type, type,
onSendProgress: onSendProgress, onSendProgress: onSendProgress,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: extraData,
); );
} }
@@ -773,6 +777,7 @@ class Channel {
AttachmentFile file, { AttachmentFile file, {
ProgressCallback? onSendProgress, ProgressCallback? onSendProgress,
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) { }) {
_checkInitialized(); _checkInitialized();
return _client.sendImage( return _client.sendImage(
@@ -781,6 +786,7 @@ class Channel {
type, type,
onSendProgress: onSendProgress, onSendProgress: onSendProgress,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: extraData,
); );
} }
@@ -805,6 +811,7 @@ class Channel {
Future<EmptyResponse> deleteFile( Future<EmptyResponse> deleteFile(
String url, { String url, {
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) { }) {
_checkInitialized(); _checkInitialized();
return _client.deleteFile( return _client.deleteFile(
@@ -812,6 +819,7 @@ class Channel {
id!, id!,
type, type,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: extraData,
); );
} }
@@ -819,6 +827,7 @@ class Channel {
Future<EmptyResponse> deleteImage( Future<EmptyResponse> deleteImage(
String url, { String url, {
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) { }) {
_checkInitialized(); _checkInitialized();
return _client.deleteImage( return _client.deleteImage(
@@ -826,6 +835,7 @@ class Channel {
id!, id!,
type, type,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: extraData,
); );
} }
@@ -728,6 +728,7 @@ class StreamChatClient {
String channelType, { String channelType, {
ProgressCallback? onSendProgress, ProgressCallback? onSendProgress,
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) => }) =>
_chatApi.fileUploader.sendFile( _chatApi.fileUploader.sendFile(
file, file,
@@ -735,6 +736,7 @@ class StreamChatClient {
channelType, channelType,
onSendProgress: onSendProgress, onSendProgress: onSendProgress,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: extraData,
); );
/// Send a [image] to the [channelId] of type [channelType] /// Send a [image] to the [channelId] of type [channelType]
@@ -744,6 +746,7 @@ class StreamChatClient {
String channelType, { String channelType, {
ProgressCallback? onSendProgress, ProgressCallback? onSendProgress,
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) => }) =>
_chatApi.fileUploader.sendImage( _chatApi.fileUploader.sendImage(
image, image,
@@ -751,6 +754,7 @@ class StreamChatClient {
channelType, channelType,
onSendProgress: onSendProgress, onSendProgress: onSendProgress,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: extraData,
); );
/// Delete a file from this channel /// Delete a file from this channel
@@ -759,12 +763,14 @@ class StreamChatClient {
String channelId, String channelId,
String channelType, { String channelType, {
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) => }) =>
_chatApi.fileUploader.deleteFile( _chatApi.fileUploader.deleteFile(
url, url,
channelId, channelId,
channelType, channelType,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: extraData,
); );
/// Delete an image from this channel /// Delete an image from this channel
@@ -773,12 +779,14 @@ class StreamChatClient {
String channelId, String channelId,
String channelType, { String channelType, {
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) => }) =>
_chatApi.fileUploader.deleteImage( _chatApi.fileUploader.deleteImage(
url, url,
channelId, channelId,
channelType, channelType,
cancelToken: cancelToken, cancelToken: cancelToken,
extraData: extraData,
); );
/// Replaces the [channelId] of type [ChannelType] data with [data]. /// Replaces the [channelId] of type [ChannelType] data with [data].
@@ -16,6 +16,7 @@ abstract class AttachmentFileUploader {
String channelType, { String channelType, {
ProgressCallback? onSendProgress, ProgressCallback? onSendProgress,
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}); });
/// Uploads a [file] to the given channel. /// Uploads a [file] to the given channel.
@@ -29,6 +30,7 @@ abstract class AttachmentFileUploader {
String channelType, { String channelType, {
ProgressCallback? onSendProgress, ProgressCallback? onSendProgress,
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}); });
/// Deletes a image using its [url] from the given channel. /// Deletes a image using its [url] from the given channel.
@@ -40,6 +42,7 @@ abstract class AttachmentFileUploader {
String channelId, String channelId,
String channelType, { String channelType, {
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}); });
/// Deletes a file using its [url] from the given channel. /// Deletes a file using its [url] from the given channel.
@@ -51,6 +54,7 @@ abstract class AttachmentFileUploader {
String channelId, String channelId,
String channelType, { String channelType, {
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}); });
} }
@@ -68,6 +72,7 @@ class StreamAttachmentFileUploader implements AttachmentFileUploader {
String channelType, { String channelType, {
ProgressCallback? onSendProgress, ProgressCallback? onSendProgress,
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) async { }) async {
final multiPartFile = await file.toMultipartFile(); final multiPartFile = await file.toMultipartFile();
final response = await _client.postFile( final response = await _client.postFile(
@@ -86,6 +91,7 @@ class StreamAttachmentFileUploader implements AttachmentFileUploader {
String channelType, { String channelType, {
ProgressCallback? onSendProgress, ProgressCallback? onSendProgress,
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) async { }) async {
final multiPartFile = await file.toMultipartFile(); final multiPartFile = await file.toMultipartFile();
final response = await _client.postFile( final response = await _client.postFile(
@@ -103,6 +109,7 @@ class StreamAttachmentFileUploader implements AttachmentFileUploader {
String channelId, String channelId,
String channelType, { String channelType, {
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) async { }) async {
final response = await _client.delete( final response = await _client.delete(
'/channels/$channelType/$channelId/image', '/channels/$channelType/$channelId/image',
@@ -118,6 +125,7 @@ class StreamAttachmentFileUploader implements AttachmentFileUploader {
String channelId, String channelId,
String channelType, { String channelType, {
CancelToken? cancelToken, CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) async { }) async {
final response = await _client.delete( final response = await _client.delete(
'/channels/$channelType/$channelId/file', '/channels/$channelType/$channelId/file',
@@ -313,6 +313,7 @@ void main() {
channelType, channelType,
onSendProgress: any(named: 'onSendProgress'), onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'), cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).thenAnswer((_) async => sendImageResponse); )).thenAnswer((_) async => sendImageResponse);
when(() => client.sendFile( when(() => client.sendFile(
@@ -321,6 +322,7 @@ void main() {
channelType, channelType,
onSendProgress: any(named: 'onSendProgress'), onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'), cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).thenAnswer((_) async => sendFileResponse); )).thenAnswer((_) async => sendFileResponse);
when(() => client.sendMessage( when(() => client.sendMessage(
@@ -440,6 +442,7 @@ void main() {
channelType, channelType,
onSendProgress: any(named: 'onSendProgress'), onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'), cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).called(2); )).called(2);
verify(() => client.sendFile( verify(() => client.sendFile(
@@ -448,6 +451,7 @@ void main() {
channelType, channelType,
onSendProgress: any(named: 'onSendProgress'), onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'), cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).called(1); )).called(1);
verify(() => client.sendMessage( verify(() => client.sendMessage(
@@ -524,6 +528,7 @@ void main() {
channelType, channelType,
onSendProgress: any(named: 'onSendProgress'), onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'), cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).thenAnswer((_) async => sendImageResponse); )).thenAnswer((_) async => sendImageResponse);
when(() => client.sendFile( when(() => client.sendFile(
@@ -532,6 +537,7 @@ void main() {
channelType, channelType,
onSendProgress: any(named: 'onSendProgress'), onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'), cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).thenAnswer((_) async => sendFileResponse); )).thenAnswer((_) async => sendFileResponse);
when(() => client.updateMessage( when(() => client.updateMessage(
@@ -649,6 +655,7 @@ void main() {
channelType, channelType,
onSendProgress: any(named: 'onSendProgress'), onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'), cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).called(2); )).called(2);
verify(() => client.sendFile( verify(() => client.sendFile(
@@ -657,6 +664,7 @@ void main() {
channelType, channelType,
onSendProgress: any(named: 'onSendProgress'), onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'), cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).called(1); )).called(1);
verify(() => client.updateMessage( verify(() => client.updateMessage(