Commit Graph
2036 Commits
Author SHA1 Message Date
Stojan DimitrovskiandIvan Vasilov 4945ba1861 feat: add asymmetric JWT UI (#36519)
* original files from previous PR

* get rid of router in jwt-secrets to make it show up

* rename jwt-secrets page to jwt-signing-keys

* add jwt-signing-keys query

* add legacy jwt signing keys query

* wire-up JwtSecretKeysTable with queries

* add jwt signing keys page to settings menu

* deduplicate labels, descriptions, etc

* add create, update jwt-signing-key mutations

* update types

* remove unused components, to be refactored later

* make everything into a mostly working state

* legacy migration added

* put jwt keys page like api keys

* fully migrate legacy jwt secret page

* fix prettier

* fix typecheck ts-expect-error

* rm unneeded file

* Fix compile errors.

* Rename the files and move them to the same folder.

* Merge the two constant files.

* Fix the imports.

* Fix a bug in the API keys page when opening it in a new tab.

* Change the page to be at /signing-keys

* Fix some minor types.

* Break apart some of the components in the signing keys UI.

* Use a feature banner for the initial action.

* Make a create key dialog and move functionality there.

* Fix some cosmetic issues.

* Minor cosmetic fixes.

* Remove extra keys in RQ cache.

* Add a missing link

* Add a banner when the feature flag is false.

* Minor type fix.

* more tiny type fix

* fix error on create standby key

* add alert to prevent revoking legacy jwt secret without disabling legacy api keys first

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-06-23 09:36:07 +12:00
Lakshan Perera 7960046c96 fix: attempt to stringify request body before parsing (#36586) 2025-06-22 16:11:09 +08:00
Ignacio Dobronich 692f0b2d94 fix: update Change Plan modal caption and fix broken Compute Confirmation link (#36539)
* Pro Plan heading caption

* Fixed Comput costs docs link

* Revert to premium support

* Email support

* Fixed typing error in PaymentMethodSelection
2025-06-20 13:25:24 -03:00
Terry Sutton bd95e9a1b9 Chore/link to usage (#36404)
* Add link to usage page

* Add usage button
2025-06-20 13:12:47 -02:30
Etienne StalmansandJoshen Lim aeaf831648 feat: add UI to show MFA enforcement on org (#36439)
Disables organization selection if the org requires MFA but the user
does not have MFA enabled.
Add badges / hints to show that user has access to an Organization but
access is disabled because of MFA access requirement

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-20 14:51:11 +02:00
Joshen LimandJonathan Summers-Muir f223b455d6 Unified Logs (Part 1) (#36298)
* init new unified page

* moar logs

* init

* add infinite and live logs example

* Update useLogsPreview.tsx

* add more sources

* wrapped auth logs with edge logs

* add role and user id

* move unified logs

* init

* move demo pages. create a new directory to work in

* extracted beta unified logs into own components

* add example base page and components

* add new files to use actual logging query

* more organization

* change import

* adds new logs page. adds new query

* add data table to UI pacakges

* revert

* table styles

* text size

* add timestamp, table, icons for log types, status code styling

* add host

* add log count to edge functions

* starts to add dynamic filtering

* spiking trace UI

* Update status-code.ts

* add new linik

* now using POST

* fix chart data for default 1 hour view

* update API to accept POST requests

* new filters

* Update level.ts

* fixed up chart to work on level filter. split up the logic into new files

* prep for log type

* prepped query for WHERE

* fix: issue with white space in url param column parsing

* level param now being removed correctly.

* fix issue with chart showing wrong buckets for different time ranges

* remove old query

* refactor the queries into function for each source

* total count fixed

* lots of layout

* start fixing log counts

* comment out min and max for a while

* added trace logging prototype in

* random trace logs added for demo

* added logs and ui to view logs if any

* add Auth user

* fix the live logs issue

* some left over code

* Midway

* First pass refactor + clean up + reorganize files

* Fix TS issues

* Remove unused files

* Clean up

* Final clean up

* more clean up

* More clean up

* Remove unused packages

* Fix

* Lint

* Add feature flag for unified logs

* Refactor

* Remove trace UI

* Snake case log types

* more clean up

* More clean up

* Fix ts

* more clean up

* fixes

* add flag check and redirect if flag is false

* Update middleware.ts

* Nit lint

* Fix

* Last refactors

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2025-06-20 12:46:17 +08:00
Kevin Grüneberg 058b25d7c3 chore: show org error message for longer (#36526) 2025-06-19 03:34:52 +00:00
Ivan VasilovandWen Bo Xie dfbe1573b9 feat: Pass the auth_id and token params to the email confirmation URL (#36327)
* Pass the auth_id and token params when the user is signed up.

* Try to fix the vercel build.

* Move the code in function to avoid SSR errors.

---------

Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
2025-06-18 18:44:38 +02:00
Jordi Enric ef20349e7e API Logs improvements FDBK-29499 (#36479)
add search, improve event message
2025-06-18 11:12:17 +02:00
Kevin Grüneberg dff6074d30 feat: support pending changes for plan upgrades (#36430)
This PR implements the new flow to confirm subscription upgrades using Orb pending changes. This is backwards compatible and based on a flag exposed by the backend (`subscriptionPreview.pending_subscription_flow`).

Just like the organization creation, the entire flow is slightly different - instead of creating a payment method separately, the payment method is added inline while doing the upgrade and then attached to the customer. If payment fails, the upgrade will not go through. If payment requires additional action, the user needs to confirm the payment before allowing the upgrade.

For testing the new flow locally, toggle the flag in `flags.ts` on the backend.

Changes include
- No longer rely on the `changeType` from the plans endpoint as this is regularly out-of-sync and displays wrong up/downgrade info due to race conditions
- `readOnly` mode for Stripe elements if anything is loading/submitting
- Reduced prop drilling for some components
- Hide payment method and address selection on downgrade
2025-06-18 15:11:33 +08:00
Cemal Kılıç e014d5b0c7 fix: update the create ticket link on api keys page (#36494) 2025-06-18 00:16:44 +02:00
Joshen Lim 8b4d781ab8 Fix leave team button visibility (#36480)
* Fix leave team button visibility

* Add button type
2025-06-17 21:10:02 +08:00
Joshen Lim 21e93fc649 Fix organization card link (#36473) 2025-06-17 18:25:29 +08:00
7c678b9db8 Update new project flow to add a warning before redirecting (#36349)
* Update new project flow to add a warning before redirecting

* Simplify the logic for picking an org.

* Small UI tweaks

* Readd the alert about a not found org.

* Link to all orgs if slug is undefined

* Nit

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-17 09:55:05 +02:00
Kevin Grüneberg 7e5850bc70 feat: prefill Stripe email + styling (#36457)
- Prefill email in Stripe form to set up Link faster or connect faster
- Overwrite a bit of styling so it looks less foreign
- Moved the Payment component from the NewOrgForm into it's own file and renamed it
2025-06-17 11:54:45 +08:00
Peter b399331479 fix: webhook delete dialog spacing and typo (#36445)
* Add space between words and fix typo

* pnpm format
2025-06-16 16:29:40 -05:00
Stojan DimitrovskiandIvan Vasilov 7c3f79578e feat: allow disabling and re-enabling of anon and service_role (#36395)
* feat: allow disabling and re-enabling of `anon` and `service_role`

* Cleanup the RQ hooks.

* Restructure the enable/disable alert in API keys.

* Minor cleanups.

* Minor fixes.

* Fix a type error.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-06-16 17:46:34 +02:00
Joshen Lim 1153a214c1 Fix delete button in users management (#36435) 2025-06-16 18:00:35 +08:00
Jordi Enric ee5279e335 Project Homepage Charts: fix range and add product type (#36132)
fix range and add product type
2025-06-16 11:39:09 +02:00
Jordi Enric 06ce78a8b5 allow select and copy text, fix context menu (#36162) 2025-06-16 11:27:23 +02:00
angelico cb29180283 chore: update definition of isPaidAndNotAwsNew (#36057) 2025-06-16 17:01:19 +08:00
Joshen Lim c1f964bc06 Add edge functions empty state for local/self-host (#36322)
* Add edge functions empty state for local/self-host

* Update based on feedback + add secrets page

* Nit

* Nit copy
2025-06-16 16:02:13 +08:00
Joshen Lim ddc2250e1f Shift positioning of "Leave team" button in Org Team Settings (#36386)
* Shift leave team button position, and fix sorting own user as first in list

* Nit
2025-06-16 14:00:38 +08:00
Joshen LimandIvan Vasilov 27d9b44526 Consolidate copy to clipboard (#36353)
* Consolidate copy to clipboard

* Fix

* Fix some extra clipboard events.

* Fix the tests. Fix a small issue with the copy button.

* Fix

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-06-13 13:08:08 +02:00
Andrew Valleteau 4e1a0390da fix(SQLEditor): disable transactional mode for manual queries (#36367) 2025-06-13 06:46:05 +02:00
Kevin Grüneberg ff318d07f0 feat: support pending changes (#36333)
Adds support for the new Orb pending subscription change flow that has been added to the backend.

By default, the new feature is disabled (enabled after merge on staging). If disabled, this should work just like before with the regular `confirmPayment` function that triggers 3DS if needed and properly lets a user confirm their additional factor.

With the new flag, we only create a payment method, as we will do another payment intent that is set up for future usage and that may require 3DS - so we avoid the possible double confirmation (setup confirmation + payment intent). The organization creation endpoint can either return a full organization (i.e. on Free Plan or immediate payment success) or a payment_intent_secret. In case of the secret being returned, we need to confirm the secret with the Stripe SDK.

Moved the Stripe Elements further down to avoid the entire form reloading (especially billing address) in case of a payment failure.
2025-06-13 10:27:09 +08:00
Terry Sutton aa75feffd9 Add org_not_found param to detect if landing on a proper org (#36341) 2025-06-12 11:53:56 +00:00
Joshen Lim 46337689db Add is nullable column to ColumnList (#36352) 2025-06-12 15:33:07 +08:00
Kevin Grüneberg 28ebb85c85 fix: redirect to Vercel marketplace for plan change (#36351) 2025-06-12 15:31:58 +08:00
Kevin Grüneberg e6c5d3cc11 fix: trim confirmation input and comparison (#36337)
We regularly have customer support tickets that cannot confirm because of a mismatching space at the end (and they cannot for the life of them figure this one out).

Trimming both input and comparison string will prevent unnecessary support tickets and still guarantees enough safety.
2025-06-12 11:28:48 +08:00
Terry Sutton 95e45d29b5 Restore spaces (#36338) 2025-06-11 15:16:59 -02:30
Ivan Vasilov 885df2ff62 fix: When claiming a project, first authorize the oAuth app (#36329)
When claiming a project, first authorize the oAuth app.
2025-06-11 15:46:32 +02:00
Pamela Chia 29f62eac1b chore: remove privacy banner (#36312) 2025-06-11 09:08:04 +02:00
samrose 889d5a51fe docs: update the message for users with deprecated extensions (#36307) 2025-06-10 14:09:43 -04:00
Stojan Dimitrovski 515359c3bc fix: more api key ui fixes (#36300) 2025-06-10 16:36:34 +02:00
Joshen Lim 257e04d714 Manually updated org query data after creating a new org (#36301) 2025-06-10 19:05:18 +08:00
Etienne Stalmans 8709747e9b chore: move HIPAA checks from org to project level (#35925)
* chore: move HIPAA checks from org to project level

HIPAA orgs can mark specific projects as sensitive. Those projects will
have HIPAA restrictions applied to them. This opens non-HIPAA projects
in the same Organization up to use previously disabled features.

* fix: don't call react hooks conditionally

* chore: disable AI in HIPAA

If in a project and the project is HIPAA enabled, disable AI. Otherwise
rely on the opt-in to AI at the org level
2025-06-10 10:57:45 +02:00
Ivan VasilovandJoshen Lim 586a829828 feat: Project claim (#35992)
* Add another page for claiming a project.

* Fix a misspell.

* Minor fixes.

* Comment some test code.

* Update the design on the confirm step.

* Reorganize the authorize page. Bunch of design fixes for the claim page.

* Fix

* Delete added files my mistake.

* Separate claim-project and authorize pages. Minor design fixes.

* Add more logs to the generate claim button.

* snapshot.

* Add more copy to the three steps.

* Make the claim URL button better.

* Add missing comma.

* Fix unneeded changes.

* Make the header full width.

* Fix all comments by Joshen.

* Clean up extra code.

* Forgotten some things to clean.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-10 11:49:23 +03:00
Stojan Dimitrovski 74a3be9aa8 feat: add workos tpa ui behind feature flag (#36254) 2025-06-09 19:56:06 +02:00
Saxon Fletcher 4c1349f493 remove optional label if gitless branching feature flag disabled (#36264) 2025-06-09 12:02:52 +10:00
Saxon FletcherandJoshen Lim daf8b3c3fd Create branch without GitHub connection (#35983)
* allow creating branching without git

* update branching modals

* add account connections

* edit branch

* copy

* update copy

* enable branch modal changes

* add gitless branching flag

* update account connections

* update pull requests empty state

* Clean up

* refinements to gitless branching

* nit

* nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-09 11:04:10 +10:00
d75cb8b45c fix: studio circular imports (#36026)
* fix: studio circular imports

* Fix the import cycle on Wrappers tabs components.

* Remove duplicate declarations of the feature previews array.

* fix feature previews circular import

* Minor nit

* update all project contexts to use useSelectedProject

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-06 16:38:25 +08:00
Saxon FletcherandJoshen Lim 908444c378 assistant button in help popover (#36184)
* assistant button in help popover

* copy

* width issue

* use links

* nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-06 12:56:37 +10:00
Andrew ValleteauandJoshen Lim 2d0b321ec6 fix(table-editor): handle multi-dimentional array truncation and preview (#36108)
* fix(table-editor): handle multi-dimentional array truncation and preview

* fix(SidePanelEditor): fully load truncated input fields

* Small tweaks

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-05 10:52:47 +08:00
Samuel Bodin 07ec7704db chore: remove unnecessary $ in usage page (#36176)
Update Usage.tsx
2025-06-04 21:11:44 +00:00
Jordi Enric cd573086b1 Log Explorer improvements (#36140)
* make create button go directly to log explorer if warehouse is disabled

* fix limit clause in uppercase not caught by warnings

* make warning tooltip improve spacing

* fix date not updated on log explorer
2025-06-04 18:36:26 +02:00
Kevin Grüneberg 2cd0f3c84d fix: possibly undefined breakdown in plan update modal (#36155) 2025-06-04 23:37:49 +08:00
Joshen Lim b2e368b623 Chore/api keys cleanup (#36097)
* Remove api-keys.tsx, duplicated with api-keys/index.ts

* Remove use of newApiKeys feature flag in SettingsMenu.utils.tsx

* Refactor use of newApiKeys flag to basicApiKeys

* Update logic for shouldDisableUI in useApiKeysVisibility hook

* Smol fix
2025-06-04 12:51:57 +08:00
55c3fdb49a E2E Testing Setup Consolidation (#35080)
* add new e2e folder

* add local supabase and confitional storage

* fix e2e selfhosted

* update actions

* add correct e2e folder

* fix e2e actions

* fix action project ids

* fix permissions

* fix script

* fix playwright install

* playwright root

* pnpm i

* fix api rul

* add env docs

* update run script

* only install deps for e2e

* use same dep

* only install deps for tests

* upd lockfile

* use official vercel integration

* use vercel cli

* remove old folder

* fix script

* rm filter

* rename e2e studio package

* fix install browsers

* add polling for vercel build

* use vercel-preview-url package

* undo actions

* rename ci env to ci

* chore:add rls check and make playwright test less flakey (#35348)

* update ci action

* fix paths

* fix browser install

* run ci against staging

* try caching builds

* fix envs

* fix env check

* fix sign in

* fix sign in url

* fix envs and url

* fix caching

* fix race condition in sign in page

* fix race condition in sign in page

* add check to see if being redirected

* fix caching, check IS_PLATFORM var

* log is_platform

* try vercel build

* fix vercel project id

* fix path

* add temp vercel.json file

* fix paths

* undo project id stuff

* rm cwd

* fix path

* fix paths again

* fix path

* fix base url

* try different fix

* fix config base url

* fix base studio url issues

* retain video on fails

* Update e2e/studio/README.md

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update e2e/studio/README.md

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* fix env file naming

* undo caching

* rm old tests folder

* fix readme scripts

* rm vercel deploy for now, just run build locally

* fix url

* fix build script

* fix is_platform

* fix stuck studio start

* fix env vars

* retain network and logs on fail for better debugging

* add apiurl env

* back to vercel

* disable catpcha

* fix test

* update environment configuration to remove default URLs for CI and streamline API base URL handling

* fix typeerr

* fix urls in home.spec

* fix urls in logs.spec

* fix urls in sqleditor spec

* fix table editor spec

* add tourl util

* use staging api in ci

* re add base url env var

* fix url in projects page

* fix url in sql editor spec

* fix sign in not waiting for cookies omfg

* fix env var name

* fix sql-editor test

* simplify table removal

* add opt out telemetry step

* fix logs tests

* fix table editor spec

* remove flaky steps from table editor tests

* use vercel deployment events instead of build

* add studio check

* fix condition

* debug event

* rm if

* trigger deploy

* undo ac

* make opt out button step optional, some envs dont hav eit

* use testid for sql run button

* use id instaed of timestamp in logs tests

* empty

* rm retries

* up glbal timeout

* chore: fix failing sql-editor playwright test (#35767)

* chore: fix failing sql-editor playwright test

* chore: minor fixes

* Chore/update playwright config (#35826)

chore: update playwright config

* rm supabase project from e2e tests

* refactor and simplify environments

* fix sql editor test

* fix ci env vars

* fix

* fix on windows

* update readme

* add playwright install script to readme

* rm turbopack trace flag

* npm to pnpm for scripts

* delete ivan lines

---------

Co-authored-by: Michael Ong <minghao_3728@hotmail.com>
Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
2025-06-03 17:37:39 +02:00
Jordi EnricandTerry Sutton 792e2316f0 fix schema selector in create fn sheet (#36141)
* fix schema selector in create fn sheet

* fix schemaselctor in auth hook

* add portal false to schemaselector in sqlfunction for cronjobs

* Fix schema selector in function sheet

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2025-06-03 09:26:13 -02:30