From 82c36a53b8cb32aba8e869766b61d63daab13221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 1 Sep 2026 15:24:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=94=99=E8=AF=AF=E6=8A=A5?= =?UTF-8?q?=E5=91=8A=E6=97=B6=E9=97=B4=E6=8E=92=E5=BA=8F=E4=B8=8E=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=90=8D=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按 RFC3339 时间值排序后台报告列表 拒绝 . 与 .. 日志名以避免归档路径歧义 --- server-rs/crates/api-server/src/error_reports.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/server-rs/crates/api-server/src/error_reports.rs b/server-rs/crates/api-server/src/error_reports.rs index 4e59af6b7..0419e7df1 100644 --- a/server-rs/crates/api-server/src/error_reports.rs +++ b/server-rs/crates/api-server/src/error_reports.rs @@ -608,7 +608,11 @@ impl ErrorReportStore { review_status: Some(report.review_status), }); } - entries.sort_by(|left, right| right.created_at.cmp(&left.created_at)); + entries.sort_by(|left, right| { + OffsetDateTime::parse(&right.created_at, &Rfc3339) + .ok() + .cmp(&OffsetDateTime::parse(&left.created_at, &Rfc3339).ok()) + }); entries.truncate(limit); Ok(entries) } @@ -845,7 +849,7 @@ fn sanitize_log_name(value: &str) -> String { }) .take(128) .collect::(); - if safe.is_empty() { + if safe.is_empty() || safe == "." || safe == ".." { "application.log".to_string() } else { safe