* Split index advisor hook into installed and enabled instead of just available
* TS error
* Some nits
* Revert
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
# Before
On project switcher pages (those with underscore URLs), the project list
is forever stuck in the loading state because it wants to filter by
selected organization, but there is no selected organization.
# After
Not stuck in loading state. Shows all projects sorted by organization.
* add advisor and stats to home
* public tables
* table count
* small fixes
* loading state
* Clean up + Add links to each advisor
* Last few fixes
* Tinnnnnnyy fix
* Nits to make the layout shift less
* Update LoadingState to minimize layout shift
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* feat: add mfa enforcement toggle
Allows toggling MFA enforcement on an organization level.
Depends on API change #22088
* fix: toggle and disable action for non-owner
* chore: disable for free plans
* chore: disable toggle for org MFA if current user doesn't have MFA enabled
* set initial state
* move org mfa to security page
* use zod resolver
* fix initial values
* useQueryClient in the organization-mfa-mutation
* chore: warn about losing access to mfa orgs
* Some refactors, fixes and improvements
* chore: feature flag mfa enforce page
* Tiny fix
* Leave comment
---------
Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* init
* hovercard
* adds button to install index advisor
* hover card now now insert indexes
* update
* moved hook
* align alert dialog to design syste,
* Update index-advisor.utils.ts
* shows all index statements now
* Update query-performance.tsx
* Some refactors
* Clean up
* Fix
* One last nit refactor
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Use PostgresVersionSelector in ProjectPausedState
* Remove
* Update PostgresVersionSelector to handle unpause versions too
* Clean up
* Use new flag showPostgresVersionSelector instead of disableProjectVersionSelection
* Shift every logic in storage mobx store to storage valtio store
* Deprecate localStores folder
* REMOVE MOBX ENTIRELYYYYYYY 😄
* Update
* Clean up
* Small improvement for rename folder
When translation tools go over prices, they wrongfully convert USD into other currencies without changing the price. $25 becomes Rp25 (Rupiah).
By using `translate='no'` we avoid the translation of pricing info. There are some tooltips left that are not covered yet, but this should be the majority already.
Kept the docs Pricing component as simple as possible, just wrapping in a span to avoid translation, not modifying any formatting.
* docs: user nav dropdown
* www: user dropdown nav
* update menus
* chore: add complete local storage allowlist
* move all local-storage to common
* reload after logOut
* add local storage key changes from #35175
* fix errors
* add more keys
* fix merge bugs
---------
Co-authored-by: Alaister Young <a@alaisteryoung.com>
* chore: add usercentrics for consent management
* client component to make next.js happy
* address feedback
* move consent state to common
* fix import
* ensure page events are sent correctly
* add feature flag provider to ui library site
* fix ui lib 500 error
* skip in test env
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Jordi Enric <jordi.err@gmail.com>
* Fix giant icon in roles edit button
* Fix portals for edge functions and realtime inspector
* Set refetchInterval to 2000 in DiskManagementForm if requested_modification in data
* Fix
We currently get support requests about adding or amending invoices due to no billing address being set. Changes in this PR:
- Unify tax id and billing address into a single form
- Add ability to set billing name that diverges from org name
- Add ability to set billing address & tax id during org creation (only paid plans)
- Add ability to set billing address & tax id during plan upgrade
* Set up create trigger
* Hook up update trigger
* Deprecate CreateTrigger
* Small clean up DeleteTrigger
* Update apps/studio/components/interfaces/Database/Triggers/TriggerSheet.tsx
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
---------
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* Disable the convertSqlToSupabaseJs tool because it relies on sql-to-rest which expects binaries of libpg-query.
* Comment out the code instead of deleting it.
* add dummy sinks and pipelines pages
* update api types
* show empty sources state
* show empty replication state at /replication
* create source when enable replication button is clicked
* improve replication page when replication is enabled
* replace sources page with publications page
* publications table
* show publications in table
* create publication wip
* show toast error instead of throwing an exception
* user can now delete a publication
* show empty sinks page
* create and list sinks
* add ui to delete a sink
* show pipelines on the pipelines page
* add ui to create and delete pipelines
* get pipeline status wip
* show pipeline status wip
* show correct label on action buttons
* start and stop pipelines
* remove a couple of console.logs
* fix error when deleting a pipeline
* only consider replication enabled when a source with name = ref is present
* add source and sink names
* correct colspan for 'no pipelines' row
* hide 'supabase_realtime' publication on ui
* move filtering to fetch query
* show sink name in ui
* show source/sink names on pipelines page
* fix start/stop status shown on ui
* fix prettier formatting
* update api types
* extract pipeline action button as a separate component
* fix a crashing page
* fixed publications page crash
* update to match with changes in api
* add new replication page under database
* hide replication page behind feature flag
* update types
* update api types
* show destinations empty state
* add destinations table
* factor out components from Destinations table
* show status dot
* move pipeline fetch query to parent component
* add ability to enable/disable a pipeline
* show loader when starting or stopping a pipeline
* fix a bug in which loading & empty states were shown together
* fix a bug in which error & empty states were shown together
* wrap in default layout
* add new destination panel
* add type field
* fix a forwardRef error
* fix layout
* create destination
* delete destination
* add ability to create or delete destinations with pipelines
* create source if missing
* show only a single error
* add an enable switch
* new layout
* add subsections
* comment out unused code
* show enabled switch only in the header
* close panel when destination is created
* disable buttons when api requests in flight
* reduce panel size
* remove commented out code
* treat max size and max fill secs as numbers
* use drop down to show publications
* simpler vertical layout
* add separators
* add form validation
* remove publications drop down padding
* add new publication button
* hide advanced settings behind an accordion
* add some margin between icon and text
* show publications panel on clicking new publication button
* add header to new publication panel
* fix validation not running for publication drop down
* create publication in the new publication panel
* add table selector in new publication panel
* update api types
* remove old code
* update platform.d.ts
* update navigation bar utils
* remove a redirect from replication page to publications page
* ask user for confirmation before deleting destination
* edit destination panel
* edit destination panel values fixed
* bug fixes
* fix prettier formatting
* enable/disable pipeline after editing
* rename snake_case params to camelCase
* loading button when editing
* remove merge markers
* update api types
* add max_staleness parameter in sinks for bigquery
* add read replicas flow diagram to replication page
* remove an unused import
* Revert "add read replicas flow diagram to replication page"
This reverts commit 8852d7847b457885603dba786141a8aaf8e99350.
* add panel to warn users about additional cost before creating a destination
* hide replication page contents behind a feature flag
* fix merge conflicts
* styling changes
* revert static flag
* styling updates
* fixes
* fix switch
* copy
* fix layout
---------
Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
* Support default opt in feature previews via feature flag
* Add notice banner in /org/[slug] and /organizations if user is opted into the changes by default
* Clean up
* Update copy
* feat: expose pg_upgrade logs to end-users
* chore: don't display database operations group if deployed on the platform
* chore: remove log file from schemas
* chore: bring changes up to date
* Fix layout
* Refactor
* Clean up
* Check if using DefaultPreviewSelectionRenderer is sufficient
* Clean up file
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* add more date range options to log previewer
* new ui for logs datepickers
* update logsquerypanel
* update previewfilterpanel
* fix some bugs and add copypasting date range support
* handle updating times in copypaste events
* add handlepaste to timesplitinput
* update warehouse datepicker
* update reports datepicker
* rm consolelog
* update logsquerypanel
* update tests
* fix reportsfilterbar
* update api-overview report
* rm consolelogs
* update storage report
* add large range wraning
* update large range max const
* fix default values and label
* fix tests
* add default value to logs previewer
* disable helpers fix
* rm last 7 days helper
* add test for disabled helpers
* add label test
* add helper label test
* reset state when closing without saving
* undo rm
* fm datefns, fix test class
* fix year format
* rm disabled from label
* fix type err in test
* fix test
* fix tests
* max 2 days for warning
* fix refresh not using latest timestamp end
* refactor log explorer to use new logs datepicker state hook
* Remove round to hour/day in helpers
* Use now instead of end of day for datepicker TO
* fix types
* update global timeout for e2e tests
* update test with new default
* fix test
* analytics container taking too long to return data so adding more timeout
* force ci
* fix first render issues
* Smol refactor
* Do not reset timestamp end when refreshing in LogsPreviewer
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
- Merge billing & invoices page
- Moved credits under payment method management to keep it closer to invoices
- Reduced invoice list to 5 by default
- Added "Billing" navigation item for new org nav
- Rewrote invoices links to use new billing invoices section
- Permanent redirect for organization invoices page