mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
fix: do not warn on valid known experiments (#18514)
Fixes https://github.com/coder/coder/issues/18024 * drive-by: renames `handleExperimentsSafe` to `handleExperimentsAvailable` to better match semantics * defines list of `codersdk.ExperimentsKnown` and updates `ReadExperiments` to log on invalid experiments * typescript-ignores `codersdk.Experiments` so apitypings generates a valid enum list of possible values of experiment * updates OverviewPageView to distinguish between known 'hidden' experiments and unknown 'invalid' experiments
This commit is contained in:
+4
-2
@@ -972,7 +972,7 @@ func New(options *Options) *API {
|
||||
})
|
||||
r.Route("/experiments", func(r chi.Router) {
|
||||
r.Use(apiKeyMiddleware)
|
||||
r.Get("/available", handleExperimentsSafe)
|
||||
r.Get("/available", handleExperimentsAvailable)
|
||||
r.Get("/", api.handleExperimentsGet)
|
||||
})
|
||||
r.Get("/updatecheck", api.updateCheck)
|
||||
@@ -1895,7 +1895,9 @@ func ReadExperiments(log slog.Logger, raw []string) codersdk.Experiments {
|
||||
exps = append(exps, codersdk.ExperimentsSafe...)
|
||||
default:
|
||||
ex := codersdk.Experiment(strings.ToLower(v))
|
||||
if !slice.Contains(codersdk.ExperimentsSafe, ex) {
|
||||
if !slice.Contains(codersdk.ExperimentsKnown, ex) {
|
||||
log.Warn(context.Background(), "ignoring unknown experiment", slog.F("experiment", ex))
|
||||
} else if !slice.Contains(codersdk.ExperimentsSafe, ex) {
|
||||
log.Warn(context.Background(), "🐉 HERE BE DRAGONS: opting into hidden experiment", slog.F("experiment", ex))
|
||||
}
|
||||
exps = append(exps, ex)
|
||||
|
||||
@@ -26,7 +26,7 @@ func (api *API) handleExperimentsGet(rw http.ResponseWriter, r *http.Request) {
|
||||
// @Tags General
|
||||
// @Success 200 {array} codersdk.Experiment
|
||||
// @Router /experiments/available [get]
|
||||
func handleExperimentsSafe(rw http.ResponseWriter, r *http.Request) {
|
||||
func handleExperimentsAvailable(rw http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
httpapi.Write(ctx, rw, http.StatusOK, codersdk.AvailableExperiments{
|
||||
Safe: codersdk.ExperimentsSafe,
|
||||
|
||||
Reference in New Issue
Block a user