mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-12 09:13:23 +00:00
fix(concord): render the decrypted community icon (local file:// avatar)
A Concord community icon is CORD-02 §6 encrypted media: rememberConcordImageModel fetches the ciphertext, AES-256-GCM-decrypts it, and caches the plaintext at a local file:// path, which it hands to the avatar as the model. But RobohashFallbackAsyncImage always wrapped the model in ProfilePictureUrl, and the thumbnail-cache fetcher behind it (ProfilePictureFetcher) delegates a cache-miss to Coil's http-only NetworkFetcher — so the file:// load failed and the row fell back to the robohash, even though the icon had decrypted and cached correctly. Only route remote http(s) pictures through the thumbnail cache; hand local/content URIs straight to Coil's native fetchers, which load them directly. Verified on-device: the Soapbox community icon now renders on the Messages rows and the community header instead of a robohash. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
92f422be88
commit
83c985819f
+10
-1
@@ -149,7 +149,16 @@ fun RobohashFallbackAsyncImage(
|
||||
|
||||
val resources = LocalContext.current.resources
|
||||
SubcomposeAsyncImage(
|
||||
model = ProfilePictureUrl(bridgedModel),
|
||||
// The thumbnail-cache fetcher behind ProfilePictureUrl delegates to Coil's http-only
|
||||
// NetworkFetcher, so a LOCAL model (e.g. a decrypted Concord community icon cached at
|
||||
// file://) would fail there. Route only remote http(s) pictures through the thumbnail
|
||||
// cache; hand local/content URIs to Coil's native fetchers, which load them directly.
|
||||
model =
|
||||
if (bridgedModel.startsWith("http://", ignoreCase = true) || bridgedModel.startsWith("https://", ignoreCase = true)) {
|
||||
ProfilePictureUrl(bridgedModel)
|
||||
} else {
|
||||
bridgedModel
|
||||
},
|
||||
contentDescription = contentDescription,
|
||||
modifier = modifier,
|
||||
alignment = alignment,
|
||||
|
||||
Reference in New Issue
Block a user