* just redirect to new on sql empty
* clean up
* update template and quickstarts link
* Nit clean up
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Invalidate project upgrade eligibility query when disabling database extension
* Add link to extension upgrade warning, link to extensions page with filter
* Swap a for Link
* Use DataGrid for cron jobs interface instead of cards
* Deprecate CronJobCard and database-cron-jobs-run-query.ts
* Add tooltip for editing unnamed job
* Implement infinite scrolling to cron jobs + server side searching
* Deprecate database-cron-jobs-query, and add a singular database-cron-job-query
* Add hover card for cron job table cell command
* Move confirm email setting from email provider to basic auth settings
- Remove MAILER_AUTOCONFIRM from email provider form validation
- Add confirm email setting to BasicAuthSettingsForm with proper form validation
- Maintain existing functionality while improving UX by grouping related settings
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Update BasicAuthSettingsForm.tsx
* Fix the default value of email confirm.
* Remove unnecessary comment.
---------
Co-authored-by: Claude <noreply@anthropic.com>
* Fix cron panel if unable to parse command
* Nit
* Address feedback
* Add a testcase for parsing cronjob when it ends with ;.
* Revert useEffect
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
* fix: use storage endpoint in S3 settings
* Update retrieval of endpoint for analytics bucket related components
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* fix: empty team drop downs
This fixes dropdowns returning empty on team invites when a user is signed in as a developer. For now it adds conditionals to show the option is not available for that role, but perhaps we can handle a little more gracefully.
* fix: change from inline to tooltips on dropdowns
This updates the members table dropdown to use the tooltip as opposed to inline message for disabled items.
* Tiny clean up
* Biiiit more nit
---------
Co-authored-by: kemal <kemaldotearth@kemaldotearth.local>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Add hooks for async protected schemas.
* Migrate the ProtectedSchemaWarning to support the new implementation.
* sq
* Migrate all uses of protected schemas to the new approach.
* Delete extra file.
* Refactor the import foreign schema dialog to forbid protected and exposed schemas.
* Add the type to the protected schema.
* Revert ImportForeignSchemaDialog, it'll be addressed in another PR.
* Update apps/studio/hooks/useProtectedSchemas.ts
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Fix a bad commit.
* Minor fixes.
* Fix the FDW delete mutation to handle names with numbers.
* Simplify the logic to skip a fetch.
* Minor fixes.
* Make the useIcebergFdwSchemasQuery work for all iceberg FDWs.
* Fix the tab schemas to always show in the Table Editor.
* Apply suggestion from @joshenlim
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Fix a minor typo.
* Refactor ProtectedSchemaWarning to use Admonition, and standardise input field for target schema iceberg
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* docs(ui-library): fix oauth example code to use exchangeCodeForSession
* Build the registry item for social auth tanstack.
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
* Add a warning if no policies on realtime.messages when turning on private mode.
* Minor copy fixes.
* Update warning copy
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Add display of last_used_at timestamp for OAuth client secrets in Studio.
Shows relative time (e.g., "Last used 2 hours ago") when available,
or "Never used" for unused secrets.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Claude <noreply@anthropic.com>
The original documentation made it sound like the `vt` parameter specified how long until the message became invisible, when in reality it is how long the message is invisible. See: https://github.com/tembo-io/pgmq/tree/main?tab=readme-ov-file#read-messages
> Read 2 message from the queue. Make them invisible for 30 seconds. If the messages are not deleted or archived within 30 seconds, they will become visible again and can be read by another consumer.