Fix sync display name and delete after issue
This commit is contained in:
		
							parent
							
								
									3e48c86ee9
								
							
						
					
					
						commit
						eecd689ad5
					
				
					 4 changed files with 16 additions and 15 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue