* chore(studio): move Query to pgMeta add tests
- Move the Query builder from studio to pgMeta
- Add e2e tests over the generated sql to ensure syntax and runtime
result over pg database
- fix bug with orde by for table with undefined column
* chore: add table-row-query to pgMeta and tests
* chore: fix query import path
* chore: reduce maxArraySize
* chore: use pg-meta getTableRowsSql implementation in studio
* chore: add truncation on large array fields
* chore: set ES target for lint
* chore: update comment
* chore: reduce test size for CI
* chore: remove react-tracked part 1
* move out table specific state to own store
* chore: remove react-tracked part 2
* remove unused type
* ensure table is properly updated on changes
* remove all filters save in local storage
* Tiny fixes
* fix sort / filters applying issue + feedback
* fix entity links
* remove unnecessary style
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* chore(studio): move Query to pgMeta add tests
- Move the Query builder from studio to pgMeta
- Add e2e tests over the generated sql to ensure syntax and runtime
result over pg database
- fix bug with orde by for table with undefined column
* chore: fix query import path
* chore: set ES target for lint
* chore: add github action for pg-meta test package
* chore: add tsconfig to sparse checkout
* add tracking for help, feedback, import data, and example clicked
* clarify www pricing plan and add run sql query event
* add pricing plan cta tracking
* Add one more event to Import data from CSV
* Consistent copy
* Clean up and refactors
* Some fixes
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Remove radix-popover and radix-tooltip as deps from studio.
* Migrate all uses of tooltip to shadcn tooltips.
* Add tooltip portal to all shadcn tooltips.
* Fix a warning about MenuItem not accepting refs in StorageMenu.
* Remove unneeded styling for the tooltips.
* Set a default delay duration for all tooltips in Studio.
* Fix a type error.
* Check and fix all tooltips.
* Reuse set to now logic
* Ensure set to now cta is visible if column is not nullable
* Minor refactor
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Update grid cell editor for date and timestamp type fields
* Forgot to commit this
* Add basic validation
* Remove console log
* Add placeholder
* Add Set to NOW action
* Pass isNullable to the DatetimeEditor.
* Fix the TooltipTrigger to deduplicate classes. Fix the TimestampInfo to use TooltipTrigger as child.
* Fix the height of the spans to match.
* Fix
---------
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
We no longer want to use Markdown when not necessary. I checked the props for these components and we were only passing in a regular text without any actual markdown
* chore: remove useExecuteSqlQuery part 1
* fix invalidation
* fixes
* more fixes
* I fixed it, but tested on preview instead of local 🤦🏻
* only refetch table rows and not count on row updates
* removed unneeded invalidations and prefetched new table after create
* Simplify table header
* Show gridHeaderActions only when no selections in table
* Small refactors
* Rearrange buttons
* Small refactor
* Remove unnecessary parent div
* Tiny style fix
* Tiiiiny
* Fix indeterminate state fill
* Refactor one more button tooltip
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Auto open date time picker, add set to null CTA for nullable date time fields
* Add dropdown option instead
* Small fix
* Add docs Url for database functions and triggers, fix space-x-2 in database/tables
* Some fixes
* Add all missing libraries in the packages/apps.
* Add all missing Vitest imports to the tests.
* Add some missing exports to ui.
* Fix the admonition export.
* Fix various minor bugs.
* Migrate the ui package to use vitest.
* Convert auth users page to use data grid
* Deprecate old components for auth users
* Remove unused state
* Remove unnecessary file
* Add copy cell value
* Reload -> Refresh
* Fix spelling
* Adjust sizing of search and dropdown
* Add feature flag and reinstate original auth/users UI
* Remove font mono on auth users data grid header and row cells
* Address comments
* fix metadata not showing in Raw tab in log detail
* fix rows not filling up horizontal space
* show collection loader only when fetching collections, since the query can be disabled
* simplify language in create collection modal
* fix create collection modal copy in cta
* rm typecast, add tooltip on collection creation
* improve copy on empty collection
* improve copy on colelction empty state
* rm unused code
* prompt users to refresh, add button to refresh, after sending first events to a collection
* use generic mr skelington instead of supalogo
* add template for search in event message
* hide field reference when source is warehouse
* rm font bold on selected log
* update curl example
* add focusable prop to codeblock
* change focus border color in codeblock
* make codeblock focusable by default
* move refresh btn
* rm unnecessary focusable i codeblcok
* fix raw log rendering
* add search
* update plceholder
* add timerange search
* improve empty state copy in wh
* add open in warehouse explorer button
* update test conection dialog ui
* Update apps/studio/components/interfaces/DataWarehouse/TestCollectionDialog.tsx
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Update apps/studio/components/interfaces/DataWarehouse/WarehouseCollectionDetail.tsx
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Update apps/studio/components/interfaces/DataWarehouse/WarehouseCollectionDetail.tsx
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* rm clog
* Update apps/studio/components/interfaces/Settings/Logs/LogsQueryPanel.tsx
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* fix loading state in collections sidebar
* fix test collection sheet layout
* add some keyboard shortcuts to filters
* use isLoading in wh log detail to prevent double loaders
* make search input longr
* truncate titles
* truncat sidebar names
* rename dayjs
* update copy from warehouse to collections
* update remove collection copy
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Add lucide-react to docs (to make the autocomplete work).
* Migrate the docs app icons.
* Migrate the ui-patterns.
* Remove the old icons from ui package.
* Migrate the www app from react-feather icons.
* Migrate all of studio icons.
* Migrate the only component in design-system.
* Fix an old import in ui package. Revert an import in docs app.
* Fix some pages in www.
* Remove unneeded files used in generation of icons.
* Fix a prettier error.
* Fix more issues in www.
* Fix an issue in Log Date picker.
* Replace all string sizes with number sizes because the icons grew in some cases.
* Fix more imports in security page.
* Fix an extra import.
* Remove the size prop from all icons if they're in a button and they match the button size.
* Minor fixes for docs and www.
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Update the design of the sonner toasts. Add the close button by default.
* Migrate studio and www apps to use the SonnerToaster.
* Migrate all toasts from studio.
* Migrate all leftover toasts in studio.
* Add a new toast component with progress. Use it in studio.
* Migrate the design-system app.
* Refactor the consent toast to use sonner.
* Switch docs to use the new sonner toasts.
* Remove toast examples from the design-system app.
* Remove all toast-related components and old code.
* Fix the progress bar in the toast progress component. Also make the bottom components vertically centered.
* Fix the width of the toast progress.
* Use text-foreground-lighter instead of muted for ToastProgress text
* Rename ToastProgress to SonnerProgress.
* Shorten the text in sonner progress.
* Use the correct classes for the close button. Add a const var for the default toast duration. Remove the custom width class from sonner.
* Set the position for all progress toasts to bottom right. Set the duration for all toasts to the default (when reusing a toast id from loading/progress toast, the duration is set to infinity).
* Fix the playwright tests.
* Refactor imports to use ui instead of @ui.
* Change all imports of react-hot-toast with sonner. These components were merged since the last commit to this branch.
* Remove react-hot-toast lib.
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
* Update default sort order to use all primary keys in the case of composite primary keys to prevent row resorting after updating a row (still within threshold of applying only when max 50k rows or less)
* Fix updating column fk value when there are multiple columns whose target schema, table and column are the same
* Fix updating composite foreign key from withn the grid editor itself
* Add nuqs package.
* Add useSchemaQueryState hook.
* Use the new hook in all places where there's is a schema selector.
* Make the useQueryState work with SSR in playwright.
* Fix the saving to local storage to happen as a side effect without any additional rerenders.
* feat/export-as-sql
* Rename export items
* EntityListItem change dropdown menu items for exporting data to a sub menu
* Set width
* Pull out SQL formatting logic into formatTableRowsToSQL and start a test
* Fix export function
* Do not stringify null values
* Add comment
* Add blank test cases
* Wrap up formatTableRowsToSQL
* Add max export row count validation to exporting actions in EntityListItem + add link to pg _dump docs
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Fix inability to update composite foreign key values in RowEditor
* Fix unable to view referencing record in table editor if FK column is also PK
* Update apps/studio/state/table-editor.tsx
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
---------
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* Use ButtonTooltip component for create policy CTAs
* Use ButtonTooltip component in PolicyRow
* Remove use of old tooltip component in PolicyRow
* Update Auth policies to allow read only to access edit policy UI but prevent saving from there
* Fix