diff --git a/CHANGELOG.md b/CHANGELOG.md index 89d9395e..09b9865b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -77,6 +77,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), - 统计:修复积分统计中的积分值。 - 分区:修复开启帖子筛选条件时,显示没有置顶帖的问题。 - 消息:修复解析7天内的公共消息时失败的问题。 +- 消息:修复某些情况下公共消息详情加载失败的问题。 - 主页:修复部分网络不稳定的情况下将加载失败显示为未登录的问题。 - 网页:修复折叠/展开按钮上的文字丢失颜色的问题。 - 网页:修复解析颜色时,部分颜色解析失败或错误的问题。 diff --git a/lib/features/notification/bloc/broadcast_message_detail_cubit.dart b/lib/features/notification/bloc/broadcast_message_detail_cubit.dart index f565efff..afb0e56d 100644 --- a/lib/features/notification/bloc/broadcast_message_detail_cubit.dart +++ b/lib/features/notification/bloc/broadcast_message_detail_cubit.dart @@ -31,9 +31,14 @@ final class BroadcastMessageDetailCubit final (document, _) = v; final infoNode = document.querySelector('div#pm_ul'); final datetime = infoNode - ?.querySelector('dl > dd.ptm > span.xg1') - ?.innerText - .parseToDateTimeUtc8(); + ?.querySelector('dl > dd.ptm > span.xg1') + ?.innerText + .parseToDateTimeUtc8() ?? + // Recent messages. + infoNode + ?.querySelector('dl > dd.ptm > span.xg1 > span') + ?.title + ?.parseToDateTimeUtc8(); final messageNode = infoNode?.querySelector('dl > dd > p.pm_smry'); if (datetime == null || messageNode == null) { error('failed to build broadcast detail message page: '