0.3.49
This commit is contained in:
@@ -66,6 +66,18 @@ type GatewaySettings struct {
|
||||
// it is still the only way anything is discovered and must stay frequent.
|
||||
LibrarySyncMinutes int `json:"librarySyncMinutes"`
|
||||
|
||||
// HomeTTLSeconds and RecommendTTLHours are how long the launcher payload and the
|
||||
// personalised recommendation pool stay cached. They cannot be switched off — a TTL of
|
||||
// nothing means every home load rebuilds — so zero keeps meaning "deployed" and any
|
||||
// positive value is the override.
|
||||
HomeTTLSeconds int `json:"homeTtlSeconds"`
|
||||
RecommendTTLHours int `json:"recommendTtlHours"`
|
||||
|
||||
// ForYouRebuildHour is the household-local hour (0–23) the daily For You rebuild is due
|
||||
// at. It is a pointer because 0 is a legitimate hour, so nil — not zero — is what means
|
||||
// "whatever was deployed".
|
||||
ForYouRebuildHour *int `json:"forYouRebuildHour,omitempty"`
|
||||
|
||||
UpdatedAt time.Time `json:"updatedAt"`
|
||||
UpdatedBy string `json:"updatedBy,omitempty"`
|
||||
}
|
||||
@@ -125,6 +137,16 @@ func normalizeGatewaySettings(settings GatewaySettings) GatewaySettings {
|
||||
// A day is the ceiling rather than a week: however well the webhooks are working, the
|
||||
// sweep is the only thing that ever notices a file somebody moved by hand.
|
||||
settings.LibrarySyncMinutes = clampOverride(settings.LibrarySyncMinutes, 5, 24*60, true)
|
||||
settings.HomeTTLSeconds = clampOverride(settings.HomeTTLSeconds, 5, 3600, false)
|
||||
settings.RecommendTTLHours = clampOverride(settings.RecommendTTLHours, 1, 168, false)
|
||||
if settings.ForYouRebuildHour != nil {
|
||||
hour := *settings.ForYouRebuildHour
|
||||
if hour < 0 || hour > 23 {
|
||||
// An hour outside the clock is dropped rather than clamped: 25 is a typo, and
|
||||
// silently reading it as 23 would run the rebuild at a time nobody asked for.
|
||||
settings.ForYouRebuildHour = nil
|
||||
}
|
||||
}
|
||||
return settings
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user