diff --git a/webapp/backend/pkg/notify/notify.go b/webapp/backend/pkg/notify/notify.go index 885965c..9220a3c 100644 --- a/webapp/backend/pkg/notify/notify.go +++ b/webapp/backend/pkg/notify/notify.go @@ -424,6 +424,17 @@ func (n *Notify) GenShoutrrrNotificationParams(shoutrrrUrl string) (string, *sho case "telegram": (*params)["title"] = subject case "zulip": + query := serviceURL.Query() + urlTopic := query["topic"] + delete(query, "topic") + if len(urlTopic) > 0 && urlTopic[len(urlTopic)-1] != "" { + subject = urlTopic[len(urlTopic)-1] + } + subjectRunes := []rune(subject) + if len(subjectRunes) > 60 { + n.Logger.Warningf("Zulip notification subject too long (%d characters), truncating to 60 characters", len(subjectRunes)) + subject = string(subjectRunes[:60]) + } (*params)["topic"] = subject }