Skip to content

Commit 6f40dea

Browse files
authored
Merge branch 'main' into feature/gerrit-authentication
2 parents 10e853a + eb20027 commit 6f40dea

File tree

8 files changed

+132
-26
lines changed

8 files changed

+132
-26
lines changed

CHANGELOG.md

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

88
## [Unreleased]
99

10+
## [4.5.3] - 2025-07-20
11+
12+
### Changed
13+
- Relicense core to FSL-1.1-ALv2. [#388](https://github.com/sourcebot-dev/sourcebot/pull/388)
14+
15+
### Added
16+
- 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)
17+
1018
## [4.5.2] - 2025-07-19
1119

1220
### Changed

LICENSE

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

LICENSE.md

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
Copyright (c) 2025 Taqla Inc.
2+
3+
Portions of this software are licensed as follows:
4+
5+
- All content that resides under the "ee/", "packages/web/src/ee/", and "packages/shared/src/ee/" directories of this repository, if these directories exist, is licensed under the license defined in "ee/LICENSE".
6+
- All third party components incorporated into the Sourcebot Software are licensed under the original license provided by the owner of the applicable component.
7+
- Content outside of the above mentioned directories or restrictions above is available under the "Functional Source License" as defined below.
8+
9+
---
10+
11+
# Functional Source License, Version 1.1, ALv2 Future License
12+
13+
## Abbreviation
14+
15+
FSL-1.1-ALv2
16+
17+
## Notice
18+
19+
Copyright 2025 Taqla Inc.
20+
21+
## Terms and Conditions
22+
23+
### Licensor ("We")
24+
25+
The party offering the Software under these Terms and Conditions.
26+
27+
### The Software
28+
29+
The "Software" is each version of the software that we make available under
30+
these Terms and Conditions, as indicated by our inclusion of these Terms and
31+
Conditions with the Software.
32+
33+
### License Grant
34+
35+
Subject to your compliance with this License Grant and the Patents,
36+
Redistribution and Trademark clauses below, we hereby grant you the right to
37+
use, copy, modify, create derivative works, publicly perform, publicly display
38+
and redistribute the Software for any Permitted Purpose identified below.
39+
40+
### Permitted Purpose
41+
42+
A Permitted Purpose is any purpose other than a Competing Use. A Competing Use
43+
means making the Software available to others in a commercial product or
44+
service that:
45+
46+
1. substitutes for the Software;
47+
48+
2. substitutes for any other product or service we offer using the Software
49+
that exists as of the date we make the Software available; or
50+
51+
3. offers the same or substantially similar functionality as the Software.
52+
53+
Permitted Purposes specifically include using the Software:
54+
55+
1. for your internal use and access;
56+
57+
2. for non-commercial education;
58+
59+
3. for non-commercial research; and
60+
61+
4. in connection with professional services that you provide to a licensee
62+
using the Software in accordance with these Terms and Conditions.
63+
64+
### Patents
65+
66+
To the extent your use for a Permitted Purpose would necessarily infringe our
67+
patents, the license grant above includes a license under our patents. If you
68+
make a claim against any party that the Software infringes or contributes to
69+
the infringement of any patent, then your patent license to the Software ends
70+
immediately.
71+
72+
### Redistribution
73+
74+
The Terms and Conditions apply to all copies, modifications and derivatives of
75+
the Software.
76+
77+
If you redistribute any copies, modifications or derivatives of the Software,
78+
you must include a copy of or a link to these Terms and Conditions and not
79+
remove any copyright notices provided in or with the Software.
80+
81+
### Disclaimer
82+
83+
THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
84+
IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
85+
PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
86+
87+
IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
88+
SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
89+
EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE.
90+
91+
### Trademarks
92+
93+
Except for displaying the License Details and identifying us as the origin of
94+
the Software, you have no right under these Terms and Conditions to use our
95+
trademarks, trade names, service marks or product names.
96+
97+
## Grant of Future License
98+
99+
We hereby irrevocably grant you an additional license to use the Software under
100+
the Apache License, Version 2.0 that is effective on the second anniversary of
101+
the date we make the Software available. On or after that date, you may use the
102+
Software under the Apache License, Version 2.0, in which case the following
103+
will apply:
104+
105+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
106+
this file except in compliance with the License.
107+
108+
You may obtain a copy of the License at
109+
110+
http://www.apache.org/licenses/LICENSE-2.0
111+
112+
Unless required by applicable law or agreed to in writing, software distributed
113+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
114+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
115+
specific language governing permissions and limitations under the License.

README.md

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

4545
# About
4646

47-
Sourcebot is the open source Sourcegraph alternative. Index all your repos and branches across multiple code hosts (GitHub, GitLab, Bitbucket, Gitea, or Gerrit) and search through them using a blazingly fast interface.
47+
Sourcebot lets you index all your repos and branches across multiple code hosts (GitHub, GitLab, Bitbucket, Gitea, or Gerrit) and search through them using a blazingly fast interface.
4848

4949
https://github.com/user-attachments/assets/ced355f3-967e-4f37-ae6e-74ab8c06b9ec
5050

docs/docs/configuration/environment-variables.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ The following environment variables allow you to configure your Sourcebot deploy
2727
| `REDIS_REMOVE_ON_COMPLETE` | `0` | <p>Controls how many completed jobs are allowed to remain in Redis queues</p> |
2828
| `REDIS_REMOVE_ON_FAIL` | `100` | <p>Controls how many failed jobs are allowed to remain in Redis queues</p> |
2929
| `REPO_SYNC_RETRY_BASE_SLEEP_SECONDS` | `60` | <p>The base sleep duration (in seconds) for exponential backoff when retrying repository sync operations that fail</p> |
30+
| `GITLAB_CLIENT_QUERY_TIMEOUT_SECONDS` | `600` | <p>The timeout duration (in seconds) for GitLab client queries</p> |
3031
| `SHARD_MAX_MATCH_COUNT` | `10000` | <p>The maximum shard count per query</p> |
3132
| `SMTP_CONNECTION_URL` | `-` | <p>The url to the SMTP service used for sending transactional emails. See [this doc](/docs/configuration/transactional-emails) for more info.</p> |
3233
| `SOURCEBOT_ENCRYPTION_KEY` | Automatically generated at startup if no value is provided. Generated using `openssl rand -base64 24` | <p>Used to encrypt connection secrets and generate API keys.</p> |

docs/docs/connections/gitlab.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,10 @@ To connect to a GitLab host other than `gitlab.com`, provide the `url` property
175175
}
176176
```
177177

178+
## Troubleshooting
179+
180+
- If you're seeing errors like `GitbeakerTimeoutError: Query timeout was reached` when syncing a large number of projects, you can increase the client's timeout by setting the `GITLAB_CLIENT_QUERY_TIMEOUT_SECONDS` environment variable. [#162](https://github.com/sourcebot-dev/sourcebot/issues/162)
181+
178182
## Schema reference
179183

180184
<Accordion title="Reference">

packages/backend/src/env.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ export const env = createEnv({
4949

5050
CONNECTION_MANAGER_UPSERT_TIMEOUT_MS: numberSchema.default(300000),
5151
REPO_SYNC_RETRY_BASE_SLEEP_SECONDS: numberSchema.default(60),
52+
53+
GITLAB_CLIENT_QUERY_TIMEOUT_SECONDS: numberSchema.default(60 * 10),
5254
},
5355
runtimeEnv: process.env,
5456
emptyStringAsUndefined: true,

packages/backend/src/gitlab.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export const getGitLabReposFromConfig = async (config: GitlabConnectionConfig, o
2929
...(config.url ? {
3030
host: config.url,
3131
} : {}),
32+
queryTimeout: env.GITLAB_CLIENT_QUERY_TIMEOUT_SECONDS * 1000,
3233
});
3334

3435
let allRepos: ProjectSchema[] = [];

0 commit comments

Comments
 (0)