Skip to content

Commit c7faccf

Browse files
authored
Merge branch 'main' into bkellam/bump_react_email
2 parents 22c0b6d + 430c0a1 commit c7faccf

File tree

461 files changed

+35853
-4450
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

461 files changed

+35853
-4450
lines changed

.cursor/rules/style.mdc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
---
2+
description:
3+
globs:
4+
alwaysApply: true
5+
---
6+
- Always use 4 spaces for indentation
7+
- Filenames should always be camelCase. Exception: if there are filenames in the same directory with a format other than camelCase, use that format to keep things consistent.

.env.development

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,13 @@ SRC_TENANT_ENFORCEMENT_MODE=strict
1818
AUTH_SECRET="00000000000000000000000000000000000000000000"
1919
AUTH_URL="http://localhost:3000"
2020
# AUTH_CREDENTIALS_LOGIN_ENABLED=true
21-
# AUTH_GITHUB_CLIENT_ID=""
22-
# AUTH_GITHUB_CLIENT_SECRET=""
23-
# AUTH_GOOGLE_CLIENT_ID=""
24-
# AUTH_GOOGLE_CLIENT_SECRET=""
21+
# AUTH_EE_GITHUB_CLIENT_ID=""
22+
# AUTH_EE_GITHUB_CLIENT_SECRET=""
23+
# AUTH_EE_GOOGLE_CLIENT_ID=""
24+
# AUTH_EE_GOOGLE_CLIENT_SECRET=""
2525

2626
DATA_CACHE_DIR=${PWD}/.sourcebot # Path to the sourcebot cache dir (ex. ~/sourcebot/.sourcebot)
27+
SOURCEBOT_PUBLIC_KEY_PATH=${PWD}/public.pem
2728
# CONFIG_PATH=${PWD}/config.json # Path to the sourcebot config file (if one exists)
2829

2930
# Email

.github/workflows/_gcp-deploy.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,8 @@ jobs:
6060
NEXT_PUBLIC_SENTRY_ENVIRONMENT=${{ vars.NEXT_PUBLIC_SENTRY_ENVIRONMENT }}
6161
NEXT_PUBLIC_SENTRY_WEBAPP_DSN=${{ vars.NEXT_PUBLIC_SENTRY_WEBAPP_DSN }}
6262
NEXT_PUBLIC_SENTRY_BACKEND_DSN=${{ vars.NEXT_PUBLIC_SENTRY_BACKEND_DSN }}
63+
NEXT_PUBLIC_LANGFUSE_PUBLIC_KEY=${{ vars.NEXT_PUBLIC_LANGFUSE_PUBLIC_KEY }}
64+
NEXT_PUBLIC_LANGFUSE_BASE_URL=${{ vars.NEXT_PUBLIC_LANGFUSE_BASE_URL }}
6365
SENTRY_SMUAT=${{ secrets.SENTRY_SMUAT }}
6466
SENTRY_ORG=${{ vars.SENTRY_ORG }}
6567
SENTRY_WEBAPP_PROJECT=${{ vars.SENTRY_WEBAPP_PROJECT }}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
name: Changelog Reminder
2+
3+
on:
4+
pull_request:
5+
types: [opened, synchronize, reopened, ready_for_review]
6+
7+
jobs:
8+
remind:
9+
name: Changelog Reminder
10+
runs-on: ubuntu-latest
11+
if: ${{ !github.event.pull_request.draft }}
12+
permissions:
13+
contents: read
14+
pull-requests: write
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: mskelton/changelog-reminder-action@v3

.github/workflows/deploy-demo.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Deploy Demo
22

33
on:
44
push:
5-
tags: ["v*.*.*"]
5+
branches: ["main"]
66
workflow_dispatch:
77

88
jobs:

.github/workflows/deploy-prod.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.

.github/workflows/deploy-staging.yml

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Check for broken links in docs
2+
3+
on:
4+
pull_request:
5+
branches: ["main"]
6+
paths:
7+
- "docs/**"
8+
9+
jobs:
10+
check-links:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
- name: Use Node.Js
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version: '20.x'
20+
21+
- name: Install Mintlify CLI
22+
run: npm i -g mintlify
23+
24+
- name: Check for broken links
25+
working-directory: docs
26+
run: mintlify broken-links

CHANGELOG.md

Lines changed: 140 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,135 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [4.6.0] - 2025-07-25
11+
12+
### Added
13+
- Introducing Ask Sourcebot - ask natural langauge about your codebase. Get back comprehensive Markdown responses with inline citations back to the code. Bring your own LLM api key. [#392](https://github.com/sourcebot-dev/sourcebot/pull/392)
14+
15+
### Fixed
16+
- Fixed onboarding infinite loop when GCP IAP Auth is enabled. [#381](https://github.com/sourcebot-dev/sourcebot/pull/381)
17+
18+
## [4.5.3] - 2025-07-20
19+
20+
### Changed
21+
- Relicense core to FSL-1.1-ALv2. [#388](https://github.com/sourcebot-dev/sourcebot/pull/388)
22+
23+
### Added
24+
- Added `GITLAB_CLIENT_QUERY_TIMEOUT_SECONDS` env var to configure the GitLab client's query timeout. [#390](https://github.com/sourcebot-dev/sourcebot/pull/390)
25+
26+
## [4.5.2] - 2025-07-19
27+
28+
### Changed
29+
- Fixed typos in UI, docs, code [#369](https://github.com/sourcebot-dev/sourcebot/pull/369)
30+
- Add anonymous access option to core and deprecate the `enablePublicAccess` config setting. [#385](https://github.com/sourcebot-dev/sourcebot/pull/385)
31+
32+
## [4.5.1] - 2025-07-14
33+
34+
### Changed
35+
- Revamped onboarding experience. [#376](https://github.com/sourcebot-dev/sourcebot/pull/376)
36+
37+
### Fixed
38+
- Fixed issue with external source code links being broken for paths with spaces. [#364](https://github.com/sourcebot-dev/sourcebot/pull/364)
39+
- Makes base retry indexing configuration configurable and move from a default of `5s` to `60s`. [#377](https://github.com/sourcebot-dev/sourcebot/pull/377)
40+
- Fixed issue where files would sometimes never load in the code browser. [#365](https://github.com/sourcebot-dev/sourcebot/pull/365)
41+
42+
## [4.5.0] - 2025-06-21
43+
44+
### Added
45+
- Added code nav and syntax highlighting for TCL. [#362](https://github.com/sourcebot-dev/sourcebot/pull/362)
46+
- Added analytics dashboard. [#358](https://github.com/sourcebot-dev/sourcebot/pull/358)
47+
48+
### Fixed
49+
- Fixed issue where invites appeared to be created successfully, but were not actually being created in the database. [#359](https://github.com/sourcebot-dev/sourcebot/pull/359)
50+
51+
### Changed
52+
- Audit logging is now enabled by default. [#358](https://github.com/sourcebot-dev/sourcebot/pull/358)
53+
54+
## [4.4.0] - 2025-06-18
55+
56+
### Added
57+
- Added audit logging. [#355](https://github.com/sourcebot-dev/sourcebot/pull/355)
58+
<!-- @NOTE: this release includes a API change that affects the MCP package (@sourcebot/mcp). On release, bump the MCP package's version and delete this message. -->
59+
60+
### Fixed
61+
- Delete account join request when redeeming an invite. [#352](https://github.com/sourcebot-dev/sourcebot/pull/352)
62+
- Fix issue where a repository would not be included in a search context if the context was created before the repository. [#354](https://github.com/sourcebot-dev/sourcebot/pull/354)
63+
64+
### Changed
65+
- Changed search api (and all apis that depend on it) to return raw source code instead of base64 encoded string. ([356](https://github.com/sourcebot-dev/sourcebot/pull/356)).
66+
67+
68+
## [4.3.0] - 2025-06-11
69+
70+
### Added
71+
- Changed repository link in search to file tree + move external link to code host logo. [#340](https://github.com/sourcebot-dev/sourcebot/pull/340)
72+
- Added a basic file search dialog when browsing a repository. [#341](https://github.com/sourcebot-dev/sourcebot/pull/341)
73+
74+
### Fixed
75+
- Text highlighting clarity. [#342](https://github.com/sourcebot-dev/sourcebot/pull/342)
76+
- Fixed repo list column header styling. [#344](https://github.com/sourcebot-dev/sourcebot/pull/344)
77+
- Clean up successful and failed jobs in Redis queues. [#343](https://github.com/sourcebot-dev/sourcebot/pull/343)
78+
- Fixed issue with files occasionally not loading after moving the cursor rapidly over the file browser. [#346](https://github.com/sourcebot-dev/sourcebot/pull/346)
79+
80+
## [4.2.0] - 2025-06-09
81+
82+
### Added
83+
- Added seperate page for signup. [#311](https://github.com/sourcebot-dev/sourcebot/pull/331)
84+
- Fix repo images in authed instance case and add manifest json. [#332](https://github.com/sourcebot-dev/sourcebot/pull/332)
85+
- Added encryption logic for license keys. [#335](https://github.com/sourcebot-dev/sourcebot/pull/335)
86+
- Added hover tooltip for long repo names in filter panel. [#338](https://github.com/sourcebot-dev/sourcebot/pull/338)
87+
- Added repo shard validation on startup. [#339](https://github.com/sourcebot-dev/sourcebot/pull/339)
88+
- Added support for a file explorer when browsing files. [#336](https://github.com/sourcebot-dev/sourcebot/pull/336)
89+
90+
## [4.1.1] - 2025-06-03
91+
92+
### Added
93+
- Added copy button for filenames. [#328](https://github.com/sourcebot-dev/sourcebot/pull/328)
94+
- Added development docker compose file. [#328](https://github.com/sourcebot-dev/sourcebot/pull/328)
95+
- Added keyboard shortcuts for find all refs / go to def. [#329](https://github.com/sourcebot-dev/sourcebot/pull/329)
96+
- Added GCP IAP JIT provisioning. [#330](https://github.com/sourcebot-dev/sourcebot/pull/330)
97+
98+
### Fixed
99+
- Fixed issue with the symbol hover popover clipping at the top of the page. [#326](https://github.com/sourcebot-dev/sourcebot/pull/326)
100+
- Fixed slow rendering issue with large reference/definition lists. [#327](https://github.com/sourcebot-dev/sourcebot/pull/327)
101+
102+
## [4.1.0] - 2025-06-02
103+
104+
### Added
105+
- Added structured logging support. [#323](https://github.com/sourcebot-dev/sourcebot/pull/323)
106+
107+
### Fixed
108+
- Fixed issue where new oauth providers weren't being display in the login page. [commit](https://github.com/sourcebot-dev/sourcebot/commit/a2e06266dbe5e5ad4c2c3f730c73d64edecedcf7)
109+
- Fixed client side "mark decorations may not be empty" error when viewing certain files. [#325](https://github.com/sourcebot-dev/sourcebot/pull/325)
110+
- Fixed issue where the symbol hover popover would not appear for large source files. [#325](https://github.com/sourcebot-dev/sourcebot/pull/325)
111+
112+
113+
## [4.0.1] - 2025-05-28
114+
115+
### Fixed
116+
- Fixed issue with how entitlements are resolved for cloud. [#319](https://github.com/sourcebot-dev/sourcebot/pull/319)
117+
118+
## [4.0.0] - 2025-05-28
119+
120+
Sourcebot V4 introduces authentication, performance improvements and code navigation. Checkout the [migration guide](https://docs.sourcebot.dev/docs/upgrade/v3-to-v4-guide) for information on upgrading your instance to v4.
121+
122+
### Changed
123+
- [**Breaking Change**] Authentication is now required by default. Notes:
124+
- When setting up your instance, email / password login will be the default authentication provider.
125+
- The first user that logs into the instance is given the `owner` role. ([docs](https://docs.sourcebot.dev/docs/configuration/auth/roles-and-permissions)).
126+
- Subsequent users can request to join the instance. The `owner` can approve / deny requests to join the instance via `Settings` > `Members` > `Pending Requests`.
127+
- If a user is approved to join the instance, they are given the `member` role.
128+
- Additional login providers, including email links and SSO, can be configured with additional environment variables. ([docs](https://docs.sourcebot.dev/docs/configuration/auth/overview)).
129+
- Clicking on a search result now takes you to the `/browse` view. Files can still be previewed by clicking the "Preview" button or holding `Cmd` / `Ctrl` when clicking on a search result. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
130+
131+
### Added
132+
- [Sourcebot EE] Added search-based code navigation, allowing you to jump between symbol definition and references when viewing source files. [Read the documentation](https://docs.sourcebot.dev/docs/features/code-navigation). [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
133+
- Added collapsible filter panel. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
134+
- Added Sourcebot API key management for external clients. [#311](https://github.com/sourcebot-dev/sourcebot/pull/311)
135+
136+
### Fixed
137+
- Improved scroll performance for large numbers of search results. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
138+
10139
## [3.2.1] - 2025-05-15
11140

12141
### Added
@@ -15,7 +144,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
15144
## [3.2.0] - 2025-05-12
16145

17146
### Added
18-
- Added AI code review agent [#298](https://github.com/sourcebot-dev/sourcebot/pull/298). Checkout the [docs](https://docs.sourcebot.dev/docs/agents/review-agent) for more information.
147+
- Added AI code review agent [#298](https://github.com/sourcebot-dev/sourcebot/pull/298). Checkout the [docs](https://docs.sourcebot.dev/docs/features/agents/review-agent) for more information.
19148

20149
### Fixed
21150
- Fixed issue with repos appearing in the carousel when they fail indexing for the first time. [#305](https://github.com/sourcebot-dev/sourcebot/pull/305)
@@ -84,20 +213,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
84213

85214
## [3.0.0] - 2025-04-01
86215

87-
Sourcebot v3 is here and brings a number of structural changes to the tool's foundation, including a SQL database, parallelized indexing, authentication support, multitenancy, and more. Checkout the [migration guide](https://docs.sourcebot.dev/self-hosting/upgrade/v2-to-v3-guide) for information on upgrading your instance to v3.
216+
Sourcebot v3 is here and brings a number of structural changes to the tool's foundation, including a SQL database, parallelized indexing, authentication support, multitenancy, and more. Checkout the [migration guide](https://docs.sourcebot.dev/docs/upgrade/v2-to-v3-guide) for information on upgrading your instance to v3.
88217

89218
### Changed
90-
- [**Breaking Change**] Changed the config schema such that connection objects are specified in the `connection` map, instead of the `repos` array. [See migration guide](https://docs.sourcebot.dev/self-hosting/upgrade/v2-to-v3-guide).
219+
- [**Breaking Change**] Changed the config schema such that connection objects are specified in the `connection` map, instead of the `repos` array. [See migration guide](https://docs.sourcebot.dev/docs/upgrade/v2-to-v3-guide).
91220
- Updated the tool's color-palette in dark mode.
92221

93222
### Added
94-
- Added parallelized repo indexing and connection syncing via Redis & BullMQ. See the [architecture overview](https://docs.sourcebot.dev/self-hosting/overview#architecture).
223+
- Added parallelized repo indexing and connection syncing via Redis & BullMQ. See the [architecture overview](https://docs.sourcebot.dev/docs/overview#architecture).
95224
- Added repo indexing progress indicators in the navbar.
96-
- Added authentication support via OAuth or email/password. For instructions on enabling, see [this doc](https://docs.sourcebot.dev/self-hosting/more/authentication).
97-
- Added the following UI for managing your deployment when **[auth is enabled](https://docs.sourcebot.dev/self-hosting/more/authentication)**:
225+
- Added authentication support via OAuth or email/password. For instructions on enabling, see [this doc](https://docs.sourcebot.dev/docs/configuration/auth/overview).
226+
- Added the following UI for managing your deployment when **[auth is enabled](https://docs.sourcebot.dev/docs/configuration/auth/overview)**:
98227
- connection management: create and manage your JSON configs via a integrated web-editor.
99228
- secrets: import personal access tokens (PAT) into Sourcebot (AES-256 encrypted). Reference secrets in your connection config by name.
100-
- team & invite management: invite users to your instance to give them access. Configure team [roles & permissions](https://docs.sourcebot.dev/docs/more/roles-and-permissions).
229+
- team & invite management: invite users to your instance to give them access. Configure team [roles & permissions](https://docs.sourcebot.dev/docs/configuration/auth/roles-and-permissions).
101230
- Added multi-tenancy support. See [this doc](https://docs.sourcebot.dev/self-hosting/more/tenancy).
102231

103232
### Removed
@@ -129,7 +258,7 @@ Sourcebot v3 is here and brings a number of structural changes to the tool's fou
129258

130259
### Added
131260

132-
- Added `maxTrigramCount` to the config to control the maximum allowable of trigrams per document.
261+
- Added `maxTrigramCount` to the config to control the maximum allowable of trigrams per document.
133262

134263
### Fixed
135264

@@ -187,7 +316,7 @@ Sourcebot v3 is here and brings a number of structural changes to the tool's fou
187316
- Added config option `settings.maxFileSize` to control the maximum file size zoekt will index. ([#118](https://github.com/sourcebot-dev/sourcebot/pull/118))
188317

189318
### Fixed
190-
319+
191320
- Fixed syntax highlighting for zoekt query language. ([#115](https://github.com/sourcebot-dev/sourcebot/pull/115))
192321
- Fixed issue with Gerrit repo fetching not paginating. ([#114](https://github.com/sourcebot-dev/sourcebot/pull/114))
193322
- Fixed visual issues with filter panel. ([#105](https://github.com/sourcebot-dev/sourcebot/pull/105))
@@ -239,13 +368,13 @@ Sourcebot v3 is here and brings a number of structural changes to the tool's fou
239368
### Added
240369

241370
- Added `DOMAIN_SUB_PATH` environment variable to allow overriding the default domain subpath. ([#74](https://github.com/sourcebot-dev/sourcebot/pull/74))
242-
- Added option `all` to the GitLab index schema, allowing for indexing all projects in a self-hosted GitLab instance. ([#84](https://github.com/sourcebot-dev/sourcebot/pull/84))
371+
- Added option `all` to the GitLab index schema, allowing for indexing all projects in a self-hosted GitLab instance. ([#84](https://github.com/sourcebot-dev/sourcebot/pull/84))
243372

244373
## [2.4.3] - 2024-11-18
245374

246375
### Changed
247376

248-
- Bumped NodeJS version to v20. ([#78](https://github.com/sourcebot-dev/sourcebot/pull/78))
377+
- Bumped NodeJS version to v20. ([#78](https://github.com/sourcebot-dev/sourcebot/pull/78))
249378

250379
## [2.4.2] - 2024-11-14
251380

CONTRIBUTING.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
>[!NOTE]
33
> Building from source is only required if you'd like to contribute. The recommended way to use Sourcebot is to use the [pre-built docker image](https://github.com/sourcebot-dev/sourcebot/pkgs/container/sourcebot).
44
5-
1. Install <a href="https://go.dev/doc/install"><img src="https://go.dev/favicon.ico" width="16" height="16"> go</a>, <a href="https://nodejs.org/"><img src="https://nodejs.org/favicon.ico" width="16" height="16"> NodeJS</a>, [redis](https://redis.io/), and [postgres](https://www.postgresql.org/). Note that a NodeJS version of at least `21.1.0` is required.
5+
1. Install <a href="https://go.dev/doc/install"><img src="https://go.dev/favicon.ico" width="16" height="16"> go</a>, <a href="https://docs.docker.com/get-started/get-docker/"><img src="https://www.docker.com/favicon.ico" width="16" height="16"> docker</a>, and <a href="https://nodejs.org/"><img src="https://nodejs.org/favicon.ico" width="16" height="16"> NodeJS</a>. Note that a NodeJS version of at least `21.1.0` is required.
66

77
2. Install [ctags](https://github.com/universal-ctags/ctags) (required by zoekt)
88
```sh
@@ -13,11 +13,15 @@
1313
snap install universal-ctags
1414
```
1515

16+
3. Install `yarn`:
17+
```sh
18+
npm install --global yarn
19+
```
20+
1621
3. Clone the repository with submodules:
1722
```sh
1823
git clone --recurse-submodules https://github.com/sourcebot-dev/sourcebot.git
1924
```
20-
2125
4. Run `make` to build zoekt and install dependencies:
2226
```sh
2327
cd sourcebot
@@ -26,15 +30,21 @@
2630

2731
The zoekt binaries and web dependencies are placed into `bin` and `node_modules` respectively.
2832

29-
5. Create a copy of `.env.development` and name it `.env.development.local`. Update the required environment variables.
33+
5. Start the development Docker containers for PostgreSQL and Redis.
34+
35+
```sh
36+
docker compose -f docker-compose-dev.yml up -d
37+
```
38+
39+
6. Create a copy of `.env.development` and name it `.env.development.local`. Update the required environment variables.
3040

31-
6. If you're using a declerative configuration file (the default behavior if you didn't enable auth), create a configuration file and update the `CONFIG_PATH` environment variable in your `.env.development.local` file.
41+
7. If you're using a declarative configuration file, create a configuration file and update the `CONFIG_PATH` environment variable in your `.env.development.local` file.
3242
33-
7. Start Sourcebot with the command:
43+
8. Start Sourcebot with the command:
3444
```sh
3545
yarn dev
3646
```
3747
3848
A `.sourcebot` directory will be created and zoekt will begin to index the repositories found in the `config.json` file.
3949
40-
8. Start searching at `http://localhost:3000`.
50+
9. Start searching at `http://localhost:3000`.

0 commit comments

Comments
 (0)