Commit graph

37 commits

Author SHA1 Message Date
Michael Sukkarieh
a93ee6527c
add sentry support to backend and webapp (#223)
* add sentry to web app

* set sentry environemnt from env var

* add sentry env replace logic in docker container

* wip add backend sentry

* add sentry to backend

* move dns to env var

* remove test exception
2025-03-01 19:21:17 -08:00
Michael Sukkarieh
ff350566b0
switch magic link to invite code (#222)
* wip magic link codes

* pipe email to email provider properly

* remove magic link data cookie after sign in

* clean up unused imports

* dont remove cookie before we use it

* rm package-lock.json

* revert yarn files to v3 state

* switch email passing from cookie to search param

* add comment for settings dropdown auth update
2025-03-01 16:15:35 -08:00
bkellam
b9352345a3 Add mobile unsupported splash screne 2025-02-27 16:10:55 -08:00
Brendan Kellam
0ff34d105d
Inline secret creation (#207) 2025-02-22 10:37:59 -08:00
Brendan Kellam
fee0767981
Refined onboarding flow (#202) 2025-02-21 10:32:10 -08:00
Michael Sukkarieh
fdd71cfcfe
add better visualization for connection/repo errors and warnings (#201)
* replace upsert with seperate create many and raw update many calls

* add bulk repo status update and queue addition with priority

* add support for managed redis

* add note for changing raw sql on schema change

* add error package and use BackendException in connection manager

* handle connection failure display on web app

* add warning banner for not found orgs/repos/users

* add failure handling for gerrit

* add gitea notfound warning support

* add warning icon in connections list

* style nits

* add failed repo vis in connections list

* added retry failed repo index buttons

* move nav indicators to client with polling

* fix indicator flash issue and truncate large list results

* display error nav better

* truncate failed repo list in connection list item

* fix merge error

* fix merge bug

* add connection util file [wip]

* refactor notfound fetch logic and add missing error package to dockerfile

* move repeated logic to function and add zod schema for syncStatusMetadata
2025-02-19 18:10:22 -08:00
Brendan Kellam
bbf8b9be86
Magic links (#199)
* wip on magic link support

* Switch to nodemailer / resend for transactional mail

* Further cleanup

* Add stylized email using react-email

* fix
2025-02-18 11:34:07 -08:00
Brendan Kellam
f652ca526e
Membership settings rework (#198)
* Add refined members list

* futher progress on members settings polish

* Remove old components

* feedback
2025-02-18 11:27:19 -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
d463748f78 revert dep version updates 2025-02-13 14:27:41 -08:00
msukkari
53dac384af merge domain changes 2025-02-12 14:55:35 -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
msukkari
fde21794f5 wip adding stripe checkout button 2025-02-10 19:26:42 -08:00
msukkari
23f3c605ec add side bar nav in settings page 2025-02-10 17:56:36 -08:00
Brendan Kellam
846d73b0e6
Connection management (#183) 2025-02-04 15:04:05 -05: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
bae7ca3438
Add @sourcebot/schemas package (#177) 2025-01-24 10:51:49 -08:00
Brendan Kellam
0322cd8f32
Connection creation form (#175) 2025-01-23 10:26:41 -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
dependabot[bot]
11eacb773e
Bump next from 14.2.15 to 14.2.21 in /packages/web (#153)
Bumps [next](https://github.com/vercel/next.js) from 14.2.15 to 14.2.21.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v14.2.15...v14.2.21)

---
updated-dependencies:
- dependency-name: next
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brendan Kellam <bshizzle1234@gmail.com>
2025-01-09 13:37:25 -08:00
Brendan Kellam
2c1de4d005
Share links (#149) 2025-01-07 10:27:42 -08:00
dependabot[bot]
4e68dc5032
Bump next from 14.2.10 to 14.2.15 (#138)
Bumps [next](https://github.com/vercel/next.js) from 14.2.10 to 14.2.15.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v14.2.10...v14.2.15)

---
updated-dependencies:
- dependency-name: next
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-17 15:38:54 -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
0b78ffd2d1
feat: add all 800 linguist language icons (#129)
* feat: add all 800 linguist language icons

This uses existing svg icons for common languages, then falls back on
the iconify library for the remaining 600 languages.

* move icon component to ui components

---------

Co-authored-by: Brendan Kellam <bshizzle1234@gmail.com>
2024-12-13 15:14:01 -08:00
Konrad Staniszewski
1ba4e8215d
feat: Add support for codemirror mode languages (#125)
* feat: Add support for codemirror mode languages

Codemirror 5 had a number of languages supported via modes instead of
explicit language support

* Add additional languages, remove comment
2024-12-13 15:09:07 -08:00
Brendan Kellam
d18601c746
Search history (#99) 2024-11-29 10:42:08 -08:00
Brendan Kellam
120d84a046
Symbol suggestions (#98) 2024-11-28 13:26:27 -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
276086d2d6
Basic syntax highlighting support for search bar (#66) 2024-11-12 18:43:44 -08:00
Brendan Kellam
ada53fc2c6
Multi branch / tag support (#58) 2024-11-06 18:28:10 -08:00
Brendan Kellam
e913b22324
Improve rendering performance of search results (#52) 2024-10-30 09:32:05 -07:00
Brendan Kellam
f4c7354037
Filtering panel (#48) 2024-10-28 10:30:29 -07:00
Brendan Kellam
cde9f46570
Version upgrade toast (#44) 2024-10-18 15:03:13 -04:00
Brendan Kellam
fc8815d135
Config format V2 (#42) 2024-10-17 16:31:18 -04:00