cache inline images (e.g. emojis)

This commit is contained in:
Henry Hiles 2026-03-29 12:05:44 -04:00
commit e0ba99d9b9
Signed by: Henry-Hiles
SSH key fingerprint: SHA256:VKQUdS31Q90KvX7EkKMHMBpUspcmItAh86a+v7PGiIs

View file

@ -1,8 +1,10 @@
import "package:cross_cache/cross_cache.dart";
import "package:fast_immutable_collections/fast_immutable_collections.dart";
import "package:flutter/material.dart";
import "package:flutter_riverpod/flutter_riverpod.dart";
import "package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart";
import "package:nexus/controllers/client_state_controller.dart";
import "package:nexus/controllers/cross_cache_controller.dart";
import "package:nexus/helpers/extensions/get_headers.dart";
import "package:nexus/helpers/extensions/link_to_mention.dart";
import "package:nexus/helpers/extensions/mxc_to_https.dart";
@ -58,7 +60,8 @@ class Html extends ConsumerWidget {
? SizedBox.shrink()
: InlineCustomWidget(
alignment: PlaceholderAlignment.middle,
child: Image.network(
child: Image(
image: CachedNetworkImage(
Uri.parse(element.attributes["src"]!)
.mxcToHttps(
ref.watch(
@ -69,7 +72,9 @@ class Html extends ConsumerWidget {
"",
)
.toString(),
ref.watch(CrossCacheController.provider),
headers: ref.headers,
),
errorBuilder: (_, error, _) => Text(
"Image Failed to Load",
style: TextStyle(