813 Commits
Author SHA1 Message Date
Joshen Lim b374628216 Chore/small fix vectors (#40693)
* Flip vectors enabled features to true

* Fix enabled logic
2025-11-22 02:19:04 +08:00
Ivan Vasilov 8ce41157a3 fix: Generate temp API keys when doing mutations for Analytics buckets (#40680)
* Refactor the iceberg queries and mutations to use getOrRefreshTemporaryApiKey.

* Fix the uses of the mutations.

* Hardcode the temp api keys queries at 60 seconds.
2025-11-21 21:47:29 +08:00
Raúl BarrosoandAli Waseem bfef63e874 feat(mgmt-api): update reports API to use multiple attributes (#40473)
* feat(mgmt-api): update reports API

Related to https://github.com/supabase/infrastructure/pull/27519 and https://linear.app/supabase/issue/API-551/extend-infra-monitoring-with-multi-attribute-response

* tests: infra-monitoring-queries

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-21 12:56:04 +00:00
Riccardo Busetti 9fdc3dd8de ref(etl): Improve updates, rollbacks and errors UI (#40644) 2025-11-21 10:30:39 +00:00
2209d72990 Update UI to de-couple ETL replication context from Analytics Buckets (#40645)
* Update UI to de-couple ETL replication context from Analytics Buckets

* Nit

* Nit

* nit

* Address all feedback

* Address feedback

* Add enabled feature check for analytics and vector buckets

* FIXX

* Update apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/NamespaceWithTables/TableRowComponent.tsx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-11-21 16:28:31 +08:00
Ali Waseem 88c5e7cbd4 Fix: updated expiry to be 60 seconds (#40659)
* updated expiry to be 60 seconds

* updated tests

* Updated API
2025-11-20 14:00:11 -07:00
Ivan Vasilov 43cc61818c chore: Migrate all isPending uses in react-query (#40642)
* Bump react-query. Minor type and logic fixes.

* Migrate all use of isLoading to isPending in mutations.

* Fix type errors.
2025-11-20 16:44:53 +01:00
barcofourie f5d9cb1b60 feat: adds link conversation support form (#40553)
* feat: adds link conversation support form

* style: fixes prettier styling issues

* fix: type checking errors

* feat: adds redirect to 404 for self hosted

* style: prettier formatting
2025-11-20 08:23:20 -07:00
Ivan Vasilov a4b6c63928 chore: Remove the download bucket object mutation (#40640)
Remove the download bucket object mutation.
2025-11-20 15:15:49 +01:00
Ivan Vasilov a40ccc4b45 chore: Clean onSuccess and onError props on useQuery (#40641)
* Remove all onSuccess and onErrors from useQuery.

* Minor fixes to all refetchInterval.

* Fix smaller type issues.
2025-11-20 14:08:56 +01:00
Ali WaseemandIvan Vasilov 3f6f8aa906 Fix: Use storage API for downloading files in the Dashboard (#40592)
* added ability to download files from storage api directly

* updated to rechange size

* updated test methods

* updated test suite

* updated tests

* updated to remove loops

* removed AI slop

* Updated to use single API key in mem

* Fix the memoization of the getOrRefreshTempApiKey function.

* updated imports

* updated imports

* updated to use import meta

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-11-19 11:56:04 -07:00
Cemal KılıçandAli Waseem d5dc5431c0 chore(oauthserver): update UI texts (#40511)
* chore(oauthserver): update UI texts

* fix: update docs urls

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-19 08:29:41 -07:00
Luca ForstnerandJoshen Lim e063783f76 refactor: Send favorite as top level value for user content (#40556)
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-19 15:16:58 +01:00
Joshen Lim 11107a4781 Update API types (#40609) 2025-11-19 22:13:28 +08:00
Joshen Lim fe04045aa4 Smol fix ETl (#40618)
* Smol fix ETl

* More fix
2025-11-19 21:36:43 +08:00
Ivan Vasilov c83d7255a4 chore: Migrate leftover query keys (#40573)
* Fix queryKey to be compatible with RQ 5.

* Revert .find usage of queryKey.
2025-11-18 10:27:17 -07:00
Joshen Lim d78f6a1678 Set up feature for ETL + Analytics Buckets private alpha (#40523)
* Set up feature for ETL + Analytics Buckets private alpha

* Nit

* Add override

* Remove console log

* Update feature flag logic
2025-11-18 17:49:46 +08:00
Joshen LimandAlaister Young 9efe2643e3 Joshen/fe 2141 swap organization settings page to use paginated projects (#40513)
* Use version 2 organization roles endpoint and fix all affected files + unit tests

* Update API codegen

* Replace all usage of old useProjectsQuery with useOrgProjectsInfiniteQuery

* Swap access callout for project roles to use collapsible instead

* Deprecate useProjectsQuery and clean up

* Update apps/studio/components/interfaces/Organization/TeamSettings/UpdateRolesPanel/UpdateRolesPanel.tsx

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-11-18 13:26:09 +08:00
Joshen Lim 975986f33f Finalize clean up logic for deleting analytics buckets (#40461) 2025-11-17 08:16:59 -07:00
Joshen Lim 51e2f10ba7 Chore/add missing error handler for buckets (#40521)
* Add missing error handler for file buckets

* Add missing error handler for analytics buckets

* Add missing error handler for vector buckets
2025-11-17 22:47:56 +08:00
Charis a5e2c62ef4 fix: check for api key permissions before requesting (#40452)
To prevent sending unnecessary requests for API keys when the user can't
view them (Read-Only Role), first check the permissions.
2025-11-14 09:43:34 -05:00
Ali Waseem d9e5851467 Fix: storage throttle issues when uploading large number of files (#40445)
* WIP: storage key throttling

* updated usage

* added api key validation tets

* removed comments

* updated description
2025-11-14 07:32:01 -07:00
Danny WhiteandJoshen Lim eaf35c14c6 chore(studio): filter policies by bucket name (#40456)
* filter buckets

* Simplify

* General refactors

* Smol

* Add missing empty state for search

* Clean up 😬

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-14 17:47:16 +08:00
Ivan VasilovandJoshen Lim 1032d13930 fix: Small fixes in Analytics and Vector Buckets (#40386)
* When creating a s3 vectors fdw, add the target schema as a server option.

* Fix a bug in the row link, it didn't work when you middle click.

* Refactor the protected schema logic to include schemas from all fdws.

* Refactor the protected schema logic to include fdw type and name. Change the ProtectedSchemaWarning to show different messages for the 2 fdw types.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-13 11:02:41 +01:00
Joshen Lim e36ae95eb7 Refactor polling logic for Analytics Buckets while syncing with namespace (#40381)
* Refactor long polling logic for analytics bucket to automatically long poll when landing back on page and data has yet to be synced

* Nit clean up refactor

* Clean up

* Nit
2025-11-13 17:17:36 +08:00
Joshen Lim d8fcab2433 Joshen/depr 250 analytics buckets use temporary api key instead of projects (#40342)
* Retrieve temporary API key within iceberg-namespace-tables-query

* Retrieve temporary API key within iceberg-namespace-table-delete-mutation

* Retrieve temporary API key within iceberg-namespaces-query

* Fix

* Retrieve temporary API key within iceberg-namespace-create-mutation

* Update based on comments
2025-11-13 16:04:21 +08:00
038249088a feat: update realtime report (#40252)
* feat: update realtime report

Co-authored-by: Jordi Enric <jordi.err@gmail.com>

* fix: misc bug fixes

* fixup! fix: misc bug fixes

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-12 10:33:27 -05:00
Ivan Vasilov c5bf65b0b4 feat: Create FDW for S3 Vectors buckets (#40206)
* Fix childProps in Admonition so that they're added as a prop to the main div.

* Replace the admonition with Alert in Wrapper tab page to add a gap between childs.

* Add s3 vectors fdw.

* Minor fix to FormSection.

* Update the fdw mutations to support passing in options.

* Refactor the vector flow to create fdws.

* Revert cron description change.

* If the bucket can't be created, don't create a fdw.

* Update/delete the fdw when deleting a table or a bucket.

* Minor fixes.

* Clean up the delete modal.

* Handle edge cases when missing a wrapper.

* Remove the admonition in the create bucket modal.

* Fix the loading state when creating a bucket.

* Fix the createWrapper sheet to work with s3 vectors.

* Fix undefined wrapperMeta issue.

* Create the schema when installing a wrapper.

* Tiny cleanup.

* Clean up unneeded useState. Create a wrapper only if the all conditions are met.

* Fix all comments.

* Add s3 vectors for docs.

* Add a link and fix the file name for S3 Vectors in docs.

* Hide the table editor button if the wrapper instance is missing.

* Small fixes.
2025-11-12 11:00:38 +01:00
Lakshan PereraandJoshen Lim 426c371d59 fix: correctly set entrypoint, import map path and static patterns for new functions (#40368)
* fix: correctly set entrypoint, import map path and static patterns for new functions

* Smol refactor

* Use TimestampInfo for last updated column in edge functions

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-12 17:13:22 +08:00
Ali Waseem edb59e0674 Fix: updated RLS to use messages instead of formatted error (#40356)
updated RLS to use messages instead of formatted error
2025-11-11 13:08:32 -05:00
Raminder Singh dee40fe1bf feat: add stopping pipeline status in ui (#40294) 2025-11-11 07:01:32 +05:30
Jordi Enric be5e8b289e Auth Overview: Refactor to Logflare Endpoint for all metrics (#40042)
* refactor

* fix schema, add validation, add tests, remove old code

* remove debugging tag

* fix imports

* prettier

* fix prettier

* move query to its own file
2025-11-10 11:30:12 +01:00
Stephen MorganandIvan Vasilov 4c4083b951 fix: Validate queue names (#40290)
* fix: input validation for queue name

* grammar

* fix: whitespacing issue

* Reuse the validation logic for queue name.

* Reuse the query name schema in the create queue sheet.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-11-10 11:12:17 +01:00
Jordi Enric ece02759d7 [DESIGN-301] Project Homepage: refactor to logflare endpoint (#40124) 2025-11-10 10:30:45 +01:00
Joshen Lim 5291fe3de9 Set up removing tables from namespaces in analytics buckets (#40244)
* Set up removing tables from namespaces in analytics buckets

* Nit

* Clean up based on comments
2025-11-10 11:32:13 +08:00
Joshen Lim 833441801b Joshen/depr 170 analytics buckets hook up connect tables functionality (#40217)
* midway

* Hook up connect tables e2e

* Update isEnabled flag

* Change connectingStep to enum

* Nit

* Nit

* Nit

* Only show replication status if theres a publication

* Improve loading state in etl page

* Refactor + Clean up + Add long poll logic when adding more tables
2025-11-07 17:04:37 +08:00
Joshen Lim 277abeb1f1 Clean up RQ retries (#40229) 2025-11-07 12:33:18 +08:00
Riccardo BusettiandJoshen Lim 91464b8fe8 ref(etl): Rename Replication to ETL Replication (#40202)
* ref(etl): Rename Replication to ETL Replication

* Fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-07 12:02:40 +08:00
Ali Waseem 4d62c6d509 Fix: updated critical path errors within studio (#40216)
* updated Sentry critical path erroring

* removed unneeded return
2025-11-06 14:37:11 -08:00
Charis df63ce3658 fix(mssql foreign tables): disallow sort on columns filtered for equality (#40137)
There is an edge case interaction between the Postgres query parser and
MSSQL foreign tables, where the query parser may drop sort clauses that
are redundant with applied filters. This leads to invalid MSSQL syntax,
because the resulting query has a `limit` but no `sort`, and the user
sees a confusing error message.

This PR detects this edge case on MSSQL foreign tables. There are three
cases:
1. The user filters by a column, but there are still other columns
available for sorting. The default search for a sorting column will
leave out the filtered column.
2. The user filters by a column/several columns, and there are no more
columns that can be used for sorting. We stop the query and show an
admonition.
3. The user filters by a column, then tries to sort by the same column.
We stop the query and show an admonition.
2025-11-06 13:14:30 -05:00
7682bac0f3 Fix: Updated to use optimized search columns when getting user counts (#40107)
* Updated to use optimized search columns when getting user counts

* added unit tests for query builders

* minor

* Nit fix keywords URL param not getting loaded into search input field

* removed user footer

* updated tests for upstream

* updated integration tests

* updated tests to be int for paginated

* updated schema

* updated types

* updated type imports

* updated type imports

* Apply suggestion from @avallete

Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>

* updated literal import

* refactor: use common escaping (#40186)

refactor: use utils for sql escaping

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>
2025-11-06 15:32:34 +08:00
Luca Forstner d23f08e561 feat: Add possibility to remove and reauthorize GitHub connections (#40126) 2025-11-05 11:58:37 +01:00
47e1134a1d feat: Vector buckets - initial work (#39597)
* Initial work on vector buckets.

* Add more queries and UI.

* chore(studio): vector buckets contents (#39705)

* language

* match analytics buckets

* shared empty state

* proper loading state

* create dialog cleanup

* simplify copywriting

* proper details

* filtering

* use real data

* chore(studio): vector buckets polish A (#39759)

* empty state

* better checks

* bucket name in sheet

* fix typo

* sheet improvements

* rename vector index to vector table

* cleanup

* More work on the vector indexes.

* Add delete for bucket and indexes. Create index should now work.

* chore(studio): vector buckets polish B (#39794)

* loading

* delete modal

* fix modal behaviour

* Add modal for deleting vector buckets.

* Bring back the shimmering loader.

* chore(studio): vector buckets polish C (#39887)

* fix bucketname on deletion dialog

* empty states

* remove extraneous padding

* proper loading and not-found cases

* Minor fixes.

* Minor updates to the vector components.

* Add more instructions to the cursor rules.

* Some refactors and shifting files around

* Refactor analytics buckets detial to improve time to fcp

* Fix

* Refactors + simplify

* Last few nits, just leaving comments

* If the bucket is not empty, delete all indexes first.

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-04 15:25:46 +01:00
Ivan Vasilov 4da5d019ae chore: Migrate some stray queryKeys to the RQ 5 syntax (#40086)
Fix some stray queryKeys.
2025-11-04 09:33:49 +01:00
Joshen Lim df3cb0953a Tiny fix (#40119)
* Tiny fix

* Smol fix
2025-11-04 16:06:35 +08:00
Joshen LimandDanny White 1f9906aab3 Use new Storage UI layout (#40076)
* First pass of deprecating old storage UI components

* Clean up local-storage flag for new storage UI

* Add coming soon UI for analytics and vector buckets pages

* Set up warning states for analytics buckets

* fix spelling and margin

* Smol fix

* nit

* Surface wrappers upgrade check in UI instead of toast

* Nit clean up

* update tests

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2025-11-04 15:37:30 +08:00
Joshen Lim faf1167bf4 Remove ts nochecks and any typecasts, and have CreateBucketModal use POST analytics-buckets endpoint (#40031)
* Remove ts nochecks and any typecasts, and have CreateBucketModal use POST analytics-buckets endpoint

* Smol fix

* Smol fix

* nit

* Nit

* Nit
2025-11-04 11:43:44 +08:00
Ivan Vasilov 8b657165b5 chore: Migrate to use custom type for ReactQuery queries and mutations (#40073)
* Add custom types for queries, mutations and infinite queries.

* Migrate all queries to use the new type.

* Migrate all infinite queries to useCustomInfiniteQueryOptions.

* Migrate all mutations to use useCustomMutationOptions.

* Add type to all imports in `types` folder.
2025-11-03 13:18:13 +01:00
Ali WaseemandIvan Vasilov 922780fcc1 Fix/enable queue rest management pqmq versions (#40023)
* added queues and keys to fetch version

* updated to support postREST queue management

* updated to use existing hook

* removed unused keys

* - added semvar lib
- updated logic to use semvar lib

* The conditional read was added in 1.5.0.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-10-31 17:55:37 +01:00
Ali Waseem 592f03f774 Fix: updated logic to respect retry-after header (#40046)
updated logic to respect try after header
2025-10-31 10:20:27 -06:00