Commit Graph
555 Commits
Author SHA1 Message Date
Danny White bf8641ad33 chore(studio): clearer foreign tables (#40411)
* clean up admonition

* legible foreign entity type on light mode

* entity icon instances with tooltip
2025-11-13 21:24:46 +11:00
Danny WhiteandJoshen Lim 849c29f824 chore(studio): improve Storage UI (#40367)
* clarify breadcrumbs

* tiny badge variant

* improve admonition

* indicate max buckets limit

* nit

* Minor nits

* badge fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-13 20:30:49 +11:00
Joshen Lim d8678921c0 Improve granularity of replication status (#40329)
* Improve granularity of replication status

* Minor copy improvements

* Update toast message copy

* Decouple pipeline status from table replication status
2025-11-13 15:13:03 +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
Saxon FletcherandCopilot 986f3464a6 Advisor refine (#40293)
* advisor panel title

* refactor

* use badge for critical

* Update apps/studio/components/ui/AdvisorPanel/AdvisorPanel.utils.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-11-11 10:32:50 +10:00
Danny WhiteandJoshen Lim e900020014 feat(studio): email template configuration (#40069)
* basics

* code editor

* template editor

* validator cleanup

* validator fixes

* style tweaks

* validator

* style improvements

* copy

* related setting

* clearer ternary

* handle path in related setting

* copywriting fixes

* smtp copy cleanup

* fix type

* remove related setting work

* copy nit

* backwards compatability

* fix type error

* copy cleanup

* revert horizontal subject field

* remove extraneous hover

* remove excess padding

* fix whitespace

* document whitespace issue

* simplify spam check

* fix saved value issue

* fix spacing

* Add console logs

* Clean console logs

* Small improvements + clean ups

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-10 19:52:07 +11:00
Saxon FletcherandAlaister Young 643e544231 default filters and state fix (#40232)
* default filters and state fix

* add created at

* text color

* small simplification

* always unregister sidebar

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-11-07 17:33:30 +10:00
c63d2a92a0 Unify Inbox and Advisor (#40026)
* sidebar-manager

* storage keys

* tests

* more ai spots

* test fix

* revert to default

* remove ref

* Update apps/studio/state/sidebar-manager-state.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/components/ui/AIAssistantPanel/AIAssistant.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix ts

* fix

* fux

* fux query param

* clean

* fix

* more

* mock local storage

* simplify

* remove provider test

* remve useopensidebar

* fix(new homepage): open ai assistant on advisor card button clicks

* Update apps/studio/components/layouts/ProjectLayout/LayoutSidebar/index.tsx

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

* Update apps/studio/state/sidebar-manager-state.tsx

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

* refine

* editor sidebar manager

* reset results

* advisor sidebar manager

* empty state and notice

* event tracking

* remove variable

* remove use effect

* open in sidebar

* use sidebar old home

* Update apps/studio/components/ui/EditorPanel/EditorPanel.tsx

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

* connect hotkey

* Update apps/studio/components/layouts/AppLayout/AssistantButton.tsx

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

* Update apps/studio/state/advisor-state.ts

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

* Update apps/studio/state/advisor-state.ts

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

* fix

* initial prompt

* fix(inline editor button): only show keyboard shortcut if hotkey active

* cleanup(advisor panel): minor code cleanup

* fix(advisor panel): misplaced key on list

* fix(advisor panel): add error state

* fix(advisor panel): improve a11y

* fix(advisor panel): cannot find selected item

* fix

* fix

* tooltip

* link

* sidebar move up

* merge inbox

* project/org sidebars

* panels

* clean

* fix use effect

* layoutheader export

* fix

* ts

* prettier

* tests

* remove markdown

* remove org and project filters from state

* text link

* Update apps/studio/state/sidebar-manager-state.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix

* prettier

* remove files

* bump limit

* noop

* format

* remove notifications on self hosted

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-11-07 15:01:53 +10:00
50255605ec Moves inline editor from feature preview to setting (#39892)
* sidebar-manager

* storage keys

* tests

* more ai spots

* test fix

* revert to default

* remove ref

* Update apps/studio/state/sidebar-manager-state.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/components/ui/AIAssistantPanel/AIAssistant.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix ts

* fix

* fux

* fux query param

* clean

* fix

* more

* mock local storage

* simplify

* remove provider test

* remve useopensidebar

* fix(new homepage): open ai assistant on advisor card button clicks

* Update apps/studio/components/layouts/ProjectLayout/LayoutSidebar/index.tsx

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

* Update apps/studio/state/sidebar-manager-state.tsx

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

* refine

* editor sidebar manager

* reset results

* move inline editor to account setting

* update analytics to standard

* copy

* add tracking

* update copy

* fixes

* Update apps/studio/pages/project/[ref]/database/functions.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/pages/project/[ref]/auth/policies.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* zod resolver

* Nit refacotr

* Small fixes

* missed two pieces

* change event

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-07 03:04:37 +00:00
Danny White 4a4ccc30f5 chore: remove sidebar labels (#39924)
* basics

* draft docs

* remove labels

* restore needed pills

* remove extraneous diff

* vault beta status

* remove audit logs beta

* minor fix

* fix integration status
2025-11-07 10:00:49 +11:00
Ignacio Dobronich 89d556c57e chore: entitlement log retention in new interface (#40040) 2025-11-05 14:13:53 +00:00
kemal.earth 5a0e1cb1cc feat(studio): log drains entry point from logs (#40095)
* fix: field reference button padding

* fix: remove overriding button style on field ref button

* fix: tidy up the asChild stuff on side panel trigger element

* fix: bunch of type errors on logs sidebar

Theres a temp any fix in there dont kill me frontend team :D

* feat: add to new logs sidebar too

* feat: add to download dropdown menus

* chore: alphabetical order on new logs dropdown

* chore: add target blank to sheet footer

* fix: gap between buttons on old logs toolbar

* feat: add a separator on old logs

* style: new logs top buttons correct types
2025-11-05 11:19:50 +00:00
Ali Waseem 6a2fb0f278 Fix: updated monaco editor to not eat up CMD + i (#40111)
* fix: updated monaco editor to not eat up cmd + i

* toggle between other sql editor
2025-11-04 07:04:07 -07:00
Charis 0c501d7889 chore: consolidate calendar pickers (#40052)
* chore: update react-day-picker

* fix(design system): date picker demos

* refactor(date picker): change logs date picker to use react-day-picker

* refactor(date pickers): change remaining date pickers to use react-day-picker

* cleanup(date pickers): minor code cleanup

* fix(date picker): fix behavior for single day selection
2025-11-03 10:10:19 -05:00
Ali Waseem e42288156f Fix: overflow warnings were being cut off in the editor for edge functions (#40054)
added overflow warnings
2025-11-03 07:27:21 -07:00
CharisandJoshen Lim 853672af18 fix(storage ui v2): virtualize files buckets table (#40021)
* refactor(infinite list): use @tanstack/react-virtual for virtualization

Swapping virtualization libraries from `react-window` to
`@tanstack/react-virtual`.

Motivation: we need a completely headless library for maximum
flexibility. `react-window` injects extra DOM elements which makes it
hard to customize styling and placement on elements that are very picky
about their DOM structure, like tables.

* refactor(table editor menu): use new infinite list

* refactor(notifications): use new infinite list

* cleanup(infinite list): remove old infinite list

* refactor(storage menu): use new infinite list & remove react-window deps

* fix(storage ui v2): virtualize files buckets table

* refactor(virtualized table): make virtualized table a general ui component

Make virtualized table a general UI component and refactor FilesBuckets
to use VirtualizedTable.

* Fix header bg color, add sort to files buckets, sort bucket list

* Smol fix

* nit

* fix(storage buckets list): keep unvirtualized if user has <= 50 buckets

* Break up FilesBuckets into smaller components

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-03 15:18:57 +08:00
Saxon FletcherandJoshen Lim ddedae58b8 Add link to function and table editor (#40068)
* add link to function and table editor

* Tiny refactor

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-03 03:37:22 +00:00
Saxon Fletcher bf9c99677c switch to default (#40070) 2025-11-03 13:33:58 +10:00
Riccardo Busetti 3182df1c76 feat(etl): Improve destination panel UI (#40001) 2025-10-31 15:34:10 +01:00
Saxon Fletcher d66307f98b fix responsive issues (#40029)
* fix responsive issues

* sidebar width
2025-10-31 19:25:41 +10:00
Joshen Lim 64e3e047eb Final final cleaning up barrel files (#40018)
* Final final cleaning up barrel files

* Fix merge conflict
2025-10-31 14:02:59 +08:00
Joshen Lim b4d38fabd0 Chore/barrel files bye part 05 (#40016)
* Clean up barrel files part 4

* nit

* Part 5 of cleaning up barrel files

* Revert changes for types

* Nit
2025-10-31 13:15:31 +08:00
Charis cfa59dabc8 refactor: use @tanstack/react-virtual for virtualization (#39992)
* refactor(infinite list): use @tanstack/react-virtual for virtualization

Swapping virtualization libraries from `react-window` to
`@tanstack/react-virtual`.

Motivation: we need a completely headless library for maximum
flexibility. `react-window` injects extra DOM elements which makes it
hard to customize styling and placement on elements that are very picky
about their DOM structure, like tables.

* refactor(table editor menu): use new infinite list

* refactor(notifications): use new infinite list

* cleanup(infinite list): remove old infinite list

* refactor(storage menu): use new infinite list & remove react-window deps
2025-10-30 14:27:53 -04:00
Joshen Lim cac225b24a Clean up barrel files part 4 (#40015)
* Clean up barrel files part 4

* nit
2025-10-31 00:30:42 +08:00
Joshen Lim 75e1717a02 Remove barrel files part 02 (#39956)
* Remove barrel files part 02

* Clean up
2025-10-30 23:50:14 +08:00
Francesco Sansalvadore 3bc91b2bcc connect dialog: add shared pooler to transaction pooler (#39981)
fix shared pooler in transaction pooler + add link to docs in connect dialog
2025-10-30 10:15:18 +01:00
d10001b7a7 Advisor sidebar manager (#39889)
* sidebar-manager

* storage keys

* tests

* more ai spots

* test fix

* revert to default

* remove ref

* Update apps/studio/state/sidebar-manager-state.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/components/ui/AIAssistantPanel/AIAssistant.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix ts

* fix

* fux

* fux query param

* clean

* fix

* more

* mock local storage

* simplify

* remove provider test

* remve useopensidebar

* fix(new homepage): open ai assistant on advisor card button clicks

* Update apps/studio/components/layouts/ProjectLayout/LayoutSidebar/index.tsx

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

* Update apps/studio/state/sidebar-manager-state.tsx

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

* refine

* editor sidebar manager

* reset results

* advisor sidebar manager

* empty state and notice

* event tracking

* remove variable

* remove use effect

* open in sidebar

* use sidebar old home

* Update apps/studio/components/ui/EditorPanel/EditorPanel.tsx

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

* connect hotkey

* Update apps/studio/components/layouts/AppLayout/AssistantButton.tsx

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

* Update apps/studio/state/advisor-state.ts

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

* Update apps/studio/state/advisor-state.ts

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

* fix

* initial prompt

* fix(inline editor button): only show keyboard shortcut if hotkey active

* cleanup(advisor panel): minor code cleanup

* fix(advisor panel): misplaced key on list

* fix(advisor panel): add error state

* fix(advisor panel): improve a11y

* fix(advisor panel): cannot find selected item

* fix

* fix

* tooltip

* link

* sidebar move up

* LayoutSidebarProvider to only sendEvent if in a project

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-30 17:43:02 +10:00
95eedb927e Updates to Edge Functions dashboard code editor (#39991)
* feat: use mgmt-api's function body endpoint

* skip json files from static patterns

* set the default content for deno.json

* feat: add drag and drop file support to FileExplorerAndEditor

- Add drag and drop functionality to accept files
- Dropped files are automatically read and added to the files list
- Visual feedback with drag overlay during drag operations
- Files maintain existing data format with id, name, content, and selected state
- Last dropped file is automatically selected for editing

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: add binary file handling to FileExplorerAndEditor

- Add binary file detection for common file extensions (.wasm, images, executables, etc.)
- Show "Cannot Edit Selected File" error message when trying to edit binary files
- Binary files dropped via drag-and-drop retain their original binary content
- Only show error in editor view, files remain accessible in file list
- Text files continue to work normally with full editing capabilities

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>

* do not ignore empty files

* exclude wasm files from static patterns

* Remove eszip parser test as dependency has been removed

* Fix TS issues

* Fix TS issues

* Fix pnpm-lock

* Fix

* Fix

* Nit

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-30 14:30:54 +08:00
Joshen Lim ec27332099 Last part of removing barrel files (#39957) 2025-10-29 19:22:35 +08:00
Joshen Lim 72d50d8ac4 Remove barrel files part 1 (#39955) 2025-10-29 18:07:20 +08:00
e27602f629 Editor sidebar manager (#39834)
* sidebar-manager

* storage keys

* tests

* more ai spots

* test fix

* revert to default

* remove ref

* Update apps/studio/state/sidebar-manager-state.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/components/ui/AIAssistantPanel/AIAssistant.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix ts

* fix

* fux

* fux query param

* clean

* fix

* more

* mock local storage

* simplify

* remove provider test

* remve useopensidebar

* fix(new homepage): open ai assistant on advisor card button clicks

* Update apps/studio/components/layouts/ProjectLayout/LayoutSidebar/index.tsx

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

* Update apps/studio/state/sidebar-manager-state.tsx

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

* refine

* editor sidebar manager

* reset results

* Update apps/studio/components/ui/EditorPanel/EditorPanel.tsx

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

* connect hotkey

* initial prompt

* fix(editor sidebar): disable hotkey based on user preference

* cleanup(inline editor): add migration for hotkey local storage key

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-10-29 08:45:07 +10:00
Alaister YoungandCharis a3e7cb7285 chore: move password check to frontend (#39927)
* chore: move password check to frontend

* remove barrel file export and fix test import

* move import inside function

* Update apps/studio/lib/password-strength.ts

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

* fix test

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-28 23:24:35 +08:00
Kevin Grüneberg c26231a755 fix: usage page project filtering via URL param (#39919)
When opening the usage page with a projectRef param (filter by project), it lead to some odd behaviour where the project is not preselected and then after picking a project, it would end up showing the initially filtered project from the URL.

PR removes the odd all-projects logic and uses nuqs for URL state mgmt
2025-10-28 13:37:35 +08:00
738c568e6b Sidebar manager (#39795)
* sidebar-manager

* storage keys

* tests

* more ai spots

* test fix

* revert to default

* remove ref

* Update apps/studio/state/sidebar-manager-state.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/components/ui/AIAssistantPanel/AIAssistant.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix ts

* fix

* fux

* fux query param

* clean

* fix

* more

* mock local storage

* simplify

* remove provider test

* remve useopensidebar

* fix(new homepage): open ai assistant on advisor card button clicks

* Update apps/studio/components/layouts/ProjectLayout/LayoutSidebar/index.tsx

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

* Update apps/studio/state/sidebar-manager-state.tsx

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

* refine

* FIX

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-10-28 10:07:21 +10:00
Joshen Lim 6e2a7feee7 Break down new project page into smaller components (#39812)
* Break down new project page into smaller components

* Fix types

* Address comments

* Add min length check for project name in project settings

* Fix tests
2025-10-27 14:04:56 +08:00
Ivan VasilovandWen Bo Xie 977b867bef fix: During project claim, disable the orgs for choosing who can't add another projects (#39398)
* If the auth id has already been used for approving the same org, ignore the error.

* Accidentally committed the wrong code while testing.

* Disable the choose org button if the org can't add more free projects.

* Hide the tooltip if the condition is met.

---------

Co-authored-by: Wen Bo Xie <wenbox323@gmail.com>
2025-10-25 14:17:19 +02:00
Joshen Lim fe4d394fa8 Chore/improve error handling ux for insert before and remove child errors (#39779)
* Improve error handling UX for insertBefore and removeChild client exception errors

* nit

* nit refactor
2025-10-23 09:28:35 +08:00
CharisandJoshen Lim d8f7cc0d57 feat(support form): attach dashboard logs (#39539)
* o11y: mirror and sanitize breadcrumbs

Mirror Sentry breadcrumbs as the basis for our own support logging. Also
adds more sanitization to breadcrumbs.

* feat(support form): toggle for attaching dashboard  logs

Add a toggle to the support form when the category is "Dashboard bug",
to attach recent dashboard logs. Users can preview the attached logs and
opt out.

* feat(support links): dedicated support link component

Add a new component for support links, which:
- Uses the serializer for support link params to ensure
serialization/deserialization pairs correctly
- Snapshots breadcrumbs so the attached log on the support form will be
cut off at the support link click (otherwise we will get support form
actions cluttering up the log)

* tests(support form): extend timeout on flaky test

* Minor clean up

* fix(support form): allow url to specifically indicate no specified project

* minor nits

* Fix tests

* Fix tests

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-22 08:57:49 -04:00
Joshen Lim a880031cc0 Fix project card instance size missing (#39616)
* Fix project card instance size missing

* Fix types
2025-10-17 23:39:33 +08:00
CharisandJoshen Lim 3eb7da7766 feat(preferences): allow disable hotkeys (#39573)
* feat(preferences): allow disable hotkeys

Add a section in /account/me for disabling hotkeys. Only added one
hotkey for now (Cmd + E for toggling editor side panel) but we can add
more with the same pattern.

* refactor: remove default export on ProjectLayout

* feat(hotkeys): allow toggling of command menu and ai assistant hotkeys

* Nit

* PRettier lint

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 08:09:38 -04:00
Saxon FletcherandCharis 7e6796125c AI model selection (#39472)
* expose model and model selection

* tooltip

* simplify

* Update ai-assistant-state.tsx

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

* Update ModelSelector.tsx

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-17 11:17:43 +10:00
Danny WhiteandJoshen Lim 44f0eff125 studio(chore): improve analytics bucket page (#39545)
* specialized dialog for analytics (and vector) bucket creation

* handle missing wrapper extension and iceberg wrapper integration

* bucket creation improvements

* extension and integration checks

* dialog header consistency

* simplify bucket dialog creation button trigger

* fix subtitle ternary

* example bucket without dynamic route

* create dynamic segment

* fancy connection table

* improve bucket page

* connection table polish

* polish

* delete bucket modal

* improve missing installations design

* new table modal

* fix copy icon

* copy all env button placeholder

* list all analytics buckets

* specialised bucket modal

* shared installer hooks and components

* make iceberg wrapper not dependent on wrapper extension

There are cases where the Iceberg Wrapper can be installed but the Wrapper extension has since been removed

* better admonition copywriting

* todo

* misc

* simplify

* simplifications

* work within existing page

* improvements to existing route

* v2 tables

* simplify

* new table modal

* change route to thin wrapper

* reduce size of PR

* remove double scaffold element

* minor nits

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 11:08:04 +11:00
Jordi Enric c55266b425 feat: add tz in tooltip FE-1849 (#39596)
* add tz in tooltip

* clean
2025-10-16 17:16:42 +02:00
Danny White 73f8a15203 chore(studio): consistent copy/reveal input behaviour (#39509)
* user newer input in api keys

* user newer input in s3 connection settings

* improve input read-only styles

* make API text selectable

* disable text until reveal button tapped

* fix build

* revert change

* fix other cases

* revert hardcoded example

* nice region field

* documentation

* cleanup

* better docs

* colour tweaks
2025-10-16 13:44:40 +11:00
Saxon Fletcher 43b686e31a Drag query to home (#39506)
* drag report to home

* drag handle styling and report overlay
2025-10-16 09:01:55 +10:00
kemal.earth 70a64f8c00 feat(studio): query performance metrics chart (#39431)
* feat: setup chart area and tabs

This sets up the area where we can expect the insights chart as well as the tabs mechanism.

* feat: parse pg_stat_monitor logs as json

* feat: create query perf chart utils and move transfrom function

Created a utils file for our QueryPerformanceChart component. This moves the logs to JSON transform function there.

* feat: add timerange to chart

* feat: add date selector to query perf overview

This adds the selector to the top right of the page allowing the user to switch between last hour, 3 hours and 24 hours

* feat: modify chart component to accomodate hiding bits

* feat: add metrics to each tab

* chore: update to 60 min by default and some css

* feat: centralise data parsing for logs

* feat: clean up filters bar

This rewires the export to give you the aggregate pg_stat_monitor data. Also removes unused buttons and filters.

* feat: percentiles for query latency chart

* feat: filter out non evenets from pg_stat_monitor logs

* feat: utils for cache misses and hits

* feat: add selected query to chart on click

* feat: add click through to query panel

* chore: tidy up files

* chore: distinction between selected and open panel

* feat: move query performance fully into reports area

* fix: preserve query params on reports link

* fix: remove right icon syntax in report menu

* chore: remove cache misses from cache chart

* refactor: backwards compatibility for statements if right db version isnt available

* chore: delete randomly generated empty file

* chore: tidy up unused imports and vars

* chore: remove console logs

* chore: remove isMounted from query perf

* fix: cmd k query perf path

* feat: simplify query latency only p50 and p95

This seems to give us a more accurate reading as we can calculate these two

* fix: cache hit rate not showing inside query details

* chore: chart bg colour adjust

So it contrasts a little better on light mode.

* feat: show selected query on other verticals

* feat: bring back symlink in advisors
2025-10-15 13:39:29 +01:00
Charis 92a79d5156 fix(support form): project selector, test timeout (#39529)
* fix(support form): fetch projects on mount

The OrganizationProjectSelector was updated to only fetch when opened to
save on API requests. This causes a problem for the Support Form, which
expects the projects to be fetched immediately so it can fall back to
the first project if no project was paused in the URL.

Added a fetchOnMount prop to OrganizationProjectSelector, which defaults
to false, so we can override this behaviour for the Support Form.

* fix(tests): increase timeout on support form tests
2025-10-14 10:52:05 -04:00
Kevin Grüneberg 15c9a6ced3 perf: pass org slug / project ref to resource warnings endpoint (#39471)
Based on https://github.com/supabase/infrastructure/pull/26483 - pass in project ref / org slug to ensure we filter down and not query across all orgs unnecessarily
2025-10-14 18:27:34 +08:00
Joshen Lim 63b4f1d838 OrganizationProjectSelector to only fetch projects when its opened (#39516)
* OrganizationProjectSelector to only fetch projects when its opened

* Nit
2025-10-14 16:04:49 +08:00