Updated/cancel scheduled messages

This commit is contained in:
binwiederhier
2026-01-18 15:50:40 -05:00
parent 86157fc7f6
commit c23d201186
4 changed files with 184 additions and 0 deletions

View File

@@ -863,6 +863,10 @@ func (s *Server) handlePublishInternal(r *http.Request, v *visitor) (*message, e
logvrm(v, r, m).Tag(tagPublish).Debug("Message delayed, will process later")
}
if cache {
// Delete any existing scheduled message with the same sequence ID
if err := s.messageCache.DeleteScheduledBySequenceID(t.ID, m.SequenceID); err != nil {
return nil, err
}
logvrm(v, r, m).Tag(tagPublish).Debug("Adding message to cache")
if err := s.messageCache.AddMessage(m); err != nil {
return nil, err
@@ -958,6 +962,10 @@ func (s *Server) handleActionMessage(w http.ResponseWriter, r *http.Request, v *
if s.config.WebPushPublicKey != "" {
go s.publishToWebPushEndpoints(v, m)
}
// Delete any existing scheduled message with the same sequence ID
if err := s.messageCache.DeleteScheduledBySequenceID(t.ID, sequenceID); err != nil {
return err
}
// Add to message cache
if err := s.messageCache.AddMessage(m); err != nil {
return err