From 4228da9732b10b26583236583aec0afb5544d879 Mon Sep 17 00:00:00 2001 From: msukkari Date: Mon, 20 Apr 2026 21:19:01 -0700 Subject: [PATCH 1/4] chore: sync vendor/zoekt with upstream sourcegraph/zoekt Bumps the vendor/zoekt submodule to pull in 108 upstream commits from sourcegraph/zoekt. See sourcebot-dev/zoekt#10. The -shard_prefix flag on zoekt-git-index was renamed upstream to -shard_prefix_override; the backend indexer is updated accordingly. Co-Authored-By: Claude Opus 4.7 (1M context) --- packages/backend/src/zoekt.ts | 2 +- vendor/zoekt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/backend/src/zoekt.ts b/packages/backend/src/zoekt.ts index ff97d1cee..66daba8c1 100644 --- a/packages/backend/src/zoekt.ts +++ b/packages/backend/src/zoekt.ts @@ -23,7 +23,7 @@ export const indexGitRepository = async (repo: Repo, settings: Settings, revisio `-branches "${revisions.join(',')}"`, `-tenant_id ${repo.orgId}`, `-repo_id ${repo.id}`, - `-shard_prefix ${shardPrefix}`, + `-shard_prefix_override ${shardPrefix}`, ...largeFileGlobPatterns.map((pattern) => `-large_file "${pattern}"`), repoPath ].join(' '); diff --git a/vendor/zoekt b/vendor/zoekt index dec971ae6..8566836f5 160000 --- a/vendor/zoekt +++ b/vendor/zoekt @@ -1 +1 @@ -Subproject commit dec971ae64e960288e93c81e16f2ae0922653bd0 +Subproject commit 8566836f5664b0a4ac53a205058dbe4eae866a49 From 7529afa02cc8f4a3057bab4e2114d50a522c85f4 Mon Sep 17 00:00:00 2001 From: msukkari Date: Mon, 20 Apr 2026 21:19:41 -0700 Subject: [PATCH 2/4] chore: add changelog entry for zoekt upstream sync Co-Authored-By: Claude Opus 4.7 (1M context) --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e43afdea..e3b0702e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed +- Synced `vendor/zoekt` with upstream `sourcegraph/zoekt`. [#1140](https://github.com/sourcebot-dev/sourcebot/pull/1140) + ## [4.16.12] - 2026-04-20 ### Fixed From 03990d359a79be065369a1a8bf2842ef26105763 Mon Sep 17 00:00:00 2001 From: msukkari Date: Mon, 20 Apr 2026 21:36:12 -0700 Subject: [PATCH 3/4] chore: regenerate web protos from upgraded zoekt Adds the new Meta message, Q.meta field, and Repository.metadata map that upstream zoekt added in sourcegraph/zoekt#962 and #979. Co-Authored-By: Claude Opus 4.7 (1M context) --- packages/web/src/proto/query.ts | 2 ++ packages/web/src/proto/webserver.ts | 2 ++ .../web/src/proto/zoekt/webserver/v1/Meta.ts | 18 ++++++++++++++++++ packages/web/src/proto/zoekt/webserver/v1/Q.ts | 7 +++++-- .../src/proto/zoekt/webserver/v1/Repository.ts | 8 ++++++++ 5 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 packages/web/src/proto/zoekt/webserver/v1/Meta.ts diff --git a/packages/web/src/proto/query.ts b/packages/web/src/proto/query.ts index 93631b521..e9e6c4f5c 100644 --- a/packages/web/src/proto/query.ts +++ b/packages/web/src/proto/query.ts @@ -8,6 +8,7 @@ import type { BranchRepos as _zoekt_webserver_v1_BranchRepos, BranchRepos__Outpu import type { BranchesRepos as _zoekt_webserver_v1_BranchesRepos, BranchesRepos__Output as _zoekt_webserver_v1_BranchesRepos__Output } from './zoekt/webserver/v1/BranchesRepos'; import type { FileNameSet as _zoekt_webserver_v1_FileNameSet, FileNameSet__Output as _zoekt_webserver_v1_FileNameSet__Output } from './zoekt/webserver/v1/FileNameSet'; import type { Language as _zoekt_webserver_v1_Language, Language__Output as _zoekt_webserver_v1_Language__Output } from './zoekt/webserver/v1/Language'; +import type { Meta as _zoekt_webserver_v1_Meta, Meta__Output as _zoekt_webserver_v1_Meta__Output } from './zoekt/webserver/v1/Meta'; import type { Not as _zoekt_webserver_v1_Not, Not__Output as _zoekt_webserver_v1_Not__Output } from './zoekt/webserver/v1/Not'; import type { Or as _zoekt_webserver_v1_Or, Or__Output as _zoekt_webserver_v1_Or__Output } from './zoekt/webserver/v1/Or'; import type { Q as _zoekt_webserver_v1_Q, Q__Output as _zoekt_webserver_v1_Q__Output } from './zoekt/webserver/v1/Q'; @@ -36,6 +37,7 @@ export interface ProtoGrpcType { BranchesRepos: MessageTypeDefinition<_zoekt_webserver_v1_BranchesRepos, _zoekt_webserver_v1_BranchesRepos__Output> FileNameSet: MessageTypeDefinition<_zoekt_webserver_v1_FileNameSet, _zoekt_webserver_v1_FileNameSet__Output> Language: MessageTypeDefinition<_zoekt_webserver_v1_Language, _zoekt_webserver_v1_Language__Output> + Meta: MessageTypeDefinition<_zoekt_webserver_v1_Meta, _zoekt_webserver_v1_Meta__Output> Not: MessageTypeDefinition<_zoekt_webserver_v1_Not, _zoekt_webserver_v1_Not__Output> Or: MessageTypeDefinition<_zoekt_webserver_v1_Or, _zoekt_webserver_v1_Or__Output> Q: MessageTypeDefinition<_zoekt_webserver_v1_Q, _zoekt_webserver_v1_Q__Output> diff --git a/packages/web/src/proto/webserver.ts b/packages/web/src/proto/webserver.ts index 0dc98637e..a85e9c8e9 100644 --- a/packages/web/src/proto/webserver.ts +++ b/packages/web/src/proto/webserver.ts @@ -19,6 +19,7 @@ import type { ListOptions as _zoekt_webserver_v1_ListOptions, ListOptions__Outpu import type { ListRequest as _zoekt_webserver_v1_ListRequest, ListRequest__Output as _zoekt_webserver_v1_ListRequest__Output } from './zoekt/webserver/v1/ListRequest'; import type { ListResponse as _zoekt_webserver_v1_ListResponse, ListResponse__Output as _zoekt_webserver_v1_ListResponse__Output } from './zoekt/webserver/v1/ListResponse'; import type { Location as _zoekt_webserver_v1_Location, Location__Output as _zoekt_webserver_v1_Location__Output } from './zoekt/webserver/v1/Location'; +import type { Meta as _zoekt_webserver_v1_Meta, Meta__Output as _zoekt_webserver_v1_Meta__Output } from './zoekt/webserver/v1/Meta'; import type { MinimalRepoListEntry as _zoekt_webserver_v1_MinimalRepoListEntry, MinimalRepoListEntry__Output as _zoekt_webserver_v1_MinimalRepoListEntry__Output } from './zoekt/webserver/v1/MinimalRepoListEntry'; import type { Not as _zoekt_webserver_v1_Not, Not__Output as _zoekt_webserver_v1_Not__Output } from './zoekt/webserver/v1/Not'; import type { Or as _zoekt_webserver_v1_Or, Or__Output as _zoekt_webserver_v1_Or__Output } from './zoekt/webserver/v1/Or'; @@ -78,6 +79,7 @@ export interface ProtoGrpcType { ListRequest: MessageTypeDefinition<_zoekt_webserver_v1_ListRequest, _zoekt_webserver_v1_ListRequest__Output> ListResponse: MessageTypeDefinition<_zoekt_webserver_v1_ListResponse, _zoekt_webserver_v1_ListResponse__Output> Location: MessageTypeDefinition<_zoekt_webserver_v1_Location, _zoekt_webserver_v1_Location__Output> + Meta: MessageTypeDefinition<_zoekt_webserver_v1_Meta, _zoekt_webserver_v1_Meta__Output> MinimalRepoListEntry: MessageTypeDefinition<_zoekt_webserver_v1_MinimalRepoListEntry, _zoekt_webserver_v1_MinimalRepoListEntry__Output> Not: MessageTypeDefinition<_zoekt_webserver_v1_Not, _zoekt_webserver_v1_Not__Output> Or: MessageTypeDefinition<_zoekt_webserver_v1_Or, _zoekt_webserver_v1_Or__Output> diff --git a/packages/web/src/proto/zoekt/webserver/v1/Meta.ts b/packages/web/src/proto/zoekt/webserver/v1/Meta.ts new file mode 100644 index 000000000..fc4755342 --- /dev/null +++ b/packages/web/src/proto/zoekt/webserver/v1/Meta.ts @@ -0,0 +1,18 @@ +// Original file: ../../vendor/zoekt/grpc/protos/zoekt/webserver/v1/query.proto + + +/** + * Meta allows filtering results by repo metadata. + */ +export interface Meta { + 'key'?: (string); + 'value'?: (string); +} + +/** + * Meta allows filtering results by repo metadata. + */ +export interface Meta__Output { + 'key': (string); + 'value': (string); +} diff --git a/packages/web/src/proto/zoekt/webserver/v1/Q.ts b/packages/web/src/proto/zoekt/webserver/v1/Q.ts index bf66e0272..110ebffc7 100644 --- a/packages/web/src/proto/zoekt/webserver/v1/Q.ts +++ b/packages/web/src/proto/zoekt/webserver/v1/Q.ts @@ -17,6 +17,7 @@ import type { Or as _zoekt_webserver_v1_Or, Or__Output as _zoekt_webserver_v1_Or import type { Not as _zoekt_webserver_v1_Not, Not__Output as _zoekt_webserver_v1_Not__Output } from '../../../zoekt/webserver/v1/Not'; import type { Branch as _zoekt_webserver_v1_Branch, Branch__Output as _zoekt_webserver_v1_Branch__Output } from '../../../zoekt/webserver/v1/Branch'; import type { Boost as _zoekt_webserver_v1_Boost, Boost__Output as _zoekt_webserver_v1_Boost__Output } from '../../../zoekt/webserver/v1/Boost'; +import type { Meta as _zoekt_webserver_v1_Meta, Meta__Output as _zoekt_webserver_v1_Meta__Output } from '../../../zoekt/webserver/v1/Meta'; export interface Q { 'raw_config'?: (_zoekt_webserver_v1_RawConfig | null); @@ -37,7 +38,8 @@ export interface Q { 'not'?: (_zoekt_webserver_v1_Not | null); 'branch'?: (_zoekt_webserver_v1_Branch | null); 'boost'?: (_zoekt_webserver_v1_Boost | null); - 'query'?: "raw_config"|"regexp"|"symbol"|"language"|"const"|"repo"|"repo_regexp"|"branches_repos"|"repo_ids"|"repo_set"|"file_name_set"|"type"|"substring"|"and"|"or"|"not"|"branch"|"boost"; + 'meta'?: (_zoekt_webserver_v1_Meta | null); + 'query'?: "raw_config"|"regexp"|"symbol"|"language"|"const"|"repo"|"repo_regexp"|"branches_repos"|"repo_ids"|"repo_set"|"file_name_set"|"type"|"substring"|"and"|"or"|"not"|"branch"|"boost"|"meta"; } export interface Q__Output { @@ -59,5 +61,6 @@ export interface Q__Output { 'not'?: (_zoekt_webserver_v1_Not__Output | null); 'branch'?: (_zoekt_webserver_v1_Branch__Output | null); 'boost'?: (_zoekt_webserver_v1_Boost__Output | null); - 'query'?: "raw_config"|"regexp"|"symbol"|"language"|"const"|"repo"|"repo_regexp"|"branches_repos"|"repo_ids"|"repo_set"|"file_name_set"|"type"|"substring"|"and"|"or"|"not"|"branch"|"boost"; + 'meta'?: (_zoekt_webserver_v1_Meta__Output | null); + 'query'?: "raw_config"|"regexp"|"symbol"|"language"|"const"|"repo"|"repo_regexp"|"branches_repos"|"repo_ids"|"repo_set"|"file_name_set"|"type"|"substring"|"and"|"or"|"not"|"branch"|"boost"|"meta"; } diff --git a/packages/web/src/proto/zoekt/webserver/v1/Repository.ts b/packages/web/src/proto/zoekt/webserver/v1/Repository.ts index 347f26f34..c18172720 100644 --- a/packages/web/src/proto/zoekt/webserver/v1/Repository.ts +++ b/packages/web/src/proto/zoekt/webserver/v1/Repository.ts @@ -92,6 +92,10 @@ export interface Repository { * tenant_id is the tenant ID of the repository. */ 'tenant_id'?: (number | string | Long); + /** + * Additional metadata about the repository. + */ + 'metadata'?: ({[key: string]: string}); } export interface Repository__Output { @@ -181,4 +185,8 @@ export interface Repository__Output { * tenant_id is the tenant ID of the repository. */ 'tenant_id': (number); + /** + * Additional metadata about the repository. + */ + 'metadata': ({[key: string]: string}); } From 7905ec78f20c8c7201c0f2fe8bbbc4bffc6e80c0 Mon Sep 17 00:00:00 2001 From: msukkari Date: Mon, 20 Apr 2026 22:24:35 -0700 Subject: [PATCH 4/4] chore: repoint vendor/zoekt at sourcebot-dev/zoekt@main merge commit sourcebot-dev/zoekt#10 merged as da9bf1a3. Updating the submodule pointer from the feature-branch tip (8566836f) to the merge commit on main so vendor/zoekt tracks the canonical history before merging. Co-Authored-By: Claude Opus 4.7 (1M context) --- vendor/zoekt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor/zoekt b/vendor/zoekt index 8566836f5..da9bf1a3c 160000 --- a/vendor/zoekt +++ b/vendor/zoekt @@ -1 +1 @@ -Subproject commit 8566836f5664b0a4ac53a205058dbe4eae866a49 +Subproject commit da9bf1a3c96b438268e2692c4b4fd7a3d341c2c9