39 Commits

Author SHA1 Message Date
c68902b34b Revert "Raise min deployment target to iOS 16"
This reverts commit f4b51c06c1107cd8149a8e07a0f652ac6816ee3a.
2024-12-15 20:46:05 -05:00
f4b51c06c1 Raise min deployment target to iOS 16 2024-09-12 10:30:58 -04:00
f2a9f890ff Use development URLSession in more places 2024-05-27 22:14:28 -07:00
c489d018bd Merge branch 'develop' into strict-concurrency
# Conflicts:
#	Tusker/Caching/ImageCache.swift
#	Tusker/Extensions/PKDrawing+Render.swift
#	Tusker/MultiThreadDictionary.swift
#	Tusker/Views/BaseEmojiLabel.swift
2024-01-26 11:32:12 -05:00
c2402303cc First pass at strict concurrency checking 2024-01-26 11:02:40 -05:00
e4c22a0205 Compile for visionOS 2023-10-20 11:27:24 -04:00
8319935a3d BaseEmojiLabel improvements
Avoid rechecking disk/memory caches when fetching

Use UIImage thumbnail API, rather than UIGraphicsImageRenderer, and make
thumbnail off main thread when possible
2023-05-14 15:19:00 -04:00
aaa031f212 First pass at strict sendability checking 2023-02-19 15:23:25 -05:00
29596180a1 Using async/await for ImageCache implementation 2023-01-31 09:56:13 -05:00
3e5a3c81b5 Add cache size info to Advanced prefs 2022-11-28 14:05:35 -05:00
f7304a011c Fix images not being cached
Fixes #219
2022-11-09 18:56:59 -05:00
abb8352c92 Fix ImageCache.get completion not being called when image isn't loaded 2022-11-02 22:06:08 -04:00
59d866aa23 Ditch custom image request grouping, rely on URLSession's 2022-11-02 22:06:08 -04:00
ba209fa4d2 Protect DiskCache.fileStates with a lock
Closes #194
2022-10-27 23:06:50 -04:00
e9962997a6 Show preview of status in reblog confirmation alert
Closes #121
2022-09-17 20:27:36 -04:00
77c44c323f Use os_unfair_lock for MultiThreadDictionary instead of DispatchQueue 2022-09-11 22:20:46 -04:00
a9e0bffe5f Bump deployment target to iOS 15 2022-06-30 19:04:08 -07:00
90809811c1 Clean up ActionNotificationGroupTableViewCell avatar fetching code 2022-05-16 22:52:04 -04:00
126b0ae90a Extend disk cache expiry times
The cache keys are URLs, and Mastodon changes the url if the a new image is uploaded for avatar/header
2022-02-06 14:36:01 -05:00
d6a847bfcc Use background image preparation apis on iOS 15
Closes #128
2022-02-06 10:24:48 -05:00
8f61b0b9a6 Remove old imports 2021-01-20 18:52:16 -05:00
d1c45a87e6 Fix low resolution avatars being shown on profile 2021-01-20 18:31:30 -05:00
2761c05a01 Remove Cache library 2021-01-20 18:31:14 -05:00
e7800249af Avoid loading cached data into memory when prefetching 2021-01-18 14:50:56 -05:00
0b008489f7 Add CachingDiskStorage 2021-01-18 14:17:20 -05:00
de67327f6d Fix ImageCache kicking off extra requests when a completion block was
not provided
2021-01-18 13:46:07 -05:00
04a6fe807e Cache scaled images 2021-01-17 13:27:30 -05:00
6dee0957ea Remove in-memory caches of most original image data 2021-01-17 11:45:04 -05:00
c12d2db258 Cache UIImage objects to avoid re-decoding images unnecessarily 2021-01-17 11:28:50 -05:00
9b949af390
Add complete emoji list to Compose emoji autocomplete 2020-10-18 11:17:58 -04:00
3ff9fdabdb
Use MultiThreadedDictionary for ImageCache request groups
Prevents a crash due a race condition if multiple requets complete
simultaneously and attempt to modify the dictionary
2020-10-18 11:03:56 -04:00
9b85090884
Add debug environment variable to disable image caching 2020-09-21 18:03:51 -04:00
3e33c8e6f9
Minimize file system requests during image cache lookup 2020-09-17 21:53:51 -04:00
95b215c6b5
Add Clear Image Cache option to Advanced prefs 2020-09-12 12:01:16 -04:00
d27bddb2ca Fix profile header image not showing up on first load
The issue occurred because the profile header would kick off a request
upon loading, then the profile table would request the initial set of
statuses shortly thereafter which would result in reloadData being called
which would cancel the request without removing the group, so the request
generated by the newly-reloaded header cell would attach a callback to
the cancelled request, resulting in the header image never displaying.
2020-06-15 22:34:42 -04:00
d6ae51c02f Improve ImageCache loading
Keep track of the number of requests and only cancel the underlying
URLSessionTask if there are no concrete requsts remaining.

Closes #81
2020-01-25 10:30:04 -05:00
37f6a0b4c8
Add custom emojis
Closes #6
2019-02-09 21:15:15 -05:00
f684591888
Use Gifu for GIF playback 2018-11-09 15:48:08 -05:00
86d064dc6e
Don't cache attachments to disk, only avatars and headers 2018-11-07 19:24:52 -05:00