This commit is contained in:
ponzischeme89
2026-08-23 13:20:54 +12:00
parent 766cea2199
commit 89ebe21201
35 changed files with 1000 additions and 195 deletions
+11
View File
@@ -132,6 +132,14 @@ func (s *Server) handleServiceStatus(w http.ResponseWriter, r *http.Request, ses
compatible, compatibilityMessage := compatibilityFor(r)
featurePolicy := s.currentFeaturePolicy(r.Context())
metadataHero := s.metadataHeroSettings.get()
seriesStatusRevision := int64(0)
if s.store != nil {
if revision, err := s.store.SonarrSeriesStatusRevision(r.Context()); err != nil {
s.loggerFor(r.Context()).Warn("series status revision unavailable", "error", err)
} else {
seriesStatusRevision = revision
}
}
writeJSON(w, http.StatusOK, map[string]any{
"maintenance": state.Enabled,
"quietTime": quiet.Active,
@@ -156,6 +164,9 @@ func (s *Server) handleServiceStatus(w http.ResponseWriter, r *http.Request, ses
// fetches /v1/preferences when they differ. That is what turns this poll into the
// delivery channel for an operator pushing someone's settings.
"preferencesRevision": s.preferenceRevisionFor(r, sess),
// The TV keeps full item details in memory. This revision lets a daily Sonarr
// transition evict that local copy before the same show is opened again.
"seriesStatusRevision": seriesStatusRevision,
// The small metadata hero presentation document rides the existing poll so a saved
// layout or colour reaches an open launcher immediately, without manufacturing a
// per-user preference revision for a global change.