Commit Graph

3473 Commits

Author SHA1 Message Date
DreamPiggy f93cf96832 Avoid store original disk cache again when using thumbnail or transformer from the full size data
This solve #3395
2022-11-08 16:44:40 +08:00
DreamPiggy 5a89f80816
Merge pull request #3427 from dreampiggy/bugfix/logic_nullable_check
Add the possible nullable logic check when the force-decode/copy failed
2022-11-08 16:41:40 +08:00
DreamPiggy cdd77d5ebe
Merge pull request #3426 from dreampiggy/bugfix/UTI_hint_ignore_dynamic_log
Ignore the dynamic UTI type hint to avoid extra log
2022-11-08 16:20:33 +08:00
DreamPiggy 0d1c603d50 Add the possible nullable logic check when the force-decode/copy failed 2022-11-08 16:19:49 +08:00
DreamPiggy c81aec4ccd Ignore the dynamic UTI type hint to avoid extra log 2022-11-08 16:15:25 +08:00
DreamPiggy f6769186b9
Merge pull request #3425 from dreampiggy/feature/imageio_force_decode_option_control
Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO. Introduce new workaround to strip CGImage retained CGImageSource on iOS 15
2022-11-08 14:36:55 +08:00
DreamPiggy 6c83696800 Update test case `test17ThatMinimumProgressIntervalWorks` to make it more stable 2022-11-07 18:39:33 +08:00
DreamPiggy 7c4649c7cc Update the test case `test23ThatThumbnailEncodeCalculation` 2022-11-07 15:25:52 +08:00
DreamPiggy 136d05fce8 Add extra check when user provide SDImageCoderDecodeUseLazyDecoding 2022-11-07 12:44:46 +08:00
DreamPiggy 3000dd5098 Fix the `sd_isDecoded` did not set after we use SDCGImageCreateCopy 2022-11-07 12:20:04 +08:00
DreamPiggy db25af9506 Recovery the assert check on only iPhone/TV simulator in debug mode 2022-11-07 12:10:22 +08:00
DreamPiggy abc06f020a Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO or not
Defaults to NO for animated image coder but YES for static image coder to match current behavior
This also use another way to solve iOS 15+'s CGImageGetImageSource issue
2022-11-07 12:10:22 +08:00
DreamPiggy ddcf347c7d Update README about GitHub action status 2022-11-01 14:20:44 +08:00
DreamPiggy 5ee6ac2476
Merge pull request #3423 from dreampiggy/feature/refactor_thumbnail_hack_with_decode_options
Refactor the hack for multiple thumbnail image request at the same time
2022-11-01 00:14:17 +08:00
DreamPiggy 279f636ac5 Minor check the logic that UTI has high priority than path extension 2022-10-31 23:52:32 +08:00
DreamPiggy e3c6cfa066 Update test case to make clear that transformed image and thumbnailed image will callback without data 2022-10-31 23:52:32 +08:00
DreamPiggy 980e0dd14a Added test case test30ThatDifferentThumbnailLoadShouldCallbackDifferentSize 2022-10-31 23:52:32 +08:00
DreamPiggy 2fd75638fe Refactor the hack for multiple thumbnail image request at the same time
1. Put the hack logic into SDWebImageDownloadOperation, each different thumbnail image request will have its callback with desired size of image using different decoding call.
2. Progressive Thumbnail decoding (use together) does not have this behavior, because I think progressive thumbnail is really rare and tolerant, people just use the first thumbnail size image for preview and OK.
3. The manager logic refactor with separate steps, focus on clear to understand the complicated logic and maintainess
4. The thumbnail decode/transformed will callback valid image, but with nil data, this matches the behavior as wiki pages.
2022-10-31 23:52:32 +08:00
DreamPiggy 4a72e4fee2
Merge pull request #3421 from dreampiggy/feature/decode_options_in_from_loader_instead
Introduce SDWebImageContextImageDecodeOptions, deprecate SDImageCoderWebImageContext
2022-10-30 18:34:30 +08:00
DreamPiggy 851b60e0f3 Added test case `test20ThatContextPassDecodeOptionsWorks` 2022-10-30 17:55:16 +08:00
DreamPiggy 2f3652dc2e Feature: Introduce SDWebImageContextImageDecodeOptions, deprecate SDImageCoderWebImageContext
This can solve the retain cycle from the scratch, instead of hacking
2022-10-29 20:51:11 +08:00
DreamPiggy b014808ddd Merge branch '5.13.x' of github.com:SDWebImage/SDWebImage
# Conflicts:
#	SDWebImage/Core/SDImageCacheDefine.m
2022-10-29 20:40:00 +08:00
DreamPiggy 318cca556b Fix the issue that progressive decode logic does not get updated 2022-10-29 20:34:04 +08:00
DreamPiggy 55a3809412 Bumped version to 5.13.5
update CHANGELOG
2022-10-29 20:26:05 +08:00
DreamPiggy 34f2a9b823
Merge pull request #3420 from dreampiggy/fix_5.13_retain_cycle_web_context
Quick fix the issue that UIImage.sd_decodeOptions cause retain cycle when pass custom cache in context option
2022-10-29 20:22:21 +08:00
DreamPiggy b46fe38c72 Quick fix the issue that UIImage.sd_decodeOptions cause retain cycle when pass custom cache in context option
Now the SDImageCoderWebImageContext does not pass the built-in options, only custom options will be passed, and deprecated in 5.14.0
2022-10-29 19:50:45 +08:00
DreamPiggy 3a52ef5aeb
Merge pull request #3419 from dreampiggy/feature/tiff_uti_hint
Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size
2022-10-29 18:34:56 +08:00
DreamPiggy 8dd6e25cd8 Added NEF test case, as well as BMP type enum
The file extension hint works on iOS/macOS for current
2022-10-29 18:13:36 +08:00
DreamPiggy b1b16a17b3 Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size
This is because file extension will cause ImageIO use different codec, which does not support all of them without context
2022-10-27 11:11:28 +08:00
DreamPiggy 9248fe561a Bumped version to 5.13.4
update CHANGELOG
2022-09-26 20:57:44 +08:00
DreamPiggy 3c7c949637
Merge pull request #3408 from dreampiggy/threadsafe_fix_imageio_incremental_animation
Fix the potential out of bounds crash for ImageIO incremental animation decoding (like GIF)
2022-09-26 20:55:27 +08:00
DreamPiggy 364034d11a Fix test cases `test15CancelQueryShouldCallbackOnceInSync` 2022-09-26 18:43:26 +08:00
DreamPiggy 080db1afb9 Try to investigate test case failure issue 2022-09-26 18:24:41 +08:00
DreamPiggy 9b2ddc9ea8 [NFC] A little optimization for MutableArray creation 2022-09-26 17:38:37 +08:00
DreamPiggy 347cf1d1cc Fix the potential out of bounds crash for ImageIO incremental animation decoding (like GIF)
This patch from the SDWebImageWebPCoder/pull/68
2022-09-26 17:32:25 +08:00
DreamPiggy 484bc774e1 Bumped version to 5.13.3
update CHANGELOG
2022-09-19 18:36:04 +08:00
DreamPiggy 9f9d226083
Merge pull request #3387 from dreampiggy/thread_safe_ios15_animation_cgimage_retain_source
Try to workaround iOS 15+ crash that CGImage retain the CGImageSource during animation image playing
2022-09-19 18:30:51 +08:00
DreamPiggy ea9f573744 Remove the temp assert code (for debugging usage) 2022-09-19 18:30:13 +08:00
DreamPiggy 89178a7d89 Update to force decode CGImage before any UIImage initialization on iOS 15+ 2022-09-19 18:30:13 +08:00
DreamPiggy 3994006cb4 Try to workaround iOS 15+ crash that CGImage retain the CGImageSource during animation image playing
This used to work on iOS 14
2022-09-19 18:30:13 +08:00
DreamPiggy 524d4f53eb
Merge pull request #3403 from dreampiggy/revert_isCancelled_block_with_recursive
Fix the crash because of SDWebImageCombinedOperation recursive lock
2022-09-19 18:20:06 +08:00
DreamPiggy 6b8075a2e1 Using the same synchornized to guard _cancelled status, which need recursive lock
DO NOT USE SD_LOCK (os_unfair_lock), which not support recursive
2022-09-19 17:33:04 +08:00
DreamPiggy ad592765cb Revert "Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation in order to eliminate data race."
This reverts commit 5a18c84529.
2022-09-19 17:28:38 +08:00
DreamPiggy 122c3d7ca5
Merge pull request #3402 from dreampiggy/fix_macOS_animatedview_render
Fix the switching from animated image rendering to static image does not works on macOS 11+
2022-09-19 17:23:56 +08:00
DreamPiggy 61c3c5ba2d Fix the switching from animated image rendering to static image does not works on macOS 11+
We should always provide a fallback solution to handle built-in NSImageView logic
2022-09-19 16:27:21 +08:00
DreamPiggy d3b111deb1
Merge pull request #3401 from dreampiggy/fix_unlock_unbalanced
Fix the unbalanced lock which cause crash
2022-09-19 14:30:03 +08:00
DreamPiggy 6eb74a177f Fix the unbalanced lock which cause crash 2022-09-19 12:05:41 +08:00
DreamPiggy 3a6e01ab20
Merge pull request #3393 from alexander-gaidukov/synchronize_operation_cancellation
Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation
2022-09-09 18:15:44 +08:00
Alexander Gaidukov 5a18c84529 Synchronise getter and setter of the cancelled property of the SDWebImageCombinedOperation in order to eliminate data race. 2022-09-06 21:08:25 +07:00
DreamPiggy 3e48cb68d8 Bumped version to 5.13.2
update CHANGELOG
2022-07-23 23:09:12 +08:00