Commit graph

38 commits

Author SHA1 Message Date
Michael Sukkarieh
e0d363420b
connections qol improvements (#195)
* add client side polling to connections list

* properly fetch repo image url

* add client polling to connection management page, and add ability to sync failed connections
2025-02-15 10:00:44 -08:00
Michael Sukkarieh
3be3680ee2
cleanup org's repos and shards if it's inactive (#194)
* add stripe subscription status and webhook

* add inactive org repo cleanup logic

* mark reactivated org connections for sync
2025-02-15 09:58:17 -08:00
Brendan Kellam
86a80a4f73
Credentials provider (#192)
* email password functionality

* feedback
2025-02-14 21:00:45 -08:00
Michael Sukkarieh
e2e5433d20
enforce owner perms (#191)
* add make owner logic, and owner perms for removal, invite, and manage subscription

* add change billing email card to billing settings

* enforce owner role in action level

* remove unused hover card component

* cleanup
2025-02-14 09:25:22 -08:00
msukkari
26cc70cc11 fix publishible stripe key handling in docker container 2025-02-13 18:45:27 -08:00
msukkari
888a2e3924 change stripe init to be behind function 2025-02-13 16:42:33 -08:00
msukkari
a70c57715c merge v3 changes into billing branch 2025-02-13 11:32:17 -08:00
msukkari
0b4140f81c move stripe product id to env var 2025-02-13 10:24:12 -08:00
msukkari
84e8ec2102 add ability to remove member from org 2025-02-13 10:15:06 -08:00
msukkari
8ad6ba7ab0 prevent self invite 2025-02-12 19:50:44 -08:00
msukkari
6caed350d3 add back paywall and also add support for incrememnting seat count on invite redemption 2025-02-12 16:48:13 -08:00
msukkari
53dac384af merge domain changes 2025-02-12 14:55:35 -08:00
bkellam
d17c90a8f3 attempt 2 2025-02-12 14:17:49 -08:00
bkellam
e0976e443f Add default for AUTH_URL in attempt to fix build 2025-02-12 14:10:09 -08:00
Brendan Kellam
34c9c1d9a8
Domain support (#188) 2025-02-12 13:51:44 -08:00
bkellam
8d2c731b88 Domain support 2025-02-12 13:45:12 -08:00
msukkari
9665f149cd wip onboarding flow 2025-02-11 17:27:02 -08:00
Michael Sukkarieh
90550181af
add invite system and google oauth provider (#185)
* add settings page with members list

* add invite to schema and basic create form

* add invite table

* add basic invite link copy button

* add auth invite accept case

* add non auth logic

* add google oauth provider
2025-02-10 14:31:38 -08:00
Brendan Kellam
846d73b0e6
Connection management (#183) 2025-02-04 15:04:05 -05:00
msukkari
f92acc0404 try to move encryption key env decleration in docker file to fix build issues 2025-01-30 12:49:04 -08:00
Michael Sukkarieh
75d4189f25
enforce tenancy on search and repo listing endpoints (#181)
* enforce tenancy on search and repo listing

* remove orgId from request schemas
2025-01-28 10:39:59 -08:00
Michael Sukkarieh
31114a9d95
add concept of secrets (#180)
* add @sourcebot/schemas package

* migrate things to use the schemas package

* Dockerfile support

* add secret table to schema

* Add concept of connection manager

* Rename Config->Connection

* Handle job failures

* Add join table between repo and connection

* nits

* create first version of crypto package

* add crypto package as deps to others

* forgot to add package changes

* add server action for adding and listing secrets, create test page for it

* add secrets page to nav menu

* add secret to config and support fetching it in backend

* reset secret form on successful submission

* add toast feedback for secrets form

* add instructions for adding encryption key to dev instructions

* add encryption key support in docker file

* add delete secret button

* fix nits from pr review

---------

Co-authored-by: bkellam <bshizzle1234@gmail.com>
2025-01-27 14:07:07 -08:00
Brendan Kellam
9c120c6b0a
Organization switching & active org management (#173) 2025-01-21 14:50:16 -08:00
Brendan Kellam
6cf10b4988
Authentication (#164) 2025-01-16 15:24:13 -08:00
Michael Sukkarieh
553f5d25f7
Add tenant ID concept into web app and backend (#160)
* hacked together a example of using zoekt grpc api

* provide tenant id to zoekt git indexer

* update zoekt version to point to multitenant branch

* pipe tenant id through header to zoekt

* remove incorrect submodule reference and settings typo

* update zoekt commit

* remove unused yarn script

* remove unused grpc client in web server

* remove unneeded deps and improve tenant id log

* pass tenant id when creating repo in db

* add mt yarn script

* add nocheckin comment to tenant id in v2 schema

---------

Co-authored-by: bkellam <bshizzle1234@gmail.com>
2025-01-14 16:46:36 -08:00
Brendan Kellam
2c1de4d005
Share links (#149) 2025-01-07 10:27:42 -08:00
Konrad Staniszewski
5772468930
Refactor Language Support (#132)
* feat: move language utilites out of components and dedup linguist languages

This mot moves all linguist language and codemirror languages into
utility classes.
It also adds syntax highligting for 200+ languages which can use
available parsers.

* Add support for all available 3rd party languages

* Remove some accidental languages

---------

Co-authored-by: Brendan Kellam <bshizzle1234@gmail.com>
2024-12-17 11:00:58 -08:00
Konrad Staniszewski
b452fd2983
Gerrit sync (#104)
* Basic gerrit sync with working gitiles web-links functionality

This adds basic support for gerrit repo code host syncing. Gerrit uses
gitiles plugin for code browsing (in most cases).
It may be usefull to allow users to provide their own web code-browsing
url templates in the future.

* Add gerrit readme update

* Remove config arg from gerrit fetchAllProjects

* Remove example urls

* Resolve comments
2024-12-02 16:07:02 -08:00
Brendan Kellam
120d84a046
Symbol suggestions (#98) 2024-11-28 13:26:27 -08:00
Brendan Kellam
d6544086e7
Icon & link support for self-hosted repositories (#93) 2024-11-26 21:49:41 -08:00
Brendan Kellam
33b5418bbf
Pass PostHog key at build time (#92) 2024-11-25 21:04:52 -08:00
Brendan Kellam
7f952ce163
Search suggestions (#85)
The motivation for building search suggestions is two-fold: (1) to make the zoekt query language more approachable by presenting all available options to the user, and (2) make it easier for power-users to craft complex queries.

The meat-n-potatoes of this change are concentrated in searchBar.tsx and searchSuggestionBox.tsx. The suggestions box works by maintaining a state-machine of "modes". By default, the box is in the refine mode, where suggestions for different prefixes (e.g., repo:, lang:, etc.) are suggested to the user. When one of these prefixes is matched, the state-machine transitions to the corresponding mode (e.g., repository, language, etc.) and surfaces suggestions for that mode (if any).

The query is split up into parts by spaces " " (e.g., 'test repo:hello' -> ['test', 'repo:hello']). See splitQuery. The part that has the cursor over it is considered the active part. We evaluate which mode the state machine is in based on the active part. When a suggestion is clicked, we only modify the active part of the query.

Three modes are currently missing suggestion data: file (file names), revision (branch / tag names), and symbol (symbol names). In future PRs, we will need to introduce endpoints into the backend to allow the frontend to fetch this data and surface it as suggestions..
2024-11-22 18:50:13 -08:00
Brendan Kellam
83270ffdc9
Add support for configurable domain sub-paths (#74) 2024-11-18 12:09:26 -08:00
Brendan Kellam
ada53fc2c6
Multi branch / tag support (#58) 2024-11-06 18:28:10 -08:00
Brendan Kellam
7966c1440c
Local directory support (#56) 2024-11-01 10:51:14 -07:00
Brendan Kellam
f4c7354037
Filtering panel (#48) 2024-10-28 10:30:29 -07:00
Brendan Kellam
82730f1cb0
Gitea support (#45) 2024-10-22 23:06:36 -04:00
Brendan Kellam
fc8815d135
Config format V2 (#42) 2024-10-17 16:31:18 -04:00