Skip to content

Commit 14fac64

Browse files
authored
Merge branch 'sourcebot-dev:main' into main
2 parents 4439bee + 55c8e41 commit 14fac64

File tree

105 files changed

+2480
-1824
lines changed

Some content is hidden

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

105 files changed

+2480
-1824
lines changed
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

CHANGELOG.md

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

88
## [Unreleased]
99

10+
### Changed
11+
- Fixed typos in UI, docs, code [#369](https://github.com/sourcebot-dev/sourcebot/pull/369)
12+
13+
## [4.5.1] - 2025-07-14
14+
15+
### Changed
16+
- Revamped onboarding experience. [#376](https://github.com/sourcebot-dev/sourcebot/pull/376)
17+
1018
### Fixed
1119
- Fixed issue with external source code links being broken for paths with spaces. [#364](https://github.com/sourcebot-dev/sourcebot/pull/364)
20+
- Makes base retry indexing configuration configurable and move from a default of `5s` to `60s`. [#377](https://github.com/sourcebot-dev/sourcebot/pull/377)
21+
- Fixed issue where files would sometimes never load in the code browser. [#365](https://github.com/sourcebot-dev/sourcebot/pull/365)
1222

1323
## [4.5.0] - 2025-06-21
1424

@@ -229,7 +239,7 @@ Sourcebot v3 is here and brings a number of structural changes to the tool's fou
229239

230240
### Added
231241

232-
- Added `maxTrigramCount` to the config to control the maximum allowable of trigrams per document.
242+
- Added `maxTrigramCount` to the config to control the maximum allowable of trigrams per document.
233243

234244
### Fixed
235245

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

289299
### Fixed
290-
300+
291301
- Fixed syntax highlighting for zoekt query language. ([#115](https://github.com/sourcebot-dev/sourcebot/pull/115))
292302
- Fixed issue with Gerrit repo fetching not paginating. ([#114](https://github.com/sourcebot-dev/sourcebot/pull/114))
293303
- Fixed visual issues with filter panel. ([#105](https://github.com/sourcebot-dev/sourcebot/pull/105))
@@ -339,13 +349,13 @@ Sourcebot v3 is here and brings a number of structural changes to the tool's fou
339349
### Added
340350

341351
- Added `DOMAIN_SUB_PATH` environment variable to allow overriding the default domain subpath. ([#74](https://github.com/sourcebot-dev/sourcebot/pull/74))
342-
- 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))
352+
- 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))
343353

344354
## [2.4.3] - 2024-11-18
345355

346356
### Changed
347357

348-
- Bumped NodeJS version to v20. ([#78](https://github.com/sourcebot-dev/sourcebot/pull/78))
358+
- Bumped NodeJS version to v20. ([#78](https://github.com/sourcebot-dev/sourcebot/pull/78))
349359

350360
## [2.4.2] - 2024-11-14
351361

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
6. Create a copy of `.env.development` and name it `.env.development.local`. Update the required environment variables.
4040

41-
7. If you're using a declerative configuration file, 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.
4242
4343
8. Start Sourcebot with the command:
4444
```sh

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ yarn:
1010
zoekt:
1111
mkdir -p bin
1212
go build -C vendor/zoekt -o $(PWD)/bin ./cmd/...
13-
export PATH=$(PWD)/bin:$(PATH)
13+
export PATH="$(PWD)/bin:$(PATH)"
1414
export CTAGS_COMMANDS=ctags
1515

1616
clean:

_typos.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[default.extend-words]
2+
# Don't correct the surname "Do Not Exists"
3+
dne = "dne"
4+
5+
[files]
6+
extend-exclude = ["vendor/**/*", "CHANGELOG.md", "packages/web/src/lib/languageMetadata.ts"]

docs/docs.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
"group": "Configuration",
5353
"pages": [
5454
{
55-
"group": "Connecting your code",
55+
"group": "Indexing your code",
5656
"pages": [
5757
"docs/connections/overview",
5858
"docs/connections/github",
@@ -72,7 +72,10 @@
7272
"group": "Authentication",
7373
"pages": [
7474
"docs/configuration/auth/overview",
75-
"docs/configuration/auth/roles-and-permissions"
75+
"docs/configuration/auth/providers",
76+
"docs/configuration/auth/inviting-members",
77+
"docs/configuration/auth/roles-and-permissions",
78+
"docs/configuration/auth/faq"
7679
]
7780
},
7881
"docs/configuration/transactional-emails",

docs/docs/configuration/audit-logs.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ curl --request GET '$SOURCEBOT_URL/api/ee/audit' \
125125
| `user.join_requested` | `user` | `org` |
126126
| `user.join_request_approve_failed` | `user` | `account_join_request` |
127127
| `user.join_request_approved` | `user` | `account_join_request` |
128-
| `user.join_request_removed` | `user` | `account_join_request` |
129128
| `user.invite_failed` | `user` | `org` |
130129
| `user.invites_created` | `user` | `org` |
131130
| `user.invite_accept_failed` | `user` | `invite` |

docs/docs/configuration/auth/faq.mdx

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
title: FAQ
3+
---
4+
5+
This page covers a range of frequently asked questions about Sourcebot's built-in authentication system.
6+
7+
<AccordionGroup>
8+
<Accordion title="Can I disable the authentication system?">
9+
No, at this time it's not possible to disable the authentication system. If this is preventing you from deploying Sourcebot
10+
within your organization please [reach out](https://www.sourcebot.dev/contact)
11+
</Accordion>
12+
13+
<Accordion title="I don't want to restrict access to my Sourcebot deployment, what should I do?">
14+
Every user must register an account within your Sourcebot deployment. However, this dosn't mean their access
15+
is restricted.
16+
17+
Unless member approval is required, anyone can sign up for an account on your deployment and immediately be granted access.
18+
</Accordion>
19+
20+
<Accordion title="Does any data related to authentication (emails, passwords, etc) leave my deployment?">
21+
**No data related to authentication (or your code) leaves your deployment**. Authentication is handled
22+
purely by your deployment and the authentication providers you configure.
23+
24+
This data does not leave your device and is stored within in the database managed by your deployment. If you're
25+
using credential login, passwords are encrypted at rest and in transit.
26+
</Accordion>
27+
28+
<Accordion title="I'm deploying Sourcebot behind an identity proxy, do I still need to create an account in Sourcebot?">
29+
<Note>Please note that IAP bridges are an enterprise feature</Note>
30+
Sourcebot supports connecting your identity proxy directly into the built-in auth system using an IAP bridge. This allows Sourcebot to
31+
register and authenticate automatically on a successful identity proxy log in.
32+
33+
Sourcebot currently supports [GCP IAP](/docs/configuration/auth/providers#gcp-iap). If you're using a different IAP
34+
and require support, please [reach out](https://www.sourcebot.dev/contact)
35+
</Accordion>
36+
37+
<Accordion title="How does Sourcebot implement authentication?">
38+
Sourcebot uses [Auth.js](https://authjs.dev/) as its underlying authentication framework. Auth.js provides authentication providers
39+
(credientials, Google, GitHub, etc) and an interface to enable user registration and log in. Internally, Auth.js uses JWT to provide
40+
Sourcebot secure and reliable information about user authentication.
41+
</Accordion>
42+
</AccordionGroup>
43+
44+
45+
Have a question that's not answered here? Submit it on our [GitHub discussions](https://github.com/sourcebot-dev/sourcebot/discussions)
46+
page and we'll get back to you as soon as we can!
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
title: Inviting Members
3+
sidebarTitle: Inviting members
4+
---
5+
6+
There are various ways to configure how members can join a Sourcebot deployment.
7+
8+
## Member Approval
9+
10+
**By default, Sourcebot requires new members to be approved by the owner of the deployment**. This section explains how approvals work and how
11+
to configure this behavior.
12+
13+
### Configuration
14+
Member approval can be configured by the owner of the deployment by navigating to **Settings -> Members**:
15+
16+
![Member Approval Toggle](/images/member_approval_toggle.png)
17+
18+
### Managing Requests
19+
20+
If member approval is enabled, new members will be asked to submit a join request after signing up. They will not have access to the Sourcebot deployment
21+
until this request is approved by the owner.
22+
23+
The owner can see and manage all pending join requests by navigating to **Settings -> Members**.
24+
25+
## Invite link
26+
27+
If member approval is required, an owner of the deployment can enable an invite link. When enabled, users
28+
can use this invite link to register and be automatically added to the organization without approval:
29+
30+
![Invite Link Toggle](/images/invite_link_toggle.png)

docs/docs/configuration/auth/overview.mdx

Lines changed: 16 additions & 117 deletions
Original file line numberDiff line numberDiff line change
@@ -4,124 +4,23 @@ title: Overview
44

55
<Warning>If you're deploying Sourcebot behind a domain, you must set the [AUTH_URL](/docs/configuration/environment-variables) environment variable.</Warning>
66

7-
Sourcebot has built-in authentication that gates access to your organization. OAuth, email codes, and email / password are supported.
7+
Sourcebot's built-in authentication system gates your deployment, and allows administrators to manage users and their permissions.
8+
9+
<CardGroup cols={2}>
10+
<Card horizontal title="Authentication providers" icon="lock" href="/docs/configuration/auth/providers">
11+
Configure additional authentication providers for your deployment.
12+
</Card>
13+
<Card horizontal title="Inviting members" icon="user" href="/docs/configuration/auth/inviting-members">
14+
Learn how to configure how members join your deployment.
15+
</Card>
16+
<Card horizontal title="Roles and permissions" icon="shield" href="/docs/configuration/auth/roles-and-permissions">
17+
Learn more about the different roles and permissions in Sourcebot.
18+
</Card>
19+
<Card horizontal title="FAQ" icon="question" href="/docs/configuration/auth/faq">
20+
Have a question about Sourcebot's auth system? We might have the answers here.
21+
</Card>
22+
</CardGroup>
823

9-
The first account that's registered on a Sourcebot deployment is made the owner. All other users who register must be [approved](/docs/configuration/auth/overview#approving-new-members) by the owner.
10-
11-
![Login Page](/images/login.png)
12-
13-
14-
# Approving New Members
15-
16-
All account registrations after the first account must be approved by the owner. The owner can see all join requests by going into **Settings -> Members**.
17-
18-
If you have an [enterprise license](/docs/license-key), you can enable [AUTH_EE_ENABLE_JIT_PROVISIONING](/docs/configuration/auth/overview#enterprise-authentication-providers) to
19-
have Sourcebot accounts automatically created and approved on registration.
20-
21-
You can setup emails to be sent when new join requests are created/approved by configurating [transactional emails](/docs/configuration/transactional-emails)
22-
# Authentication Providers
23-
24-
To enable an authentication provider in Sourcebot, configure the required environment variables for the provider. Under the hood, Sourcebot uses Auth.js which supports [many providers](https://authjs.dev/getting-started/authentication/oauth). Submit a [feature request on GitHub](https://github.com/sourcebot-dev/sourcebot/discussions/categories/ideas) if you want us to add support for a specific provider.
25-
26-
## Core Authentication Providers
27-
28-
### Email / Password
29-
---
30-
Email / password authentication is enabled by default. It can be **disabled** by setting `AUTH_CREDENTIALS_LOGIN_ENABLED` to `false`.
31-
32-
### Email codes
33-
---
34-
Email codes are 6 digit codes sent to a provided email. Email codes are enabled when transactional emails are configured using the following environment variables:
35-
36-
- `AUTH_EMAIL_CODE_LOGIN_ENABLED`
37-
- `SMTP_CONNECTION_URL`
38-
- `EMAIL_FROM_ADDRESS`
39-
40-
41-
See [transactional emails](/docs/configuration/transactional-emails) for more details.
42-
43-
## Enterprise Authentication Providers
44-
45-
The following authentication providers require an [enterprise license](/docs/license-key) to be enabled.
46-
47-
By default, a new user registering using these providers must have their join request accepted by the owner of the organization to join. To allow a user to join automatically when
48-
they register for the first time, set the `AUTH_EE_ENABLE_JIT_PROVISIONING` environment variable to `true`.
49-
50-
### GitHub
51-
---
52-
53-
[Auth.js GitHub Provider Docs](https://authjs.dev/getting-started/providers/github)
54-
55-
**Required environment variables:**
56-
- `AUTH_EE_GITHUB_CLIENT_ID`
57-
- `AUTH_EE_GITHUB_CLIENT_SECRET`
58-
59-
Optional environment variables:
60-
- `AUTH_EE_GITHUB_BASE_URL` - Base URL for GitHub Enterprise (defaults to https://github.com)
61-
62-
### GitLab
63-
---
64-
65-
[Auth.js GitLab Provider Docs](https://authjs.dev/getting-started/providers/gitlab)
66-
67-
**Required environment variables:**
68-
- `AUTH_EE_GITLAB_CLIENT_ID`
69-
- `AUTH_EE_GITLAB_CLIENT_SECRET`
70-
71-
Optional environment variables:
72-
- `AUTH_EE_GITLAB_BASE_URL` - Base URL for GitLab instance (defaults to https://gitlab.com)
73-
74-
### Google
75-
---
76-
77-
[Auth.js Google Provider Docs](https://authjs.dev/getting-started/providers/google)
78-
79-
**Required environment variables:**
80-
- `AUTH_EE_GOOGLE_CLIENT_ID`
81-
- `AUTH_EE_GOOGLE_CLIENT_SECRET`
82-
83-
### GCP IAP
84-
---
85-
86-
<Note>If you're running Sourcebot in an environment that blocks egress, make sure you allow the [IAP IP ranges](https://www.gstatic.com/ipranges/goog.json)</Note>
87-
88-
Custom provider built to enable automatic Sourcebot account registration/login when using GCP IAP.
89-
90-
**Required environment variables**
91-
- `AUTH_EE_GCP_IAP_ENABLED`
92-
- `AUTH_EE_GCP_IAP_AUDIENCE`
93-
- This can be found by selecting the ⋮ icon next to the IAP-enabled backend service and pressing `Get JWT audience code`
94-
95-
### Okta
96-
---
97-
98-
[Auth.js Okta Provider Docs](https://authjs.dev/getting-started/providers/okta)
99-
100-
**Required environment variables:**
101-
- `AUTH_EE_OKTA_CLIENT_ID`
102-
- `AUTH_EE_OKTA_CLIENT_SECRET`
103-
- `AUTH_EE_OKTA_ISSUER`
104-
105-
### Keycloak
106-
---
107-
108-
[Auth.js Keycloak Provider Docs](https://authjs.dev/getting-started/providers/keycloak)
109-
110-
**Required environment variables:**
111-
- `AUTH_EE_KEYCLOAK_CLIENT_ID`
112-
- `AUTH_EE_KEYCLOAK_CLIENT_SECRET`
113-
- `AUTH_EE_KEYCLOAK_ISSUER`
114-
115-
### Microsoft Entra ID
116-
117-
[Auth.js Microsoft Entra ID Provider Docs](https://authjs.dev/getting-started/providers/microsoft-entra-id)
118-
119-
**Required environment variables:**
120-
- `AUTH_EE_MICROSOFT_ENTRA_ID_CLIENT_ID`
121-
- `AUTH_EE_MICROSOFT_ENTRA_ID_CLIENT_SECRET`
122-
- `AUTH_EE_MICROSOFT_ENTRA_ID_ISSUER`
123-
124-
---
12524

12625
# Troubleshooting
12726

0 commit comments

Comments
 (0)