From 2f2a65f1f7ffeea37401a2ac5304fd0f2151c18f Mon Sep 17 00:00:00 2001 From: tigerenwork Date: Mon, 29 Jun 2026 23:49:23 +0800 Subject: [PATCH] fix: show 'Just now' instead of '1s ago' after refresh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaced RelativeDateTimeFormatter with manual formatting: <5s → 'Just now', <60s → 'Xs ago', <1h → 'Xm ago', <1d → 'Xh ago', else 'Xd ago'. Co-Authored-By: Claude --- Sources/Views/MenuBar/BugListPopover.swift | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/Sources/Views/MenuBar/BugListPopover.swift b/Sources/Views/MenuBar/BugListPopover.swift index 918e59e..62403cc 100644 --- a/Sources/Views/MenuBar/BugListPopover.swift +++ b/Sources/Views/MenuBar/BugListPopover.swift @@ -110,9 +110,20 @@ struct BugListPopover: View { } private func formatted(_ date: Date) -> String { - let formatter = RelativeDateTimeFormatter() - formatter.unitsStyle = .abbreviated - return formatter.localizedString(for: date, relativeTo: Date()) + let seconds = Int(Date().timeIntervalSince(date)) + switch seconds { + case ..<5: return "Just now" + case ..<60: return "\(seconds)s ago" + case ..<3600: + let m = seconds / 60 + return m == 1 ? "1m ago" : "\(m)m ago" + case ..<86400: + let h = seconds / 3600 + return h == 1 ? "1h ago" : "\(h)h ago" + default: + let d = seconds / 86400 + return d == 1 ? "1d ago" : "\(d)d ago" + } } }