Fix sync display name and delete after issue
parent
3e48c86ee9
commit
eecd689ad5
|
@ -1328,6 +1328,7 @@ func (s *Server) execManager() {
|
||||||
var subscribers int
|
var subscribers int
|
||||||
for _, t := range s.topics {
|
for _, t := range s.topics {
|
||||||
subs := t.SubscribersCount()
|
subs := t.SubscribersCount()
|
||||||
|
log.Trace("- topic %s: %d subscribers", t.ID, subs)
|
||||||
msgs, exists := messageCounts[t.ID]
|
msgs, exists := messageCounts[t.ID]
|
||||||
if subs == 0 && (!exists || msgs == 0) {
|
if subs == 0 && (!exists || msgs == 0) {
|
||||||
log.Trace("Deleting empty topic %s", t.ID)
|
log.Trace("Deleting empty topic %s", t.ID)
|
||||||
|
|
|
@ -72,8 +72,8 @@ func (s *Server) handleAccountGet(w http.ResponseWriter, _ *http.Request, v *vis
|
||||||
response.Role = string(v.user.Role)
|
response.Role = string(v.user.Role)
|
||||||
response.SyncTopic = v.user.SyncTopic
|
response.SyncTopic = v.user.SyncTopic
|
||||||
if v.user.Prefs != nil {
|
if v.user.Prefs != nil {
|
||||||
if v.user.Prefs.Language != "" {
|
if v.user.Prefs.Language != nil {
|
||||||
response.Language = v.user.Prefs.Language
|
response.Language = *v.user.Prefs.Language
|
||||||
}
|
}
|
||||||
if v.user.Prefs.Notification != nil {
|
if v.user.Prefs.Notification != nil {
|
||||||
response.Notification = v.user.Prefs.Notification
|
response.Notification = v.user.Prefs.Notification
|
||||||
|
@ -210,20 +210,20 @@ func (s *Server) handleAccountSettingsChange(w http.ResponseWriter, r *http.Requ
|
||||||
v.user.Prefs = &user.Prefs{}
|
v.user.Prefs = &user.Prefs{}
|
||||||
}
|
}
|
||||||
prefs := v.user.Prefs
|
prefs := v.user.Prefs
|
||||||
if newPrefs.Language != "" {
|
if newPrefs.Language != nil {
|
||||||
prefs.Language = newPrefs.Language
|
prefs.Language = newPrefs.Language
|
||||||
}
|
}
|
||||||
if newPrefs.Notification != nil {
|
if newPrefs.Notification != nil {
|
||||||
if prefs.Notification == nil {
|
if prefs.Notification == nil {
|
||||||
prefs.Notification = &user.NotificationPrefs{}
|
prefs.Notification = &user.NotificationPrefs{}
|
||||||
}
|
}
|
||||||
if newPrefs.Notification.DeleteAfter > 0 {
|
if newPrefs.Notification.DeleteAfter != nil {
|
||||||
prefs.Notification.DeleteAfter = newPrefs.Notification.DeleteAfter
|
prefs.Notification.DeleteAfter = newPrefs.Notification.DeleteAfter
|
||||||
}
|
}
|
||||||
if newPrefs.Notification.Sound != "" {
|
if newPrefs.Notification.Sound != nil {
|
||||||
prefs.Notification.Sound = newPrefs.Notification.Sound
|
prefs.Notification.Sound = newPrefs.Notification.Sound
|
||||||
}
|
}
|
||||||
if newPrefs.Notification.MinPriority > 0 {
|
if newPrefs.Notification.MinPriority != nil {
|
||||||
prefs.Notification.MinPriority = newPrefs.Notification.MinPriority
|
prefs.Notification.MinPriority = newPrefs.Notification.MinPriority
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@ func (t *topic) Publish(v *visitor, m *message) error {
|
||||||
// we don't want individual slow subscribers to be able to block others.
|
// we don't want individual slow subscribers to be able to block others.
|
||||||
go func(s subscriber) {
|
go func(s subscriber) {
|
||||||
if err := s(v, m); err != nil {
|
if err := s(v, m); err != nil {
|
||||||
log.Warn("%s Error forwarding to subscriber", logMessagePrefix(v, m))
|
log.Warn("%s Error forwarding to subscriber: %s", logMessagePrefix(v, m), err.Error())
|
||||||
}
|
}
|
||||||
}(s.subscriber)
|
}(s.subscriber)
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ type Token struct {
|
||||||
|
|
||||||
// Prefs represents a user's configuration settings
|
// Prefs represents a user's configuration settings
|
||||||
type Prefs struct {
|
type Prefs struct {
|
||||||
Language string `json:"language,omitempty"`
|
Language *string `json:"language,omitempty"`
|
||||||
Notification *NotificationPrefs `json:"notification,omitempty"`
|
Notification *NotificationPrefs `json:"notification,omitempty"`
|
||||||
Subscriptions []*Subscription `json:"subscriptions,omitempty"`
|
Subscriptions []*Subscription `json:"subscriptions,omitempty"`
|
||||||
}
|
}
|
||||||
|
@ -65,17 +65,17 @@ type Tier struct {
|
||||||
|
|
||||||
// Subscription represents a user's topic subscription
|
// Subscription represents a user's topic subscription
|
||||||
type Subscription struct {
|
type Subscription struct {
|
||||||
ID string `json:"id"`
|
ID string `json:"id"`
|
||||||
BaseURL string `json:"base_url"`
|
BaseURL string `json:"base_url"`
|
||||||
Topic string `json:"topic"`
|
Topic string `json:"topic"`
|
||||||
DisplayName string `json:"display_name"`
|
DisplayName *string `json:"display_name"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// NotificationPrefs represents the user's notification settings
|
// NotificationPrefs represents the user's notification settings
|
||||||
type NotificationPrefs struct {
|
type NotificationPrefs struct {
|
||||||
Sound string `json:"sound,omitempty"`
|
Sound *string `json:"sound,omitempty"`
|
||||||
MinPriority int `json:"min_priority,omitempty"`
|
MinPriority *int `json:"min_priority,omitempty"`
|
||||||
DeleteAfter int `json:"delete_after,omitempty"`
|
DeleteAfter *int `json:"delete_after,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Stats is a struct holding daily user statistics
|
// Stats is a struct holding daily user statistics
|
||||||
|
|
Loading…
Reference in New Issue