From e08d6af992bbb818f33c3d96c3beb226a974ad71 Mon Sep 17 00:00:00 2001 From: Houmgaor Date: Sun, 8 Feb 2026 00:55:43 +0100 Subject: [PATCH] fix(time): handle Sunday correctly in TimeWeekStart On Sunday, Weekday() returns 0, causing (0-1)*-24 = +24 hours which jumped forward to next Monday instead of back to last Monday. This affected any weekly reset logic running on Sundays. --- server/channelserver/sys_time.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/channelserver/sys_time.go b/server/channelserver/sys_time.go index 396ae4cf5..442494697 100644 --- a/server/channelserver/sys_time.go +++ b/server/channelserver/sys_time.go @@ -16,7 +16,11 @@ func TimeMidnight() time.Time { func TimeWeekStart() time.Time { midnight := TimeMidnight() - offset := (int(midnight.Weekday()) - 1) * -24 + weekday := int(midnight.Weekday()) + if weekday == 0 { + weekday = 7 // Treat Sunday as day 7 + } + offset := (weekday - 1) * -24 return midnight.Add(time.Hour * time.Duration(offset)) }