refreshAttachments method
- MessageDto message
Signed attachment links expire after a day. When one fails to load, fetch that message again for fresh links (once per message per session).
Implementation
Future<void> refreshAttachments(MessageDto message) async {
final token = _token;
if (token == null || message.seq <= 0 || !_refreshed.add(message.id)) return;
try {
final page = await _api.messages(
token: token,
conversationId: message.conversationId,
afterSeq: message.seq - 1,
limit: 1,
);
_mergeItems(page.items);
} on Object catch (e) {
_log.warn('attachment refresh failed: $e');
}
}