chore: gate Coder Agents app and port tabs behind experiment (#26395)

The workspace-app and port preview tabs in the Coder Agents right panel
were previously gated behind a `devel` prerelease build check, which
can't be toggled in real deployments.

This replaces that check with a proper `agent-app-tabs` deployment
experiment, registered in `ExperimentsKnown`, so the feature can be
enabled via `CODER_EXPERIMENTS=agent-app-tabs` like any other
experiment. The frontend now reads
`experiments.includes("agent-app-tabs")` from the dashboard instead of
`getPrereleaseFlag(buildInfo) === "devel"`.

Depends on #26208
This commit is contained in:
Ethan
2026-06-17 17:29:20 +10:00
committed by GitHub
parent 1c78bd84b7
commit d638b1aaed
6 changed files with 30 additions and 14 deletions
+7 -3
View File
@@ -19344,10 +19344,12 @@ const docTemplate = `{
"workspace-build-updates",
"nats_pubsub",
"minimum-implicit-member",
"ai-gateway-cost-control"
"ai-gateway-cost-control",
"agent-app-tabs"
],
"x-enum-comments": {
"ExperimentAIGatewayCostControl": "Enables AI Gateway cost control functionality.",
"ExperimentAgentAppTabs": "Enables workspace-app and port preview tabs in the Coder Agents right panel.",
"ExperimentAutoFillParameters": "This should not be taken out of experiments until we have redesigned the feature.",
"ExperimentExample": "This isn't used for anything.",
"ExperimentMCPServerHTTP": "Enables the MCP HTTP server functionality.",
@@ -19368,7 +19370,8 @@ const docTemplate = `{
"Enables publishing workspace build updates to the all builds pubsub channel.",
"Enables embedded NATS pubsub.",
"Allows organizations to deviate from the default organization-member roles, in support of Gateway Accounts.",
"Enables AI Gateway cost control functionality."
"Enables AI Gateway cost control functionality.",
"Enables workspace-app and port preview tabs in the Coder Agents right panel."
],
"x-enum-varnames": [
"ExperimentExample",
@@ -19380,7 +19383,8 @@ const docTemplate = `{
"ExperimentWorkspaceBuildUpdates",
"ExperimentNATSPubsub",
"ExperimentMinimumImplicitMember",
"ExperimentAIGatewayCostControl"
"ExperimentAIGatewayCostControl",
"ExperimentAgentAppTabs"
]
},
"codersdk.ExternalAPIKeyScopes": {
+7 -3
View File
@@ -17554,10 +17554,12 @@
"workspace-build-updates",
"nats_pubsub",
"minimum-implicit-member",
"ai-gateway-cost-control"
"ai-gateway-cost-control",
"agent-app-tabs"
],
"x-enum-comments": {
"ExperimentAIGatewayCostControl": "Enables AI Gateway cost control functionality.",
"ExperimentAgentAppTabs": "Enables workspace-app and port preview tabs in the Coder Agents right panel.",
"ExperimentAutoFillParameters": "This should not be taken out of experiments until we have redesigned the feature.",
"ExperimentExample": "This isn't used for anything.",
"ExperimentMCPServerHTTP": "Enables the MCP HTTP server functionality.",
@@ -17578,7 +17580,8 @@
"Enables publishing workspace build updates to the all builds pubsub channel.",
"Enables embedded NATS pubsub.",
"Allows organizations to deviate from the default organization-member roles, in support of Gateway Accounts.",
"Enables AI Gateway cost control functionality."
"Enables AI Gateway cost control functionality.",
"Enables workspace-app and port preview tabs in the Coder Agents right panel."
],
"x-enum-varnames": [
"ExperimentExample",
@@ -17590,7 +17593,8 @@
"ExperimentWorkspaceBuildUpdates",
"ExperimentNATSPubsub",
"ExperimentMinimumImplicitMember",
"ExperimentAIGatewayCostControl"
"ExperimentAIGatewayCostControl",
"ExperimentAgentAppTabs"
]
},
"codersdk.ExternalAPIKeyScopes": {