[pull] master from supabase:master#801
Merged
pull[bot] merged 4 commits intocode:masterfrom Mar 31, 2026
Merged
Conversation
…#44402) ## Summary - The "Install integration" button in `InstallIntegrationSheet` was unconditionally disabled when required extensions were missing from the DB image (`hasMissingExtensions`) - For webhooks, the installation goes through `installationCommand` (platform API `/database/{ref}/hook-enable`) which handles `pg_net` setup server-side — the client-side extension check is unnecessary - Now only disables the button for missing extensions when there is no custom `installationCommand` ## How this happened PR #44277 migrated Database Webhooks to the new marketplace integrations UI. The `InstallIntegrationSheet` already had a `disabled={hasMissingExtensions}` guard from its original implementation (for extension-only integrations like queues). When webhooks was added with its `installationCommand` + `requiredExtensions: ['pg_net']`, the guard wasn't updated to account for the command-based install path. ## Test plan - [ ] With marketplace flag enabled, verify the "Install integration" button is clickable for webhooks even if `pg_net` is not pre-installed - [ ] Verify clicking it successfully enables webhooks via the platform API - [ ] Verify that extension-only integrations (e.g. queues) still correctly disable the button when extensions are unavailable Fixes FE-2928
## Summary - Fixes the "Enable webhooks" button being greyed out in the non-marketplace UI - PR #44277 added `requiredExtensions: ['pg_net']` for the new UI, which inadvertently caused the old UI's actions area to get disabled via `hasToInstallExtensions` - Skips the disabled styling when `hideRequiredExtensionsSection` is set, since webhooks handles `pg_net` installation server-side Companion to #44402 which fixed the same issue in the new (V2) UI.
## Summary Fixes and filters several noisy Sentry issues affecting Studio. ### Code fixes - **SUPABASE-APP-BG0** — `TypeError: Cannot read properties of undefined (reading 'toString')` in JsonEditor. Guarded against `undefined` `jsonStr` when `prettifyJSON` receives an undefined value. - **SUPABASE-APP-BKM** — `TypeError: Cannot read properties of undefined (reading 'join')` in UpgradeWarnings. Added fallback for `error.dependents` being undefined from the API. - **SUPABASE-APP-BVE** — `RangeError: Invalid time value` in filter date picker. Validated date before passing to `Calendar` component. ### Sentry `ignoreErrors` filters - **SUPABASE-APP-B1N / SUPABASE-APP-BMF / SUPABASE-APP-E4Q** — `cmdk` `useSyncExternalStore` subscribe race condition (Chrome variant). - **SUPABASE-APP-E5M** — Same `cmdk` subscribe error (Safari variant). - **SUPABASE-APP-ASG** — Firefox `Node.removeChild` DOM manipulation error (Chrome variant was already filtered). - **SUPABASE-APP-AWE** — Non-Error object exceptions (`Object captured as exception with keys:`). ### Ignored in Sentry (no code change) - **SUPABASE-APP-ASG** — Resolved (now filtered in code). - **SUPABASE-APP-FK9** — `SyntaxError: Invalid or unexpected token` from `react-markdown` parser. Single user, one-off. - **SUPABASE-APP-EV3** — React fiber error from DOM manipulation. Single user, already archived. ## Test plan - [ ] Verify JsonEditor opens correctly with valid and missing JSON values - [ ] Verify UpgradeWarnings renders when `dependents` is undefined - [ ] Verify filter date picker handles invalid date strings gracefully
…le parsing (#42340) Bug fix ## What is the current behavior? Cron jobs using pg_cron's `$` syntax (representing 'last day of month') show 'Unable to parse next run for job' in the dashboard's Next run column, even though these are valid pg_cron schedules. ## What is the new behavior? The dashboard now correctly parses schedules using `$` and displays the proper next run time. ## Root Cause pg_cron uses `$` for 'last day of month', but the `cron-parser` library used by Studio uses `L` for the same purpose. The `$` character was causing the parsing to fail. ## Fix Normalize pg_cron's `$` syntax to cron-parser's `L` syntax before parsing. Both represent 'last day of month' - it's just a syntax difference between the two systems. Fixes #42176 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved cron job scheduling to correctly calculate next-run times for pg_cron-compatible schedule expressions. --------- Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )