From 138a5455237821af086a981e5e7778c41dcb2a48 Mon Sep 17 00:00:00 2001 From: kolaente Date: Thu, 23 Apr 2026 12:13:07 +0200 Subject: [PATCH] fix(notifications): pass lang to overdue reminder translation The call to i18n.T for notifications.task.overdue.overdue was missing its first positional argument, so the translation key was being passed as the language code. This surfaced as a "dead key" once the translation check learned to look for unused entries. Fix the call so the reminder line is properly localised. --- pkg/models/notifications.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/models/notifications.go b/pkg/models/notifications.go index 9e21e78db..3b1e4680a 100644 --- a/pkg/models/notifications.go +++ b/pkg/models/notifications.go @@ -350,7 +350,7 @@ func (n *UndoneTasksOverdueNotification) ToMail(lang string) *notifications.Mail overdueLine := "" for _, task := range sortedTasks { until := time.Until(task.DueDate).Round(1*time.Hour) * -1 - overdueLine += `* [` + notifications.EscapeMarkdown(task.Title) + `](` + config.ServicePublicURL.GetString() + "tasks/" + strconv.FormatInt(task.ID, 10) + `) (` + notifications.EscapeMarkdown(n.Projects[task.ProjectID].Title) + `), ` + i18n.T("notifications.task.overdue.overdue", getOverdueSinceString(until, n.User.Language)) + "\n" + overdueLine += `* [` + notifications.EscapeMarkdown(task.Title) + `](` + config.ServicePublicURL.GetString() + "tasks/" + strconv.FormatInt(task.ID, 10) + `) (` + notifications.EscapeMarkdown(n.Projects[task.ProjectID].Title) + `), ` + i18n.T(lang, "notifications.task.overdue.overdue", getOverdueSinceString(until, n.User.Language)) + "\n" } return notifications.NewMail().