@@ -524,15 +524,34 @@ private func chatMessageVideoDatas(postbox: Postbox, userLocation: MediaResource
524
524
thumbnail = . single( decodedThumbnailData)
525
525
}
526
526
} else if let thumbnailResource = thumbnailResource {
527
- thumbnail = Signal { subscriber in
528
- let fetchedDisposable = fetchedMediaResource ( mediaBox: postbox. mediaBox, userLocation: userLocation, userContentType: customUserContentType ?? MediaResourceUserContentType ( file: fileReference. media) , reference: fileReference. resourceReference ( thumbnailResource) , statsCategory: . video) . start ( )
529
- let thumbnailDisposable = postbox. mediaBox. resourceData ( thumbnailResource, attemptSynchronously: synchronousLoad) . start ( next: { next in
530
- subscriber. putNext ( next. size == 0 ? nil : try ? Data ( contentsOf: URL ( fileURLWithPath: next. path) , options: [ ] ) )
531
- } , error: subscriber. putError, completed: subscriber. putCompletion)
532
-
533
- return ActionDisposable {
534
- fetchedDisposable. dispose ( )
535
- thumbnailDisposable. dispose ( )
527
+ if autoFetchFullSizeThumbnail, let thumbnailRepresentation = thumbnailRepresentation, ( thumbnailRepresentation. dimensions. width > 200 || thumbnailRepresentation. dimensions. height > 200 ) {
528
+ thumbnail = Signal { subscriber in
529
+ let fetchedDisposable = fetchedMediaResource ( mediaBox: postbox. mediaBox, userLocation: userLocation, userContentType: customUserContentType ?? MediaResourceUserContentType ( file: fileReference. media) , reference: fileReference. resourceReference ( thumbnailRepresentation. resource) , statsCategory: . video) . start ( )
530
+ let thumbnailDisposable = postbox. mediaBox. resourceData ( thumbnailRepresentation. resource, attemptSynchronously: synchronousLoad) . start ( next: { next in
531
+ let data : Data ? = next. size == 0 ? nil : try ? Data ( contentsOf: URL ( fileURLWithPath: next. path) , options: [ ] )
532
+ if let data {
533
+ subscriber. putNext ( data)
534
+ } else {
535
+ subscriber. putNext ( nil )
536
+ }
537
+ } , error: subscriber. putError, completed: subscriber. putCompletion)
538
+
539
+ return ActionDisposable {
540
+ fetchedDisposable. dispose ( )
541
+ thumbnailDisposable. dispose ( )
542
+ }
543
+ }
544
+ } else {
545
+ thumbnail = Signal { subscriber in
546
+ let fetchedDisposable = fetchedMediaResource ( mediaBox: postbox. mediaBox, userLocation: userLocation, userContentType: customUserContentType ?? MediaResourceUserContentType ( file: fileReference. media) , reference: fileReference. resourceReference ( thumbnailResource) , statsCategory: . video) . start ( )
547
+ let thumbnailDisposable = postbox. mediaBox. resourceData ( thumbnailResource, attemptSynchronously: synchronousLoad) . start ( next: { next in
548
+ subscriber. putNext ( next. size == 0 ? nil : try ? Data ( contentsOf: URL ( fileURLWithPath: next. path) , options: [ ] ) )
549
+ } , error: subscriber. putError, completed: subscriber. putCompletion)
550
+
551
+ return ActionDisposable {
552
+ fetchedDisposable. dispose ( )
553
+ thumbnailDisposable. dispose ( )
554
+ }
536
555
}
537
556
}
538
557
} else {
0 commit comments