diff --git a/coderd/apidoc/docs.go b/coderd/apidoc/docs.go index 6844d166d8f1d..4af81e714bfeb 100644 --- a/coderd/apidoc/docs.go +++ b/coderd/apidoc/docs.go @@ -12749,11 +12749,9 @@ const docTemplate = `{ "workspace-usage", "web-push", "workspace-prebuilds", - "agentic-chat", - "ai-tasks" + "agentic-chat" ], "x-enum-comments": { - "ExperimentAITasks": "Enables the new AI tasks feature.", "ExperimentAgenticChat": "Enables the new agentic AI chat feature.", "ExperimentAutoFillParameters": "This should not be taken out of experiments until we have redesigned the feature.", "ExperimentExample": "This isn't used for anything.", @@ -12769,8 +12767,7 @@ const docTemplate = `{ "ExperimentWorkspaceUsage", "ExperimentWebPush", "ExperimentWorkspacePrebuilds", - "ExperimentAgenticChat", - "ExperimentAITasks" + "ExperimentAgenticChat" ] }, "codersdk.ExternalAuth": { diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json index 35d39cfbe3839..08f0ca0c2cca2 100644 --- a/coderd/apidoc/swagger.json +++ b/coderd/apidoc/swagger.json @@ -11442,11 +11442,9 @@ "workspace-usage", "web-push", "workspace-prebuilds", - "agentic-chat", - "ai-tasks" + "agentic-chat" ], "x-enum-comments": { - "ExperimentAITasks": "Enables the new AI tasks feature.", "ExperimentAgenticChat": "Enables the new agentic AI chat feature.", "ExperimentAutoFillParameters": "This should not be taken out of experiments until we have redesigned the feature.", "ExperimentExample": "This isn't used for anything.", @@ -11462,8 +11460,7 @@ "ExperimentWorkspaceUsage", "ExperimentWebPush", "ExperimentWorkspacePrebuilds", - "ExperimentAgenticChat", - "ExperimentAITasks" + "ExperimentAgenticChat" ] }, "codersdk.ExternalAuth": { diff --git a/coderd/coderd.go b/coderd/coderd.go index 4507cd1dd7605..3e2e17b111469 100644 --- a/coderd/coderd.go +++ b/coderd/coderd.go @@ -1536,7 +1536,6 @@ func New(options *Options) *API { // Add CSP headers to all static assets and pages. CSP headers only affect // browsers, so these don't make sense on api routes. cspMW := httpmw.CSPHeaders( - api.Experiments, options.Telemetry.Enabled(), func() []*proxyhealth.ProxyHost { if api.DeploymentValues.Dangerous.AllowAllCors { // In this mode, allow all external requests. diff --git a/coderd/httpmw/csp.go b/coderd/httpmw/csp.go index 06897a45afd01..f39781ad51b03 100644 --- a/coderd/httpmw/csp.go +++ b/coderd/httpmw/csp.go @@ -6,7 +6,6 @@ import ( "strings" "github.com/coder/coder/v2/coderd/proxyhealth" - "github.com/coder/coder/v2/codersdk" ) // cspDirectives is a map of all csp fetch directives to their values. @@ -59,7 +58,7 @@ const ( // Example: https://github.com/coder/coder/issues/15118 // //nolint:revive -func CSPHeaders(experiments codersdk.Experiments, telemetry bool, proxyHosts func() []*proxyhealth.ProxyHost, staticAdditions map[CSPFetchDirective][]string) func(next http.Handler) http.Handler { +func CSPHeaders(telemetry bool, proxyHosts func() []*proxyhealth.ProxyHost, staticAdditions map[CSPFetchDirective][]string) func(next http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // Content-Security-Policy disables loading certain content types and can prevent XSS injections. @@ -124,9 +123,7 @@ func CSPHeaders(experiments codersdk.Experiments, telemetry bool, proxyHosts fun if len(extraConnect) > 0 { for _, extraHost := range extraConnect { // Allow embedding the app host. - if experiments.Enabled(codersdk.ExperimentAITasks) { - cspSrcs.Append(CSPDirectiveFrameSrc, extraHost.AppHost) - } + cspSrcs.Append(CSPDirectiveFrameSrc, extraHost.AppHost) if extraHost.Host == "*" { // '*' means all cspSrcs.Append(CSPDirectiveConnectSrc, "*") diff --git a/coderd/httpmw/csp_test.go b/coderd/httpmw/csp_test.go index 5fd4b5bbd38aa..7bf8b879ef26f 100644 --- a/coderd/httpmw/csp_test.go +++ b/coderd/httpmw/csp_test.go @@ -10,7 +10,6 @@ import ( "github.com/coder/coder/v2/coderd/httpmw" "github.com/coder/coder/v2/coderd/proxyhealth" - "github.com/coder/coder/v2/codersdk" ) func TestCSP(t *testing.T) { @@ -50,9 +49,7 @@ func TestCSP(t *testing.T) { r := httptest.NewRequest(http.MethodGet, "/", nil) rw := httptest.NewRecorder() - httpmw.CSPHeaders(codersdk.Experiments{ - codersdk.ExperimentAITasks, - }, false, func() []*proxyhealth.ProxyHost { + httpmw.CSPHeaders(false, func() []*proxyhealth.ProxyHost { return proxyHosts }, map[httpmw.CSPFetchDirective][]string{ httpmw.CSPDirectiveMediaSrc: expectedMedia, diff --git a/codersdk/deployment.go b/codersdk/deployment.go index 90e8a4c879ec5..331f4566737c3 100644 --- a/codersdk/deployment.go +++ b/codersdk/deployment.go @@ -3369,7 +3369,6 @@ const ( ExperimentWebPush Experiment = "web-push" // Enables web push notifications through the browser. ExperimentWorkspacePrebuilds Experiment = "workspace-prebuilds" // Enables the new workspace prebuilds feature. ExperimentAgenticChat Experiment = "agentic-chat" // Enables the new agentic AI chat feature. - ExperimentAITasks Experiment = "ai-tasks" // Enables the new AI tasks feature. ) // ExperimentsSafe should include all experiments that are safe for diff --git a/docs/reference/api/schemas.md b/docs/reference/api/schemas.md index e0999f6bb3778..143a896487baa 100644 --- a/docs/reference/api/schemas.md +++ b/docs/reference/api/schemas.md @@ -3517,7 +3517,6 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o | `web-push` | | `workspace-prebuilds` | | `agentic-chat` | -| `ai-tasks` | ## codersdk.ExternalAuth diff --git a/site/src/api/typesGenerated.ts b/site/src/api/typesGenerated.ts index d536ac3a0fe5e..0c70d91e41c69 100644 --- a/site/src/api/typesGenerated.ts +++ b/site/src/api/typesGenerated.ts @@ -828,7 +828,6 @@ export const EntitlementsWarningHeader = "X-Coder-Entitlements-Warning"; // From codersdk/deployment.go export type Experiment = - | "ai-tasks" | "agentic-chat" | "auto-fill-parameters" | "example" diff --git a/site/src/modules/dashboard/Navbar/NavbarView.tsx b/site/src/modules/dashboard/Navbar/NavbarView.tsx index 7e56c9643c066..3e70d56e4aabb 100644 --- a/site/src/modules/dashboard/Navbar/NavbarView.tsx +++ b/site/src/modules/dashboard/Navbar/NavbarView.tsx @@ -1,5 +1,4 @@ import { API } from "api/api"; -import { experiments } from "api/queries/experiments"; import type * as TypesGen from "api/typesGenerated"; import { Button } from "components/Button/Button"; import { ExternalImage } from "components/ExternalImage/ExternalImage"; @@ -10,7 +9,6 @@ import { useWebpushNotifications } from "contexts/useWebpushNotifications"; import { useEmbeddedMetadata } from "hooks/useEmbeddedMetadata"; import { NotificationsInbox } from "modules/notifications/NotificationsInbox/NotificationsInbox"; import type { FC } from "react"; -import { useQuery } from "react-query"; import { NavLink, useLocation } from "react-router-dom"; import { cn } from "utils/cn"; import { DeploymentDropdown } from "./DeploymentDropdown"; @@ -145,7 +143,6 @@ const NavItems: FC = ({ className }) => { const location = useLocation(); const agenticChat = useAgenticChat(); const { metadata } = useEmbeddedMetadata(); - const experimentsQuery = useQuery(experiments(metadata.experiments)); return (