Commit Graph

3248 Commits

Author SHA1 Message Date
DreamPiggy 282714883e Update the Demo project 2022-06-26 23:55:12 +08:00
DreamPiggy 16cf157658
Merge pull request #3363 from dreampiggy/fix_multiple_cancel_cache_callback_order
Fix the case when user cancel the image loading for same URL in sequence cause placeholder mass
2022-06-26 23:52:55 +08:00
DreamPiggy ad953cdcc5 Fix the case when user cancel the image loading for same URL in sequence cause placeholder mass
This PR introduce 2 API changes:
1. Cache query now return cache token and callback sync when called from main queue, unlike NSOperation always callback async
2. Expose the set image operation, and update the documentation behavior about that `SDWebImageDelayPlaceholder`
2022-06-26 20:04:51 +08:00
DreamPiggy d58a1006c2
Merge pull request #3362 from dreampiggy/behavior_thumbnail_store_cache
Feature: Change thumbnail cache behavior as expected, share cache through different loading pipeline without extra download
2022-06-26 15:29:55 +08:00
DreamPiggy 071a8934e3 Fix the assert case when loader callback nil image data 2022-06-26 00:29:24 +08:00
DreamPiggy 69acd5a158 Added all the 3 test cases
test17ThatThumbnailCacheQueryNotWriteToWrongKey
test18ThatThumbnailLoadingCanUseFullSizeCache
test19ThatDifferentThumbnailLoadShouldCallbackDifferentSize
2022-06-26 00:29:24 +08:00
DreamPiggy 31c4a09430 Fix one bug that callback the wrong cache type 2022-06-26 00:29:24 +08:00
DreamPiggy c47158362d Limit the re-deocde case only when image was downloaded, avoid when thumbnail hit cache 2022-06-26 00:29:24 +08:00
DreamPiggy ecac56b726 Use the new solution, store the original decode options, when multiple loading pipeline share the same URL callback, check it and re-decode if needed 2022-06-26 00:29:24 +08:00
DreamPiggy 911328c1b4 Fix the case when previous pipeline use thumbnail transformer use together, second pipeline use the full size loading 2022-06-23 19:37:47 +08:00
DreamPiggy 2c9290f109 Added sd_isThumbnail to mark metadata, avoid the case when full size image request re-use the image from thumbnail decoding for the same URL
I think this is a temp workaround
2022-06-23 19:19:23 +08:00
DreamPiggy e7e9268a7e Fix the case that query full size key with thumbnail, cause the write back of thumnail to memory cache with wrong key 2022-06-23 17:54:27 +08:00
DreamPiggy 613a2bf988 Opt the thumbnail cache behavior, now it prefers to store/query original data from disk, thumbnail image from memory
Separate the thumbnail from transformer, they are for different use case
2022-06-23 17:12:56 +08:00
DreamPiggy 0b661344fe
Merge pull request #3359 from dreampiggy/api_thumbnail_scale_calculation
Added new API for custom coder better handling the thumbnail size
2022-06-22 17:56:22 +08:00
DreamPiggy 1f3ee8e9d5 Added new API for custom coder better handling the thumbnail size
The current WebP/HEIF/AVIF coder both copy paste the same code multiple times and have to fix one by one
2022-06-22 16:53:40 +08:00
DreamPiggy 19b4b47c60
Merge pull request #3357 from dreampiggy/bugfix_encode_max_pixel_size
Fix the encodeMaxPixelSize logic
2022-06-20 21:01:07 +08:00
DreamPiggy 018cf32ab3 Added test23ThatThumbnailEncodeCalculation test case 2022-06-20 18:20:34 +08:00
DreamPiggy fcb53cb5ff Fix the encodeMaxPixelSize logic
Allows user to provide size which one dimension is larger than image size size
Example - maxPixelSize: (200, 200), imageSize: (100, 400), result: (50, 200)
2022-06-20 18:12:09 +08:00
DreamPiggy 3746c5d4c6 Merge branch 'master' of https://github.com/SDWebImage/SDWebImage 2022-06-20 17:33:00 +08:00
DreamPiggy 9362505aeb
Merge pull request #3336 from Insofan/feat/store_data
feat: store image data
2022-06-20 17:18:42 +08:00
DreamPiggy 8743cdd633
Merge pull request #3355 from dreampiggy/feature_support_uiimage_preparefordisplay
Support using iOS 15 UIImage new API imageByPreparingForDisplay for faster force decoding
2022-06-20 17:17:10 +08:00
DreamPiggy b729cc14f6 Bumped version to 5.12.6
update CHANGELOG
2022-06-12 18:28:19 +08:00
DreamPiggy 9b9fc6fc9b Support using iOS 15 UIImage new API imageByPreparingForDisplay for faster force decoding
This API seems support both async/sync version, SD use sync version here because we already call them on global queue
The API mark available on watchOS, but header does not pass that __has_include, a little strange
2022-06-12 18:16:04 +08:00
DreamPiggy eeb25d6e9c
Merge pull request #3354 from dreampiggy/bugfix_thumbnail_calculate
Fix the thumbnail pixel size calculation when preserveAspectRatio is true
2022-06-12 17:11:14 +08:00
DreamPiggy a66972bdc8
Update SDImageCache.m
Little logic check for nil value
2022-06-12 17:10:23 +08:00
DreamPiggy 754de4d7c8
Update SDImageCache.m
Remove extra toDisk param
2022-06-12 17:04:52 +08:00
DreamPiggy 2fc131c44b
Update SDImageCache.h
Remove extra toDisk param
2022-06-12 17:03:04 +08:00
DreamPiggy 3b0b232616 Added test case test22ThatThumbnailPreserveAspectRatio 2022-06-12 16:44:21 +08:00
DreamPiggy f90373ce14 Fix the thumbnail pixel size calculation when preserveAspectRatio is true 2022-06-12 16:32:33 +08:00
DreamPiggy 91c9966d77
Merge pull request #3353 from amonshiz/amonshiz/fix-3352
Fix #3352 Include necessary CoreImage import
2022-06-08 23:08:20 +08:00
Andrew Monshizadeh c231320913 Include necessary CoreImage import 2022-06-07 14:33:18 -04:00
DreamPiggy 362ba2d43f
Merge pull request #3349 from turrisxyz/Pinned-Dependencies-GitHub
chore: Set permissions for GitHub actions
2022-06-01 14:46:44 +08:00
naveen 24d4cda885 chore: Set permissions for GitHub actions
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-06-01 00:29:19 +00:00
Kinarobin fda0a57de9
Merge pull request #3346 from timonus/faster-file-url
Small performance improvement to generating file URLs in SDDiskCache -setData:forKey:
2022-05-17 14:13:43 +08:00
Tim Johnsen 484de40e3b Small performance improvement to generating file URLs in SDDiskCache -setData:forKey:. 2022-05-12 15:42:17 -07:00
DreamPiggy d01eb3f8ac
Merge pull request #3337 from GetToSet/ethanwong/nsscreen-thread
Fix a crash of accessing -[NSScreen backingScaleFactor] from background thread.
2022-04-02 17:48:17 +08:00
Ethan Wong 30c9563511
Fix crash of accessing mainScreen from background thread on 10.11. 2022-04-02 15:12:57 +08:00
Inso 7c66265ee8 refactor: refactor store data to memory cache logic 2022-03-30 15:24:32 +08:00
Inso 6a2eaf707e feat: store image data 2022-03-28 12:41:22 +08:00
DreamPiggy 2e63d0061d Bumped version to 5.12.5
update CHANGELOG
2022-03-16 15:58:50 +08:00
DreamPiggy 4974524a47
Merge pull request #3334 from dreampiggy/bugfix_force_decode_use_image_renderer_and_argb8888
Workaround iOS 15+ force decode again using Image Renderer(preferred) and RGB888
2022-03-16 15:55:31 +08:00
DreamPiggy 874b674cb6 Unify the colorspace on macOS/watchOS choosen for draw to use sRGB firstly
Remove the unused OS version check
2022-03-16 15:06:55 +08:00
DreamPiggy 368825eff6 Update the test case, now when using force decode, the image orientation is always UP 2022-03-15 22:56:03 +08:00
DreamPiggy c0cc245632 Update AppKit SDGraphics convenient API to use main screen colorspace
Update macOS demo URL as well
2022-03-15 22:38:48 +08:00
DreamPiggy fce270631f Use RGBX8888 for non-alpha image force decoding, which workaround iOS 15+ issue 2022-03-15 22:22:08 +08:00
DreamPiggy 51d1b50ef4 Fix the false decode implementation using the ImageRenderer instead of directly create CGContext 2022-03-15 17:54:44 +08:00
lizhuoli 0228390699 Bumped version to 5.12.4
update CHANGELOG
2022-03-08 15:26:41 +08:00
DreamPiggy ba66c41fd6
Merge pull request #3332 from dreampiggy/workaround_prefer_input_cgimage_bitmap_info
Workaround the iOS 15+ Force Decode may return black image because of CoreGraphics
2022-03-08 15:17:04 +08:00
lizhuoli 3eb553d251 Update the test case again for checking non-blank image 2022-03-04 17:55:07 +08:00
lizhuoli 6dcbec2b87 Update the test case and use Xcode 13.2.1 with iOS 15.3+ simulator 2022-03-04 11:37:44 +08:00