From d806791e506250697ae86bd4f972a7c027b15675 Mon Sep 17 00:00:00 2001 From: Stefan Hengl Date: Tue, 16 Jul 2024 12:14:05 +0200 Subject: [PATCH] remove all dot-com checks from NewGlobalNavigationBar - adds DISABLE_BATCH_CHANGES, DISABLE_SEARCH_CONTEXTS - removes license checks from code monitors and own --- .../NewGlobalNavigationBar.tsx | 12 ++++++------ cmd/frontend/internal/app/jscontext/BUILD.bazel | 2 ++ cmd/frontend/internal/app/jscontext/jscontext.go | 6 ++++-- cmd/frontend/internal/batches/BUILD.bazel | 1 + cmd/frontend/internal/batches/init.go | 5 +++++ cmd/frontend/internal/searchcontexts/BUILD.bazel | 1 + cmd/frontend/internal/searchcontexts/init.go | 4 ++++ internal/batches/BUILD.bazel | 1 + internal/batches/conf.go | 13 +++++++++++++ internal/codemonitors/BUILD.bazel | 2 -- internal/codemonitors/conf.go | 8 +------- internal/insights/BUILD.bazel | 5 +---- internal/insights/insights.go | 4 ---- internal/notebooks/BUILD.bazel | 1 - internal/notebooks/conf.go | 4 +--- internal/own/BUILD.bazel | 2 -- internal/own/conf.go | 8 +------- internal/search/exhaustive/BUILD.bazel | 5 +---- internal/search/exhaustive/conf.go | 5 ----- internal/search/searchcontexts/BUILD.bazel | 5 ++++- internal/search/searchcontexts/conf.go | 13 +++++++++++++ 21 files changed, 59 insertions(+), 48 deletions(-) create mode 100644 internal/batches/conf.go create mode 100644 internal/search/searchcontexts/conf.go diff --git a/client/web/src/nav/new-global-navigation/NewGlobalNavigationBar.tsx b/client/web/src/nav/new-global-navigation/NewGlobalNavigationBar.tsx index d62c51e43c9..ce6f8e277df 100644 --- a/client/web/src/nav/new-global-navigation/NewGlobalNavigationBar.tsx +++ b/client/web/src/nav/new-global-navigation/NewGlobalNavigationBar.tsx @@ -77,12 +77,12 @@ export const NewGlobalNavigationBar: FC< // Features enablement flags and conditions const isLicensed = !!window.context?.licenseInfo - const showSearchContext = searchContextsEnabled && !isSourcegraphDotCom - const showSearchJobs = searchJobsEnabled && !isSourcegraphDotCom - const showSearchNotebook = notebooksEnabled && !isSourcegraphDotCom - const showCodeMonitoring = codeMonitoringEnabled && !isSourcegraphDotCom - const showBatchChanges = batchChangesEnabled && isLicensed && !isSourcegraphDotCom - const showCodeInsights = codeInsightsEnabled && !isSourcegraphDotCom + const showSearchContext = searchContextsEnabled + const showSearchJobs = searchJobsEnabled + const showSearchNotebook = notebooksEnabled + const showCodeMonitoring = codeMonitoringEnabled + const showBatchChanges = batchChangesEnabled && isLicensed + const showCodeInsights = codeInsightsEnabled // We only show the hamburger icon on a repo page and search results page const showHamburger = routeMatch === PageRoutes.RepoContainer || (routeMatch === PageRoutes.Search && params.get('q')) diff --git a/cmd/frontend/internal/app/jscontext/BUILD.bazel b/cmd/frontend/internal/app/jscontext/BUILD.bazel index 6d36653716f..45bd9e4dc2f 100644 --- a/cmd/frontend/internal/app/jscontext/BUILD.bazel +++ b/cmd/frontend/internal/app/jscontext/BUILD.bazel @@ -20,6 +20,7 @@ go_library( "//internal/auth/providers", "//internal/auth/userpasswd", "//internal/authz", + "//internal/batches", "//internal/codemonitors", "//internal/conf", "//internal/conf/deploy", @@ -32,6 +33,7 @@ go_library( "//internal/notebooks", "//internal/own", "//internal/search/exhaustive", + "//internal/search/searchcontexts", "//internal/siteid", "//internal/types", "//internal/version", diff --git a/cmd/frontend/internal/app/jscontext/jscontext.go b/cmd/frontend/internal/app/jscontext/jscontext.go index af8829f1621..b7b20fbb900 100644 --- a/cmd/frontend/internal/app/jscontext/jscontext.go +++ b/cmd/frontend/internal/app/jscontext/jscontext.go @@ -24,6 +24,7 @@ import ( "github.com/sourcegraph/sourcegraph/internal/auth/providers" "github.com/sourcegraph/sourcegraph/internal/auth/userpasswd" "github.com/sourcegraph/sourcegraph/internal/authz" + "github.com/sourcegraph/sourcegraph/internal/batches" "github.com/sourcegraph/sourcegraph/internal/codemonitors" "github.com/sourcegraph/sourcegraph/internal/conf" "github.com/sourcegraph/sourcegraph/internal/conf/deploy" @@ -36,6 +37,7 @@ import ( "github.com/sourcegraph/sourcegraph/internal/notebooks" "github.com/sourcegraph/sourcegraph/internal/own" "github.com/sourcegraph/sourcegraph/internal/search/exhaustive" + "github.com/sourcegraph/sourcegraph/internal/search/searchcontexts" "github.com/sourcegraph/sourcegraph/internal/siteid" "github.com/sourcegraph/sourcegraph/internal/types" "github.com/sourcegraph/sourcegraph/internal/version" @@ -431,7 +433,7 @@ func NewJSContextFromRequest(req *http.Request, db database.DB) JSContext { Branding: conf.Branding(), - BatchChangesEnabled: enterprise.BatchChangesEnabledForUser(ctx, db) == nil, + BatchChangesEnabled: batches.IsEnabled() && enterprise.BatchChangesEnabledForUser(ctx, db) == nil, BatchChangesDisableWebhooksWarning: conf.Get().BatchChangesDisableWebhooksWarning, BatchChangesWebhookLogsEnabled: webhooks.LoggingEnabled(conf.Get()), @@ -451,7 +453,7 @@ func NewJSContextFromRequest(req *http.Request, db database.DB) JSContext { // This used to be hardcoded configuration on the frontend. // https://sourcegraph.sourcegraph.com/github.com/sourcegraph/sourcegraph@ec5cc97a11c3f78743388b85b9ae0f1bc5d43932/-/blob/client/web/src/enterprise/EnterpriseWebApp.tsx?L63-71 CodeIntelligenceEnabled: true, - SearchContextsEnabled: true, + SearchContextsEnabled: searchcontexts.IsEnabled(), NotebooksEnabled: notebooks.IsEnabled(), CodeMonitoringEnabled: codemonitors.IsEnabled(), SearchAggregationEnabled: true, diff --git a/cmd/frontend/internal/batches/BUILD.bazel b/cmd/frontend/internal/batches/BUILD.bazel index 18bc395152a..1c0dab849be 100644 --- a/cmd/frontend/internal/batches/BUILD.bazel +++ b/cmd/frontend/internal/batches/BUILD.bazel @@ -10,6 +10,7 @@ go_library( "//cmd/frontend/internal/batches/httpapi", "//cmd/frontend/internal/batches/resolvers", "//cmd/frontend/internal/batches/webhooks", + "//internal/batches", "//internal/batches/store", "//internal/codeintel", "//internal/conf/conftypes", diff --git a/cmd/frontend/internal/batches/init.go b/cmd/frontend/internal/batches/init.go index 514f4edf320..6b9915eb050 100644 --- a/cmd/frontend/internal/batches/init.go +++ b/cmd/frontend/internal/batches/init.go @@ -9,6 +9,7 @@ import ( "github.com/sourcegraph/sourcegraph/cmd/frontend/internal/batches/httpapi" "github.com/sourcegraph/sourcegraph/cmd/frontend/internal/batches/resolvers" "github.com/sourcegraph/sourcegraph/cmd/frontend/internal/batches/webhooks" + "github.com/sourcegraph/sourcegraph/internal/batches" "github.com/sourcegraph/sourcegraph/internal/batches/store" "github.com/sourcegraph/sourcegraph/internal/codeintel" "github.com/sourcegraph/sourcegraph/internal/conf/conftypes" @@ -29,6 +30,10 @@ func Init( _ conftypes.UnifiedWatchable, enterpriseServices *enterprise.Services, ) error { + if !batches.IsEnabled() { + return nil + } + // Initialize store. bstore := store.New(db, observationCtx, keyring.Default().BatchChangesCredentialKey) diff --git a/cmd/frontend/internal/searchcontexts/BUILD.bazel b/cmd/frontend/internal/searchcontexts/BUILD.bazel index 48fad90ef0e..480856011f5 100644 --- a/cmd/frontend/internal/searchcontexts/BUILD.bazel +++ b/cmd/frontend/internal/searchcontexts/BUILD.bazel @@ -13,5 +13,6 @@ go_library( "//internal/conf/conftypes", "//internal/database", "//internal/observation", + "//internal/search/searchcontexts", ], ) diff --git a/cmd/frontend/internal/searchcontexts/init.go b/cmd/frontend/internal/searchcontexts/init.go index 932128ac910..449ccc0c5a8 100644 --- a/cmd/frontend/internal/searchcontexts/init.go +++ b/cmd/frontend/internal/searchcontexts/init.go @@ -9,6 +9,7 @@ import ( "github.com/sourcegraph/sourcegraph/internal/conf/conftypes" "github.com/sourcegraph/sourcegraph/internal/database" "github.com/sourcegraph/sourcegraph/internal/observation" + "github.com/sourcegraph/sourcegraph/internal/search/searchcontexts" ) func Init( @@ -19,6 +20,9 @@ func Init( _ conftypes.UnifiedWatchable, enterpriseServices *enterprise.Services, ) error { + if !searchcontexts.IsEnabled() { + return nil + } enterpriseServices.SearchContextsResolver = resolvers.NewResolver(db) return nil } diff --git a/internal/batches/BUILD.bazel b/internal/batches/BUILD.bazel index c0b7920ea4c..d92b4e2437d 100644 --- a/internal/batches/BUILD.bazel +++ b/internal/batches/BUILD.bazel @@ -4,6 +4,7 @@ go_library( name = "batches", srcs = [ "background.go", + "conf.go", "doc.go", ], importpath = "github.com/sourcegraph/sourcegraph/internal/batches", diff --git a/internal/batches/conf.go b/internal/batches/conf.go new file mode 100644 index 00000000000..c3cc4a4bc37 --- /dev/null +++ b/internal/batches/conf.go @@ -0,0 +1,13 @@ +package batches + +import ( + "os" + "strconv" +) + +func IsEnabled() bool { + if v, _ := strconv.ParseBool(os.Getenv("DISABLE_BATCH_CHANGES")); v { + return false + } + return true +} diff --git a/internal/codemonitors/BUILD.bazel b/internal/codemonitors/BUILD.bazel index 35212b1ec58..71185dddf01 100644 --- a/internal/codemonitors/BUILD.bazel +++ b/internal/codemonitors/BUILD.bazel @@ -13,12 +13,10 @@ go_library( deps = [ "//internal/api", "//internal/database", - "//internal/dotcom", "//internal/errcode", "//internal/gitserver", "//internal/gitserver/gitdomain", "//internal/gitserver/protocol", - "//internal/licensing", "//internal/search", "//internal/search/client", "//internal/search/commit", diff --git a/internal/codemonitors/conf.go b/internal/codemonitors/conf.go index ad146d913c6..06ac01ba850 100644 --- a/internal/codemonitors/conf.go +++ b/internal/codemonitors/conf.go @@ -3,17 +3,11 @@ package codemonitors import ( "os" "strconv" - - "github.com/sourcegraph/sourcegraph/internal/dotcom" - "github.com/sourcegraph/sourcegraph/internal/licensing" ) func IsEnabled() bool { - if dotcom.SourcegraphDotComMode() { - return false - } if v, _ := strconv.ParseBool(os.Getenv("DISABLE_CODE_MONITORS")); v { return false } - return licensing.Check(licensing.FeatureCodeSearch) == nil + return true } diff --git a/internal/insights/BUILD.bazel b/internal/insights/BUILD.bazel index 1c3b7fc2169..918641bc50d 100644 --- a/internal/insights/BUILD.bazel +++ b/internal/insights/BUILD.bazel @@ -6,8 +6,5 @@ go_library( importpath = "github.com/sourcegraph/sourcegraph/internal/insights", tags = [TAG_SEARCHSUITE], visibility = ["//:__subpackages__"], - deps = [ - "//internal/conf/deploy", - "//internal/dotcom", - ], + deps = ["//internal/conf/deploy"], ) diff --git a/internal/insights/insights.go b/internal/insights/insights.go index cd4c3ed97c6..93fb59ab3db 100644 --- a/internal/insights/insights.go +++ b/internal/insights/insights.go @@ -5,13 +5,9 @@ import ( "strconv" "github.com/sourcegraph/sourcegraph/internal/conf/deploy" - "github.com/sourcegraph/sourcegraph/internal/dotcom" ) func IsEnabled() bool { - if dotcom.SourcegraphDotComMode() { - return false - } if v, _ := strconv.ParseBool(os.Getenv("DISABLE_CODE_INSIGHTS")); v { // Code insights can always be disabled. This can be a helpful escape hatch if e.g. there // are issues with (or connecting to) the codeinsights-db deployment and it is preventing diff --git a/internal/notebooks/BUILD.bazel b/internal/notebooks/BUILD.bazel index 6980b8a04af..0e085e751a1 100644 --- a/internal/notebooks/BUILD.bazel +++ b/internal/notebooks/BUILD.bazel @@ -18,7 +18,6 @@ go_library( "//internal/database/basestore", "//internal/database/dbutil", "//internal/lazyregexp", - "//internal/licensing", "//lib/errors", "@com_github_keegancsmith_sqlf//:sqlf", ], diff --git a/internal/notebooks/conf.go b/internal/notebooks/conf.go index 1bd41b020be..193fc149b08 100644 --- a/internal/notebooks/conf.go +++ b/internal/notebooks/conf.go @@ -3,13 +3,11 @@ package notebooks import ( "os" "strconv" - - "github.com/sourcegraph/sourcegraph/internal/licensing" ) func IsEnabled() bool { if v, _ := strconv.ParseBool(os.Getenv("DISABLE_NOTEBOOKS")); v { return false } - return licensing.Check(licensing.FeatureCodeSearch) == nil + return true } diff --git a/internal/own/BUILD.bazel b/internal/own/BUILD.bazel index a4de391e99c..ed78c42a96c 100644 --- a/internal/own/BUILD.bazel +++ b/internal/own/BUILD.bazel @@ -16,11 +16,9 @@ go_library( "//internal/auth/providers", "//internal/collections", "//internal/database", - "//internal/dotcom", "//internal/errcode", "//internal/extsvc", "//internal/gitserver", - "//internal/licensing", "//internal/own/codeowners", "//internal/types", "//lib/errors", diff --git a/internal/own/conf.go b/internal/own/conf.go index f3b6fdac3f3..a79d9899e45 100644 --- a/internal/own/conf.go +++ b/internal/own/conf.go @@ -3,17 +3,11 @@ package own import ( "os" "strconv" - - "github.com/sourcegraph/sourcegraph/internal/dotcom" - "github.com/sourcegraph/sourcegraph/internal/licensing" ) func IsEnabled() bool { - if dotcom.SourcegraphDotComMode() { - return false - } if v, _ := strconv.ParseBool(os.Getenv("DISABLE_OWN")); v { return false } - return licensing.Check(licensing.FeatureCodeSearch) == nil + return true } diff --git a/internal/search/exhaustive/BUILD.bazel b/internal/search/exhaustive/BUILD.bazel index 2cd6f178625..84c20e43c3c 100644 --- a/internal/search/exhaustive/BUILD.bazel +++ b/internal/search/exhaustive/BUILD.bazel @@ -6,10 +6,7 @@ go_library( srcs = ["conf.go"], importpath = "github.com/sourcegraph/sourcegraph/internal/search/exhaustive", visibility = ["//:__subpackages__"], - deps = [ - "//internal/conf/conftypes", - "//internal/dotcom", - ], + deps = ["//internal/conf/conftypes"], ) go_test( diff --git a/internal/search/exhaustive/conf.go b/internal/search/exhaustive/conf.go index 41fe39f105b..555b60b0511 100644 --- a/internal/search/exhaustive/conf.go +++ b/internal/search/exhaustive/conf.go @@ -5,14 +5,9 @@ import ( "strconv" "github.com/sourcegraph/sourcegraph/internal/conf/conftypes" - "github.com/sourcegraph/sourcegraph/internal/dotcom" ) func IsEnabled(cfg conftypes.SiteConfigQuerier) bool { - if dotcom.SourcegraphDotComMode() { - return false - } - // TODO(stefan): Remove this once Search Jobs is no longer experimental. experimentalFeatures := cfg.SiteConfig().ExperimentalFeatures if experimentalFeatures != nil && experimentalFeatures.SearchJobs != nil { diff --git a/internal/search/searchcontexts/BUILD.bazel b/internal/search/searchcontexts/BUILD.bazel index 894aa7bddbc..c5fae69aa84 100644 --- a/internal/search/searchcontexts/BUILD.bazel +++ b/internal/search/searchcontexts/BUILD.bazel @@ -3,7 +3,10 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( name = "searchcontexts", - srcs = ["search_contexts.go"], + srcs = [ + "conf.go", + "search_contexts.go", + ], importpath = "github.com/sourcegraph/sourcegraph/internal/search/searchcontexts", tags = [TAG_PLATFORM_SEARCH], visibility = ["//:__subpackages__"], diff --git a/internal/search/searchcontexts/conf.go b/internal/search/searchcontexts/conf.go new file mode 100644 index 00000000000..5e1f8456bec --- /dev/null +++ b/internal/search/searchcontexts/conf.go @@ -0,0 +1,13 @@ +package searchcontexts + +import ( + "os" + "strconv" +) + +func IsEnabled() bool { + if v, _ := strconv.ParseBool(os.Getenv("DISABLE_SEARCH_CONTEXTS")); v { + return false + } + return true +}