Commit graph

180 commits

Author SHA1 Message Date
msukkari
96905346cc v4.4.0 2025-06-18 11:14:08 -07:00
Michael Sukkarieh
5438298d61
feat(audit-logging): Adds audit logging support (#355)
* add audit factory skeleton

* add additional audit events

* add more audit logs

* delete account join request when redeeming an invite

* add audit event for account request removed

* wip api to fetch audits

* add check for audit with public access and entitlement

* fix issues with merge

* add docs for audit logs

* add proper audit log for audit fetch and proper handling of api key hash in audit

* format nit

* feedback
2025-06-18 10:50:36 -07:00
Brendan Kellam
1d95e82b95
chore(api): Changed the search api to return raw source (instead of base64 encoding) (#356)
This PR alters the behaviour of the search api (and all apis that depend on it) to return raw source code instead of a base64 encoding. Reasoning: we are decoding it on the client in multiple different places, so it would be beneficial to decode it in a single spot.

**Note**: This is a **breaking change** to the API surface. However, since the API surface is still unofficial/unsupported, I will roll this as a patch version change. See #101
2025-06-17 15:58:04 -07:00
Brendan Kellam
22d548e171
fix(search-contexts): Fix issue where a repository would not appear in a search context if it was created after the search context was created (#354)
## Problem

If a repository is added **after** a search context (e.g., a new repository is synced from the code host), then it will never be added to the context even if it should be included. The workaround is to restart the instance.

## Solution

This PR adds a call to re-sync all search contexts whenever a connection is successfully synced. This PR adds the `@sourcebot/shared` package that contains `syncSearchContexts.ts` (previously in web) and it's dependencies (namely the entitlements system).

## Why another package?

Because the `syncSearchContexts` call is now called from:
1. `initialize.ts` in **web** - handles syncing search contexts on startup and whenever the config is modified in watch mode. This is the same as before.
2. `connectionManager.ts` in **backend** - syncs the search contexts whenever a connection is successfully synced.

## Follow-up devex work
Two things:
1. We have several very thin shared packages (i.e., `crypto`, `error`, and `logger`) that we can probably fold into this "general" shared package. `schemas` and `db` _feels_ like they should remain separate (mostly because they are "code-gen" packages).
2. When running `yarn dev`, any changes made to the shared package will only get picked if you `ctrl+c` and restart the instance. Would be nice if we have watch mode work across package dependencies in the monorepo.
2025-06-17 14:04:25 -07:00
msukkari
c0caa5a8d0 add missing changelog entry 2025-06-13 17:25:44 -07:00
bkellam
224460d96c sourcebot v4.3.0 2025-06-11 13:59:15 -07:00
Brendan Kellam
5ebd07ffe1
fix: Add default debounce & staleTime to file/folder prefetching (#346) 2025-06-11 13:51:42 -07:00
Michael Sukkarieh
65d6e928b8
Fix repo column header styling (#344)
* fix repo column header styling

* add changelog entry
2025-06-11 09:34:24 -07:00
Michael Sukkarieh
1ea377e7d6
Clean up successful and failed jobs (#343)
* clean up

* annoying log nit

* feedback
2025-06-10 18:07:07 -07:00
drew-u410
9be5522c7b
[selection] highlight clarity (#342) 2025-06-10 09:23:03 -07:00
Brendan Kellam
37ce151603
feature: basic file search (#341) 2025-06-09 12:51:35 -07:00
drew-u410
eb6d58d6d3
[search/browse] link repo name to file browser; link code image to external (#340) 2025-06-07 12:27:29 -07:00
bkellam
d5dc26cb1f sourcebot v4.2.0 2025-06-06 13:29:00 -07:00
Michael Sukkarieh
d29d3fc7f2
Added hover tooltip for long repo names in filter panel (#338)
* handle long repo names better in the UI

* changelog

* clean up hover UI

* cleanup unused logic

* simplify

* remove unused import

* changelog update
2025-06-06 13:16:19 -07:00
Michael Sukkarieh
0f3cdb7dd7
Add repo index validation (#339)
* add repo index validation

* add entry to changelog
2025-06-06 13:15:27 -07:00
Brendan Kellam
27fb5ad294
feature: File explorer (#336) 2025-06-06 12:38:16 -07:00
Michael Sukkarieh
8dc41a22b9
Fix repo images in authed instance case and add manifest json (#332)
* wip fix repo images

* fix config imports

* add manifest json

* more logos for manifest

* add properly padded icon

* support old gitlab token case, simplify getImage action, feedback

* add changelog entry

* fix build error
2025-06-06 10:50:13 -07:00
Michael Sukkarieh
397262ecf7
Adds support for encrypted license keys (#335)
* implement encrypted key logic

* cache public key

* add SOURCEBOT_PUBLIC_KEY_PATH to docs

* feedback
2025-06-05 22:18:52 -07:00
Brendan Kellam
ee88353e13
chore: Add separate login / signup screens (#331) 2025-06-04 16:42:52 -07:00
msukkari
258b9cfc6f v4.1.1 2025-06-03 19:37:03 -07:00
Brendan Kellam
46d7ca9ff4
feature: Add keyboard shortcuts for goto def & find all refs (#329) 2025-06-03 19:30:18 -07:00
Michael Sukkarieh
9227b3caba
Add support for GCP IAP JIT account provisioning (#330)
* initial gcp iap implementation

* gcp iap working

* add docs for gcp iap

* feedback

* changelog
2025-06-03 19:28:38 -07:00
drew-u410
749bfc28f3
[dev + copy button] add / update local dev w/docker compose; add copy button to the right of filenames (#328) 2025-06-03 08:52:59 -07:00
Brendan Kellam
91e803d7a6
fix: Improve symbol reference/definition list perf (#327) 2025-06-02 14:49:51 -07:00
Brendan Kellam
81a9ea1e59
fix: Fix symbol hover popover clipping issue (#326) 2025-06-02 13:09:47 -07:00
msukkari
3a498e9d23 v4.1.0 2025-06-02 11:27:13 -07:00
Brendan Kellam
8a9cdfda77
fix: Fix "Mark decorations may not be empty" issue (#325) 2025-06-02 11:22:52 -07:00
Brendan Kellam
ce8d55f558
V4 docs refactor (#322) 2025-06-01 18:51:12 -07:00
msukkari
a2e06266db fix issue with new auth providers not being shown in login page 2025-05-30 11:12:00 -07:00
bkellam
462e7f8190 sourcebot v4.0.1 2025-05-28 17:36:50 -07:00
Brendan Kellam
65cdaaa658
fix: Fix issue with how entitlements are resolved for cloud (#319) 2025-05-28 17:35:18 -07:00
bkellam
46405bfc0f sourcebot v4.0.0 2025-05-28 16:47:08 -07:00
Michael Sukkarieh
60a3528394
V4 (#311)
Sourcebot V4 introduces authentication, performance improvements and code navigation. Checkout the [migration guide](https://docs.sourcebot.dev/self-hosting/upgrade/v3-to-v4-guide) for information on upgrading your instance to v4.

### Changed
- [**Breaking Change**] Authentication is now required by default. Notes:
  - When setting up your instance, email / password login will be the default authentication provider.
  - The first user that logs into the instance is given the `owner` role. ([docs](https://docs.sourcebot.dev/docs/more/roles-and-permissions)).
  - Subsequent users can request to join the instance. The `owner` can approve / deny requests to join the instance via `Settings` > `Members` > `Pending Requests`.
  - If a user is approved to join the instance, they are given the `member` role.
  - Additional login providers, including email links and SSO, can be configured with additional environment variables. ([docs](https://docs.sourcebot.dev/self-hosting/configuration/authentication)).
- 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)

### Added
- [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/search/code-navigation). [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
- Added collapsible filter panel. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)

### Fixed
- Improved scroll performance for large numbers of search results. [#315](https://github.com/sourcebot-dev/sourcebot/pull/315)
2025-05-28 16:08:42 -07:00
bkellam
9d765bfa20 sourcebot v3.2.1 2025-05-15 13:50:12 -07:00
Brendan Kellam
1aafc228cf
feat: Generic git host support (local & remote) (#307) 2025-05-15 13:42:58 -07:00
msukkari
59cd86d23e release v3.2.0 2025-05-12 12:55:25 -07:00
Brendan Kellam
e4e36bd745
fix: Fixed issue with repositories appearing in the carousel when indexing fails on first sync (#305) 2025-05-12 12:10:20 -07:00
msukkari
53a93081df release v3.1.4 2025-05-10 08:39:16 -07:00
msukkari
13b7b352bd better error handling for git operations 2025-05-10 08:37:03 -07:00
bkellam
19ee70ea68 sourcebot v3.1.3 2025-05-07 21:29:32 -07:00
Brendan Kellam
873c9ef2a4
Sourcebot MCP (#292) 2025-05-07 16:21:05 -07:00
Brendan Kellam
b280e2ddbb
fix: Fix repo carousel thrashing (#294) 2025-05-06 10:44:14 -07:00
Brendan Kellam
14ce633cf0
feat: add rev:* syntax to explicitly search all branches (#281) 2025-04-30 15:38:30 -07:00
bkellam
7e54931895 sourcebot v3.1.2 2025-04-30 14:24:24 -07:00
Brendan Kellam
68265accbe
Fix auth with GitHub (#288) 2025-04-30 14:22:41 -07:00
Brendan Kellam
09894a5d7d
Add exclude.readOnly and exclude.hidden to gerrit connection config (#280) 2025-04-29 12:05:19 -07:00
bkellam
15073644f9 sourcebot v3.1.1 2025-04-28 12:23:19 -07:00
Brendan Kellam
ceb8b3ab2e
Embed filter selection in query params (#276) 2025-04-28 12:10:43 -07:00
msukkari
2398debfd0 v3.1.0 release 2025-04-25 12:00:33 -07:00
Michael Sukkarieh
b6dedc78ba
Add Bitbucket support (#275)
* [wip] add bitbucket schema

* wip bitbucket support

* add support for pulling bitbucket repos and UI support for bitbucket

* fix bitbucket app password auth case

* add back support for multiple workspaces and add exclude logic

* add branches to bitbucket

* add bitbucket server support

* add docs for bitbucket and minor nits

* doc nits

* code rabbit fixes

* fix build error

* add bitbucket web ui support

* misc cleanups and fix ui issues with bitbucket connections

* add changelog entry
2025-04-25 11:22:40 -07:00
Brendan Kellam
cfe8b8ccc8
Search contexts (#273) 2025-04-24 22:28:13 -07:00
msukkari
c201a5e1a9 release v3.0.4 2025-04-11 15:21:19 -06:00
msukkari
ae69c007f2 release v3.0.3 2025-04-10 21:41:13 -06:00
bkellam
bf8b28252d release v3.0.2 2025-04-04 00:30:01 -07:00
Brendan Kellam
21bbe09fc9
Add periodic connection re-sync (#260) 2025-04-03 17:51:01 -07:00
Brendan Kellam
bbd8b221d6
Display name improvements (#259) 2025-04-02 17:50:48 -07:00
msukkari
d55bf83ac1 bump connection manager upsert timeout 2025-04-02 14:33:39 -07:00
bkellam
4f52494235 (fix) Fix issue with match highlighting not appearing when first clicking on a search result. Fixes #255 2025-04-01 16:35:00 -07:00
bkellam
86e7eb63a9 Release sourcebot v3.0.0 2025-04-01 14:56:03 -07:00
msukkari
1b7ce39eae v2.8.4 release 2025-03-14 15:11:54 -07:00
bkellam
1fe9da7de1 release v2.8.3 2025-03-13 13:13:09 -07:00
msukkari
0965f1d3eb v2.8.2 release 2025-02-20 10:15:35 -08:00
msukkari
26ac654a00 release v2.8.1 2025-01-28 14:47:46 -08:00
Brendan Kellam
27dde3a902
Fix version upgrade toast refresh issue (#179) 2025-01-28 12:04:27 -05:00
bkellam
1ce33256cf release v2.8.0 2025-01-17 15:23:43 -08:00
Brendan Kellam
6c77278498
Syntax reference guide (#169) 2025-01-17 14:12:43 -08:00
bkellam
b96fffcc83 Release v2.7.1 2025-01-15 09:20:14 -08:00
Brendan Kellam
7d516b1420
Fix broken file links (#161) 2025-01-14 16:50:38 -08:00
Brendan Kellam
a013298955
curl error handling in entrypoint.sh (#159) 2025-01-14 15:09:20 -08:00
bkellam
04dfb82732 release v2.7.0 2025-01-10 14:52:49 -08:00
Michael Sukkarieh
d269a8cbe6
implement raw remote git repo support (#152)
* implement raw remote git repo support

* add changelog entry
2025-01-09 09:10:30 -08:00
Brendan Kellam
2c1de4d005
Share links (#149) 2025-01-07 10:27:42 -08:00
bkellam
b3e86a74c6 release v2.6.3 2024-12-18 19:25:03 -08:00
Brendan Kellam
03aa608e21
Graceful error handling when calling code host apis (#142) 2024-12-18 19:21:21 -08:00
Brendan Kellam
0e9c829cc3
[GitHub] Add exclude.size property to the config (#137) 2024-12-17 00:01:19 -08:00
Brendan Kellam
c35f6bc5ae
Add reindexInterval and resyncInterval to config settings (#134) 2024-12-16 21:30:50 -08:00
bkellam
f528b3878d release 2.6.2 2024-12-13 15:37:38 -08:00
Brendan Kellam
4353d2008a
Add autoDeleteStaleRepos config option (#128) 2024-12-13 12:34:02 -08:00
Brendan Kellam
4d358f94a2
Add topics and exclude.topics to GitHub & GitLab config (#121) 2024-12-11 14:17:57 -08:00
Brendan Kellam
3dd4a16b7f
Make language suggestions case insensitive (#124) 2024-12-11 13:51:59 -08:00
bkellam
b9e6ce5690 release v2.6.1 2024-12-09 12:41:30 -10:00
Brendan Kellam
111023b1dc
Add config option to specify max file size (#118) 2024-12-09 12:34:43 -10:00
bkellam
7915af8acd release v2.6.0 2024-12-02 16:15:25 -08:00
bkellam
d9710c702d release v2.5.4 2024-11-29 10:48:53 -08:00
Brendan Kellam
d18601c746
Search history (#99) 2024-11-29 10:42:08 -08:00
bkellam
60dd3e935a release v2.5.3 2024-11-28 13:33:04 -08:00
Brendan Kellam
120d84a046
Symbol suggestions (#98) 2024-11-28 13:26:27 -08:00
bkellam
b115218be9 release v2.5.2 2024-11-27 10:51:35 -08:00
bkellam
55b50f22fd Fixed homepage links not resolving when DOMAIN_SUB_PATH is set. Fixes #96 2024-11-27 10:48:22 -08:00
bkellam
c061136125 Fix filter icon bug. Fixes #95 2024-11-27 10:43:41 -08:00
bkellam
18988ed14d release v2.5.1 2024-11-26 22:03:35 -08:00
Brendan Kellam
d6544086e7
Icon & link support for self-hosted repositories (#93) 2024-11-26 21:49:41 -08:00
Brendan Kellam
c73c34428c
File suggestions (#88) 2024-11-24 13:58:05 -08:00
bkellam
6f6d8103c5 release v2.5.0 2024-11-22 18:57:09 -08:00
bkellam
3fe2d3295a release v2.4.4 2024-11-20 14:36:24 -08:00
Brendan Kellam
f3d5fa6cb3
Add config param all to enable syncing all projects in GitLab instance (#84) 2024-11-20 14:29:13 -08:00
Brendan Kellam
83270ffdc9
Add support for configurable domain sub-paths (#74) 2024-11-18 12:09:26 -08:00
bkellam
558d049d38 release v2.4.3 2024-11-18 11:49:37 -08:00
Brendan Kellam
0f8f64c56f
Update docker container Node.JS version to v20 (#78) 2024-11-18 11:48:20 -08:00
bkellam
e5b83b68b2 release v2.4.2 2024-11-14 22:44:15 -08:00