v0.324.0: the database password comes back with the data (R-1106, R-127b, R-926); restic 0.19.1 (R-1107); R-1108, R-1065, R-1017; dashboard hardening (R-983, R-976)
gates / gates (push) Successful in 44s

This commit is contained in:
2026-10-16 22:46:00 +02:00
parent 00a0d91976
commit f75b3aa778
212 changed files with 2414 additions and 398 deletions
+10 -1
View File
@@ -411,13 +411,22 @@ func (s *Server) applyPlexClaim(code string) error {
s.logger.Printf("[WARN] [web] plex: claimed, but opening the setup gate failed: %v", oerr)
}
s.logger.Printf("[INFO] [web] plex: claimed — the setup gate is open (R-1028)")
// R-1065: the libraries are set by the media wiring, which needs the server's own token and so could
// not run while Plex was unclaimed. Trigger it now (debounced, with its retry) instead of leaving the
// household's libraries empty until the next drive event or restart. Pinned by
// TestPlexClaim_TriggersMediaWiring.
s.logger.Printf("[INFO] [web] plex: claimed — media wiring scheduled to set the libraries (R-1065)")
s.RunMediaWiringSoon("plex")
return nil
}
time.Sleep(time.Second)
time.Sleep(plexClaimPoll)
}
return &afterStartError{Status: http.StatusConflict, MsgKey: "err.plex_claim.not_claimed"}
}
// plexClaimPoll is the wait between the „is it claimed yet" probes after a claim (a seam: tests poll without the wait).
var plexClaimPoll = time.Second
// plexHTTP is the client for the box's own calls to Plex (a seam: tests dial a fake that refuses the name „plex").
var plexHTTP = &http.Client{Timeout: 30 * time.Second}