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
- Minor fixes
## 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
@@ -19,8 +26,10 @@ For upgrading to V4, please refer to the [V4 Migration Guide](https://getstream.
any channel.
- [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after
channel update.
- [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054) 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.
- [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054)
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.
✅ Added
@@ -53,8 +62,10 @@ For upgrading to V4, please refer to the [V4 Migration Guide](https://getstream.
any channel.
- [[#1047]](https://github.com/GetStream/stream-chat-flutter/issues/1047) `own_capabilities` extraData missing after
channel update.
- [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054) 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.
- [[#1054]](https://github.com/GetStream/stream-chat-flutter/issues/1054)
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.
✅ Added
@@ -448,12 +448,14 @@ class Channel {
it.file!,
onSendProgress: onSendProgress,
cancelToken: cancelToken,
extraData: it.extraData,
).then((it) => it.file);
} else {
future = sendFile(
it.file!,
onSendProgress: onSendProgress,
cancelToken: cancelToken,
extraData: it.extraData,
).then((it) => it.file);
}
_cancelableAttachmentUploadRequest[it.id] = cancelToken;
@@ -757,6 +759,7 @@ class Channel {
AttachmentFile file, {
ProgressCallback? onSendProgress,
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) {
_checkInitialized();
return _client.sendFile(
@@ -765,6 +768,7 @@ class Channel {
type,
onSendProgress: onSendProgress,
cancelToken: cancelToken,
extraData: extraData,
);
}
@@ -773,6 +777,7 @@ class Channel {
AttachmentFile file, {
ProgressCallback? onSendProgress,
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) {
_checkInitialized();
return _client.sendImage(
@@ -781,6 +786,7 @@ class Channel {
type,
onSendProgress: onSendProgress,
cancelToken: cancelToken,
extraData: extraData,
);
}
@@ -805,6 +811,7 @@ class Channel {
Future<EmptyResponse> deleteFile(
String url, {
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) {
_checkInitialized();
return _client.deleteFile(
@@ -812,6 +819,7 @@ class Channel {
id!,
type,
cancelToken: cancelToken,
extraData: extraData,
);
}
@@ -819,6 +827,7 @@ class Channel {
Future<EmptyResponse> deleteImage(
String url, {
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) {
_checkInitialized();
return _client.deleteImage(
@@ -826,6 +835,7 @@ class Channel {
id!,
type,
cancelToken: cancelToken,
extraData: extraData,
);
}
@@ -728,6 +728,7 @@ class StreamChatClient {
String channelType, {
ProgressCallback? onSendProgress,
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) =>
_chatApi.fileUploader.sendFile(
file,
@@ -735,6 +736,7 @@ class StreamChatClient {
channelType,
onSendProgress: onSendProgress,
cancelToken: cancelToken,
extraData: extraData,
);
/// Send a [image] to the [channelId] of type [channelType]
@@ -744,6 +746,7 @@ class StreamChatClient {
String channelType, {
ProgressCallback? onSendProgress,
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) =>
_chatApi.fileUploader.sendImage(
image,
@@ -751,6 +754,7 @@ class StreamChatClient {
channelType,
onSendProgress: onSendProgress,
cancelToken: cancelToken,
extraData: extraData,
);
/// Delete a file from this channel
@@ -759,12 +763,14 @@ class StreamChatClient {
String channelId,
String channelType, {
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) =>
_chatApi.fileUploader.deleteFile(
url,
channelId,
channelType,
cancelToken: cancelToken,
extraData: extraData,
);
/// Delete an image from this channel
@@ -773,12 +779,14 @@ class StreamChatClient {
String channelId,
String channelType, {
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) =>
_chatApi.fileUploader.deleteImage(
url,
channelId,
channelType,
cancelToken: cancelToken,
extraData: extraData,
);
/// Replaces the [channelId] of type [ChannelType] data with [data].
@@ -16,6 +16,7 @@ abstract class AttachmentFileUploader {
String channelType, {
ProgressCallback? onSendProgress,
CancelToken? cancelToken,
Map<String, Object?>? extraData,
});
/// Uploads a [file] to the given channel.
@@ -29,6 +30,7 @@ abstract class AttachmentFileUploader {
String channelType, {
ProgressCallback? onSendProgress,
CancelToken? cancelToken,
Map<String, Object?>? extraData,
});
/// Deletes a image using its [url] from the given channel.
@@ -40,6 +42,7 @@ abstract class AttachmentFileUploader {
String channelId,
String channelType, {
CancelToken? cancelToken,
Map<String, Object?>? extraData,
});
/// Deletes a file using its [url] from the given channel.
@@ -51,6 +54,7 @@ abstract class AttachmentFileUploader {
String channelId,
String channelType, {
CancelToken? cancelToken,
Map<String, Object?>? extraData,
});
}
@@ -68,6 +72,7 @@ class StreamAttachmentFileUploader implements AttachmentFileUploader {
String channelType, {
ProgressCallback? onSendProgress,
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) async {
final multiPartFile = await file.toMultipartFile();
final response = await _client.postFile(
@@ -86,6 +91,7 @@ class StreamAttachmentFileUploader implements AttachmentFileUploader {
String channelType, {
ProgressCallback? onSendProgress,
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) async {
final multiPartFile = await file.toMultipartFile();
final response = await _client.postFile(
@@ -103,6 +109,7 @@ class StreamAttachmentFileUploader implements AttachmentFileUploader {
String channelId,
String channelType, {
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) async {
final response = await _client.delete(
'/channels/$channelType/$channelId/image',
@@ -118,6 +125,7 @@ class StreamAttachmentFileUploader implements AttachmentFileUploader {
String channelId,
String channelType, {
CancelToken? cancelToken,
Map<String, Object?>? extraData,
}) async {
final response = await _client.delete(
'/channels/$channelType/$channelId/file',
@@ -313,6 +313,7 @@ void main() {
channelType,
onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).thenAnswer((_) async => sendImageResponse);
when(() => client.sendFile(
@@ -321,6 +322,7 @@ void main() {
channelType,
onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).thenAnswer((_) async => sendFileResponse);
when(() => client.sendMessage(
@@ -440,6 +442,7 @@ void main() {
channelType,
onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).called(2);
verify(() => client.sendFile(
@@ -448,6 +451,7 @@ void main() {
channelType,
onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).called(1);
verify(() => client.sendMessage(
@@ -524,6 +528,7 @@ void main() {
channelType,
onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).thenAnswer((_) async => sendImageResponse);
when(() => client.sendFile(
@@ -532,6 +537,7 @@ void main() {
channelType,
onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).thenAnswer((_) async => sendFileResponse);
when(() => client.updateMessage(
@@ -649,6 +655,7 @@ void main() {
channelType,
onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).called(2);
verify(() => client.sendFile(
@@ -657,6 +664,7 @@ void main() {
channelType,
onSendProgress: any(named: 'onSendProgress'),
cancelToken: any(named: 'cancelToken'),
extraData: any(named: 'extraData'),
)).called(1);
verify(() => client.updateMessage(