* properly handle emails for github app auth case
* add docs info for auth through github app
* more info in docs for user auth perms
* modify review agent env var names
* github app service auth
* coderabbit suggestions
* fixes
* fix build
* migrate anonymous access logic out of ee
* add anonymous access toggle
* handle anon toggle properly based on perms
* add forceEnableAnonymousAccess setting
* add docs for access settings
* change forceEnableAnonymousAccess to be an env var
* add FORCE_ENABLE_ANONYMOUS_ACCESS to list in docs
* add back the enablePublicAccess setting as deprecated
* add changelog entry
* fix build errors
* add news entry for anonymous access
* feedback
* sign up copy nits
* first pass at new onboarding page
* wip join onboard logic
* refactor auth provider fetch logic
* add member approval and invite link flag logic
* update join request flow and remove jit logic
* onboard guard
* nits, onboard role check, invite link enabled check
* fix bg color issue in onboarding page
* refactor onboard UI
* ui nits and more onboarding resource cards
* revamp auth docs
* change member approval default behavior and updated docs
* merge prisma migrations
* add id to resource card
* feedback
* feedback
* feedback and fixed build
* settings drop down UI nit
* ui nits
* handle join when max capacity case
* add news data for member toggle
* refactor for public access case
* add iap bridge to onboard logic
* fetch member approval req and invite link enabled flag on server
* ui nits
* fix invite link enable toggle snapping issue
* ui nits
* styling and ui nits, pass in invite id from server
* add mcp resource in onboard step
* get invite link in server
* fix build issue
* refactor docs on config
* minor doc nit
* add deps
* hook up dau from audit table to analytics page
* add audit event for code nav
* analytics dashboard
* add changelog entry
* add news entry
* smaller video and news data nit
* feedback
* 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
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
## 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.