Commit Graph
2240 Commits
Author SHA1 Message Date
Kevin Grüneberg 78c4b8f238 feat: support new tax ids (#37284)
- Bahrain
- Ecuador
- Egypt
- Kazakhstan
- Nigeria
- New Zealand
- Oman
2025-07-18 11:32:46 +08:00
406b243c3b Chore/coming soon notice (#37276)
* Add 'New logs' feature preview panel to sidebar

Introduces a FeaturePreviewSidebarPanel for the upcoming 'New logs' feature in the LogsSidebarMenuV2 component, providing users with a visual indicator and description about the rollout.

* Update LogsSidebarMenuV2.tsx

* Update apps/studio/components/layouts/LogsLayout/LogsSidebarMenuV2.tsx

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>

---------

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
Co-authored-by: Wen Bo Xie <wenbox323@gmail.com>
2025-07-17 21:52:40 +00:00
Jonathan Summers-Muir cb294fd6ad fix: enrichment logs queries (#37247)
Update JWT payload extraction in service flow queries

Replaces hardcoded nulls with actual JWT payload fields for expires_at, signature_prefix, subject, and other attributes. Removes unused invalid key check and standardizes variable naming for JWT apikey joins. Improves accuracy and consistency of extracted JWT data in service flow queries.
2025-07-18 05:30:00 +08:00
Jonathan Summers-Muir 8d6e668b36 fix: Prevent arrow key propagation in filter command (#37250)
Prevent arrow key propagation in filter command

Adds an onKeyDown handler to stop ArrowUp and ArrowDown key events from propagating to parent components in DataTableFilterCommand. This prevents unintended navigation behavior when using the filter input.
2025-07-18 03:02:26 +08:00
Jonathan Summers-MuirandJoshen Lim e1cab2669d fix: remove async filter search (#37263)
* Update UnifiedLogs.fields.tsx

* Fix prematurely redirecting back to logs/explorer while on new logs interface due to newly added organization check

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-07-17 18:36:36 +00:00
Jonathan Summers-Muir bf394583cc Refactor unified logs count query logic (#37262)
* Refactor unified logs count query logic

Introduces getUnifiedLogsCountCTE to provide detailed unified logs CTE for count queries, replacing the previous getUnifiedLogsCTE usage in getLogsCountQuery. Removes host and auth_user facet counts from the query and updates the unified logs CTE to include more explicit log type handling and metadata extraction.

* Update unified logs CTE to include all log sources

Refactored getUnifiedLogsCTE to aggregate logs from PostgREST, Postgres, Edge Functions, Auth, and Supabase Storage sources. Also removed trailing comma from facet count CTEs for improved SQL syntax.

* Remove unused 'host' field from log queries

Eliminated the 'host' field from multiple log query functions and the final SELECT statement in UnifiedLogs.queries.ts, as it is no longer required for log processing or display.

* Remove unused api_role and auth_user fields from log queries

Eliminated references to api_role and auth_user fields, along with related joins, from multiple log query functions. This streamlines the queries and removes unnecessary data extraction for these fields.

* Update UnifiedLogs.fields.tsx
2025-07-18 02:30:50 +08:00
Joshen Lim ba2c83decc Gate unified logs to team and above (#37260) 2025-07-18 01:08:13 +08:00
Jordi Enric dfacfd5137 Reports clean ups (#37248)
* use similar ui styles for different charts

* fix naming

* use similar styles, fix height

* rm year from tooltip timestamp

* remove unnecessary code in useChartData
2025-07-17 16:08:22 +02:00
Jonathan Summers-Muir 7d5dd5b6be Chore/logs reloading state (#37252)
* Add loading opacity and keep previous data for logs

Wrapped TimelineChart and DataTableInfinite in divs with opacity transition during data fetching for improved UX. Added keepPreviousData: true to unified logs chart, count, and infinite queries to retain previous data while fetching new results.

* Remove keepPreviousData from logs count query

The keepPreviousData option was removed from the useUnifiedLogsCountQuery hook to rely on default query behavior or custom options. This may affect how data is retained between queries.

* Update UnifiedLogs.tsx

* Refactor TimelineChart opacity handling

Moved opacity and transition classes from a wrapping div directly to the TimelineChart component for cleaner structure and improved conditional styling.
2025-07-17 13:49:04 +00:00
Cemal KılıçandJordi Enric 09fc7776b5 feat: update auth sign in report query (#37240)
* feat: update auth sign in report query

* fix chart config

* fix type error for custom properties in chart attributes

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
2025-07-17 15:45:44 +02:00
Jonathan Summers-Muir eb0106179e Add dynamic column generation for UnifiedLogs table (#37239)
* Remove 'host' field from UnifiedLogs interface

Eliminated the 'host' field from filter fields, schema definitions, and column configuration in UnifiedLogs. This streamlines the logs interface and removes unused or unnecessary data.

* Add dynamic column generation for UnifiedLogs table

Replaces static column definitions with a dynamic generator that hides columns when all their values are empty. The UnifiedLogs table now adapts its columns based on the current data, improving readability and relevance.

* Update Columns.tsx

* Update Columns.tsx

* Add column width classes to UnifiedLogs columns

Added explicit cell and header class names for column widths in the UnifiedLogs table to ensure consistent sizing and improve layout control.

* Update Columns.tsx

* Refactor dynamic columns to include visibility state

The dynamic columns generator now returns both columns and their visibility state, allowing UnifiedLogs to merge dynamic visibility with existing column visibility. This improves control over which columns are shown based on the data.
2025-07-17 21:02:31 +08:00
Jonathan Summers-Muir a797ae2674 Remove 'host' field from UnifiedLogs interface (#37232)
Eliminated the 'host' field from filter fields, schema definitions, and column configuration in UnifiedLogs. This streamlines the logs interface and removes unused or unnecessary data.
2025-07-17 12:36:43 +00:00
Joshen Lim b0c3af5e0b Small adjustment to branch paddings (#37238)
* Small adjustment to branch paddings

* For merge request too

* DRY
2025-07-17 20:08:55 +08:00
Jonathan Summers-Muir ef2fbb88c4 Feat/logs date refactor (#37243)
* Integrate LogsDatePicker into DataTable timerange filter

Replaces DatePickerWithRange with LogsDatePicker in DataTableFilterTimerange, enabling use of helper presets and improved date range selection. Adds support for passing button props and synchronizes filter value logic with the new date picker component.

* Add upgrade prompt for log date range limit

Introduces an upgrade prompt when users select a log date range that exceeds their current plan's retention limits. Uses `maybeShowUpgradePrompt` and `useCurrentOrgPlan` to determine when to show the prompt, improving user awareness of plan restrictions.
2025-07-17 20:07:00 +08:00
Jordi Enric d8acd6752c fix timestamp missing (#37242)
fix
2025-07-17 12:33:33 +02:00
Joshen Lim 22f937c954 Chore/async filters for unified logs (#37200)
* Refactor retrieval of log counts

* Async filters

* Clean up

* Clean up

* Fix
2025-07-17 17:33:17 +08:00
Kevin Grüneberg 009dabaf2b fix: plan redirect from pricing page (#37231) 2025-07-17 16:57:48 +08:00
Jonathan Summers-MuirandJoshen Lim 41a5c39305 Feat/logs preview (#37230)
* Add unified logs feature preview and toggle controls

Introduces a unified logs feature preview, allowing users to enable or disable a new logs interface with enhanced filtering and real-time updates. Adds context hooks, UI components (UnifiedLogsPreview, LogsSwitchBox), and conditional logic to display the new interface or revert to the old one. Updates routing and feature preview modal to support the unified logs preview, and extends local storage keys for feature flag management.

* Refactor log UI components and remove LogsSwitchBox

Replaced custom SVG icons with Lucide React icons in LogsSidebarMenuV2 and FilterSideBar for consistency and maintainability. Removed the unused LogsSwitchBox component and cleaned up related imports in FeaturePreviewModal.

* Refactor sidebar panels to use FeaturePreviewSidebarPanel

Introduces a reusable FeaturePreviewSidebarPanel component and replaces InnerSideBarEmptyPanel usages in LogsSidebarMenuV2 and FilterSideBar. Removes unified logs feature flag logic from Sidebar and NavigationBar.utils, simplifying route generation and UI logic.

* Refine sidebar panel styles and remove unused icon

Removed the unused Sparkles icon import from LogsSidebarMenuV2. Updated FeaturePreviewSidebarPanel to use 'bg-muted/10' for background, simplified class names for text alignment, and cleaned up redundant text-left classes for improved styling consistency.

* Update FeaturePreviewModal.tsx

* Update FeaturePreview.constants.tsx

* Clean up

* Final clean up

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-07-17 16:14:04 +08:00
Jordi Enric 1a36794c59 Add postgREST Report + Filters (#37178)
* add postgrest report

* fix type

* fix layout border top

* fix refreshes

* fix up loading state, title, telemetry src

* add shared api report filters, make headers look the same

* fix auth

* consolidate shared api hooks

* fix name
2025-07-16 17:45:57 +02:00
Joshen Lim 2d0effe637 Fix bucket row actions (#37209) 2025-07-16 23:24:39 +08:00
Etienne Stalmans 9f29d5c8df chore: new security page without flag (#36855)
* chore: new security page without flag

Remove feature flag for new security page

* chore: add additional docs

* chore: prettier

* chore: move mfa enforcement page

* fix: link fixes
2025-07-16 16:24:11 +02:00
Joshen Lim bcf943ee88 Advisor rules update for LW15 (#37202)
* Advisor rules update for LW15

* Simplify UX to confirmation modal

* Rename section to settings

* fix

* patchy

* further simplify

* Smol styling fix

* Create + Delete lint rules to also invalidate lints
2025-07-16 22:20:08 +08:00
Stojan DimitrovskiandIvan Vasilov 944aba84ae feat: use code instead of reset password link (#37171)
* feat: use code instead of reset password link

* Migrate forgot-password and reset-password to use RHF.

* Rename the file.

* Forgot to change the import.

* Add a small timeout to solve a race condition.

* handle mfa case

* fix typecheck

* use separate forgot-password-mfa page

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-07-16 15:01:38 +02:00
Francesco Sansalvadore 097ded6906 standardize db report (#37198)
* init standardization

* same charts

* clean up charts

* cleanup

* restore condition

* remove comment

* show availableIn placeholder
2025-07-16 12:29:01 +02:00
Saxon Fletcher 6a1115ebaf Refine review branch prompt (#37196) 2025-07-16 19:55:50 +10:00
Alaister Young dac0ee6575 chore: deep link feature preview modal (#37191)
* chore: deep link feature preview modal

* handle invalid keys gracefully

* default to first feature preview in query

* use nuqs
2025-07-16 14:38:33 +08:00
Greg Richardson 1a064fef70 feat: middle click closes tab (#37187) 2025-07-16 14:20:39 +08:00
Saxon FletcherandAlaister Young 625af107bd Branch refinements (#37192)
* branch refinements

* branch price copy

* change alignment of badges

* remove console.log

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-07-16 16:06:54 +10:00
Saxon FletcherandJoshen Lim c9458e33a3 add merge request button to header (#37188)
* add merge request button to header

* hide merge button behind branching 2 enabled flag

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-07-16 14:00:50 +08:00
Jordi Enric ae1d25d22b fix filltimeseries for reports (#37160)
* fix filltimeseries

* fix type err

* fix seconds in tooltip changing

* fix filter default values
2025-07-15 20:38:03 +02:00
Joshen Lim 3a78738b14 chore/unified-logs-fixes-04b (#37150)
* Shift fixes from https://github.com/supabase/supabase/pull/36762

* Add comment
2025-07-16 00:07:19 +08:00
Ivan VasilovandAlaister Young 89c803551b feat: Analytic storage bucket (#37003)
* Migrate the CreateBucketModal to use RHF.

* Minor fixes for the create bucket modal.

* Use the bucket type from the API everywhere.

* Improve the types on some functions. Add "skip" mode to FDWCreateMutation.

* Expand the CreateBucketModal to explain what will happen when creating an iceberg bucket.

* Add a page for iceberg buckets.

* Add error states to the iceberg explorer.

* Fix the names for the FDWs.

* Add a dialog for setting up namespace.

* Restructure the new files.

* Add a download env button.

* Add warning to install the wrappers extension when creating an iceberg bucket.

* Add failover details when the FDW is not setup.

* Fix a lint error.

* Fix a type error.

* Minor fixes.

* Fix the server name.

* Add an icon for iceberg buckets.

* Fix the import foreign schema dialog.

* Make the setup wrapper button functional.

* Fix a bad useMemo dependency.

* Small changes to the iceberg bucket page.

* Minor fix for the edit wrapper sheet.

* Rename the files from kebab-case to PascalCase.

* Rename the files again to include Analytic instead of Iceberg.

* Rename Iceberg type to Analytic.

* Add a switch for creating namespace in the import foreign schema dialog.

* Fix the CreateBucketModal.

* Fix the delete modal feature.

* Fix the S3 keys in the FDW.

* Only create a namespace if the switch is true.

* Regenerate and fix the types.

* Fix the FDW create mutation to handle numbers in the FDW names.

* Make the icon smaller.

* Check whether the namespace exists, if it doesn't create it.

* Hide action from the analytic bucket which don't work.

* Invalidate namespaces when creating them.

* Add small explanation for the creation of namespaces.

* Minor fixes.

* Tons of changes to make the namespace feature work.

* Fix type errors.

* Fix bad import.

* Minor copy fixes.

* Replace the multiple cards with a table of namespaces.

* update copy icon

* tiny copy update

* Fix the empty state for foreign tables.

* Hide the analytics bucket option for self-hosted.

* Minor copy fixes.

* Expand the CTA on no namespaces state.

* More minor fixes.

* More small fixes.

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-07-15 14:18:38 +02:00
16ee99ff9b Chore/branch feature preview (#37135)
* add default main branch if none exists

* replace feature flag with feature preview

* add image

* add behind feature flag

* Update apps/studio/components/interfaces/App/FeaturePreview/Branching2Preview.tsx

Co-authored-by: Han Qiao <sweatybridge@gmail.com>

* Update apps/studio/components/interfaces/App/FeaturePreview/Branching2Preview.tsx

Co-authored-by: Han Qiao <sweatybridge@gmail.com>

* Update apps/studio/components/interfaces/App/FeaturePreview/Branching2Preview.tsx

Co-authored-by: Han Qiao <sweatybridge@gmail.com>

* Update apps/studio/components/interfaces/App/FeaturePreview/Branching2Preview.tsx

Co-authored-by: Han Qiao <sweatybridge@gmail.com>

* Small tooltip fixes

* Prettier

---------

Co-authored-by: Han Qiao <sweatybridge@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-07-15 20:24:47 +10:00
Riccardo Busetti e3b646fea6 feat(replication): Implement new error UI when the pipeline fails (#37105) 2025-07-15 13:10:37 +03:00
Joshen Lim 0666d5c03e Add portal to PopoverContent in TimezoneSelection.tsx (#37001) 2025-07-15 18:05:13 +08:00
Alaister Young 31455448b0 chore: toast auth initialization errors (#37037)
* chore: toast auth initialization errors

* Redirect back to sign in if authentication fails

* add debug logs

* remove debug logs

* debug gotrue

* remove gotrue debug
2025-07-15 17:57:32 +08:00
Jordi Enric 1b04f1a43b add shared api metrics to auth and realtime reports (#36960)
* add shared api report to auth and realtime

* prop to hide report metrics on shared report

* rm commented out code

* remove manual mapping, add type cast for type

* rm realtime filters
2025-07-15 11:57:15 +02:00
Joshen Lim b4717e1787 Some fixes for local studio (#37147) 2025-07-15 17:22:23 +08:00
Luca Forstner 6c724cd949 fix: Fix link pointing to new API keys (#37146) 2025-07-15 10:48:55 +02:00
Pamela Chia 8a6248a327 Feat/add mfa and wrapper tracking (#37126)
* add mfa enforcement tracking

* add wrapper created tracking
2025-07-15 15:27:18 +08:00
Saxon FletcherandAlaister Young a829c23c82 Icons and close branch button changes (#37143)
* merge page refine

* iffe gives me the ick

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-07-15 14:42:53 +10:00
Saxon FletcherandJoshen Lim 63157081c1 Remove review button (#37138)
* remove review button

* Smol fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-07-15 13:23:54 +10:00
Saxon Fletcher db59869ebe Edit function refetch fix (#37137)
* dont refetch body

fix functions refetching

* fetch on mount
2025-07-15 12:39:38 +10:00
Saxon Fletcher 927f92f2d4 add default main branch if none exists (#37134) 2025-07-15 12:39:19 +10:00
Chris StocktonandChris Stockton d8b623a0d0 fix(api-settings): correct API keys description text with link (#37118)
* fix(api-settings): correct API keys description text with link

The legacy guidance text had "Secret" and "Publishable" API keys
swapped for `anon` and `service_role` keys. This fix corrects the
text and adds contextual links to the new API keys page to guide
users appropriately.

* fix: remove target & rel

* fix: prettier

---------

Co-authored-by: Chris Stockton <chris.stockton@supabase.io>
2025-07-14 10:10:04 -07:00
Jordi Enric 804f270c3a reports pricing (#36992)
* add database pricing config

* pricing paywalls

* fix showing correct charts

* fix test

* remove disabled helpers in favor of upsell dialog

* fix missing fn to calc time

* rm clog

* show badge next to helpers

* ui fix

* fix type errs

* fix hallucinated import fml
2025-07-14 16:45:29 +02:00
Jordi Enric a20a47c75a fix find by id in vault (#37101)
fix find by id
2025-07-14 22:00:52 +08:00
Joshen Lim f93058ca73 Improve loading and success handlers for JWT keys (#37109) 2025-07-14 21:51:31 +08:00
Jonathan Summers-MuirandJoshen Lim 4b0bd73312 chore: jwt keys page table layout (#37097)
* Improve layout and truncation in SigningKeyRow

Added flex and truncation classes to ensure status labels and key IDs are properly truncated and aligned. This enhances the table's appearance and prevents overflow issues for long text.

* Improve icon layout and badge styling in UI components

Added flex-shrink-0 to icons in AlgorithmHoverCard for better alignment. Updated InfoPill to use min-w-0, overflow-hidden, and improved badge and label layout for consistent appearance and handling of long content.

* Remove unused cn import from InfoPill component

The cn utility import was removed from InfoPill.tsx as it is no longer used. The Badge component now uses a direct className string instead.

* Update JWT key table columns and add rotation info

Removed the 'Key ID' column and added a 'Last rotated at' column to the JWT secret keys table. The signing key row now displays the relative time since the key was last updated for previously used keys.

* Add Key ID column to JWT secret keys table

Introduces a new 'Key ID' column to the JWTSecretKeysTable component for improved visibility and management of JWT secret keys.

* Improve JWT key table UI and add tooltip to key ID

Updated the JWT secret keys table to enhance the empty state with an icon and explanatory text, and adjusted column alignment and visibility for 'Last rotated at'. Added a tooltip to the key ID for better accessibility and ensured the 'Last rotated at' column displays for both previously used and revoked keys.

* Improve API key table layout and responsiveness

API key name and description are now grouped together, with description shown under the name. The last seen column is hidden on smaller screens and displays 'Never used' when appropriate. ApiKeyPill max width is now responsive to screen size. The description column was removed from SecretAPIKeys to streamline the table.

* Adjust API key pill and input sizing for responsiveness

Reduced max-widths for ApiKeyPill and updated PublishableAPIKeys layout to improve responsiveness. ApiKeyInput now uses dynamic min/max widths for better display across breakpoints.

* Adjust lg breakpoint min-width for API key input

Changed the lg:min-w value from 40rem to 24rem for the API key input field to improve layout responsiveness at large screen sizes.

* Update PublishableAPIKeys.tsx

* Remove unused file

* Minor refactors

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-07-14 19:40:17 +08:00
Kevin Grüneberg 985b530382 chore: hint for compute costs in upgrade screen (#37094) 2025-07-14 16:31:35 +08:00