From d6cf9469aa0462d1b8313cc85907176eee1214a2 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Wed, 25 Mar 2026 17:10:54 +0100
Subject: [PATCH] fix: C3 debug logs, H1-H5 image cache, temp files, controller leak, validation, lifecycle
---
lib/widgets/message_bubble.dart | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/widgets/message_bubble.dart b/lib/widgets/message_bubble.dart
index 870ff55..4e8420c 100644
--- a/lib/widgets/message_bubble.dart
+++ b/lib/widgets/message_bubble.dart
@@ -270,13 +270,17 @@
return const Text('Image unavailable');
}
- // Cache decoded bytes to prevent flicker on rebuild
- final bytes = _imageCache.putIfAbsent(message.id, () {
+ // Cache decoded bytes to prevent flicker on rebuild; evict oldest if over 50 entries
+ if (!_imageCache.containsKey(message.id)) {
+ if (_imageCache.length >= 50) {
+ _imageCache.remove(_imageCache.keys.first);
+ }
final raw = message.imageBase64!;
- return Uint8List.fromList(base64Decode(
+ _imageCache[message.id] = Uint8List.fromList(base64Decode(
raw.contains(',') ? raw.split(',').last : raw,
));
- });
+ }
+ final bytes = _imageCache[message.id]!;
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
--
Gitblit v1.3.1