v0.281.0: 'Done' asks the probe first; sign-up closed after the first admin (decision 47); R-713 code-bound values refused, ${NAME|base64}
gates / gates (push) Successful in 23s
gates / gates (push) Successful in 23s
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
@@ -774,6 +774,16 @@ func (s *Server) appDetailHandler(w http.ResponseWriter, r *http.Request, slug s
|
||||
// v0.280.0 (decision 46): the setup gate's card, while the gate stands.
|
||||
data["SetupGateClosed"] = found.Deployed && found.AppConfig != nil && found.AppConfig.SetupGate.Closed()
|
||||
data["SetupGateHasProbe"] = found.Meta.SetupDoneProbe != nil && found.Meta.SetupDoneProbe.URL != ""
|
||||
// v0.281.0 (decision 47): the sign-up card — closed, or open for the household's 15 minutes.
|
||||
if s.stackMgr != nil {
|
||||
blocked, until := s.stackMgr.SignupBlocked(found.Name)
|
||||
data["SignupClosed"] = blocked
|
||||
if until != "" {
|
||||
if t, err := time.Parse(time.RFC3339, until); err == nil {
|
||||
data["SignupOpenUntil"] = t.In(getTimezone()).Format("15:04")
|
||||
}
|
||||
}
|
||||
}
|
||||
data["HasAppInfo"] = found.Meta.HasAppInfo()
|
||||
data["EffectiveSubdomain"] = effectiveSubdomain
|
||||
|
||||
|
||||
Reference in New Issue
Block a user