* 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>
* Add export functionality to security and performance advisors
* Add download results button to query performance advisor
* Add refresh buttons to security and performance advisors
* Add LoadingLine to Query performance to make UI consistent with the other advisors
* Minor change
* Add telemetry for add SQL block and dragging SQL block from assistant
* Add UI indication for drag support block in Assistant
* Add UI indication for SQL block support in SQL editor Chart options
* Feat/reports v2/create report (#33022)
* re-add chart label
* fix undefined value
* remove mouse over on chart
---------
Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
* Support dragging blocks from assistant to custom report
* Show toast when new snippet is created from dragging block into custom report
* Only show drag handle for block in assistant panel if in custom reports
* Feature flag dragging Assistant query block to custom report
* Optimize DX for dragging block into report from assistant
* Update import
* Remove max width
* Fix dragging non sql block causing client crash
* Fix chart suffix
* Fix tooltip value for non % values
* Misc fixes
* Support persisting non sql block line or bar view, and fix cancelling not resetting the block state
* Update
* Preserve chart config when dragging block from assistant to report
* Fix
* midway
* Render, save, and save configuration of SQL blocks
* Fix re ordering of blocks not showing save UI
* Remove console log
* Smol fix
* Add queryHeight param to queryBlock
* Reinstate telemetry for run query clicked from assistant
* Add
* Add resizing
* Change compactType
* Fix switching reports doesnt update
* ONly show date picker if theres a chart thats using daily stats or infra monitoring
* Fix client crash
* Smol update
* add labels
* fix labels, hope to fix Y axis issue
* Tiny fix
* Make ChartConfig y scrollable
* Only show flip CTA if values are all numerical
* revert hiding flip button
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Create QueryBlock component which will be a shared component used in AI Assistant and Reports
* Deprecate AIAssistantPanel/SqlSnippet.ts
* Fix user messages not getting persisted, only assistant messages
* Add loading state to for query results in QueryBlock + hide block view configuration if query block is not chart
* Address feedback
* Fix TS
* fix double border
---------
Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
* chore: paginate user content
* progress
* loading states
* add load more buttons to private snippets
* working pagination
* fix some types
* always show snippet counts
* support new api parameters
* favorite snippets
* progress
* searching
* paginate root folder
* fix renaming snippets
* fix ts
* removed unused prop
* Shift sharing/unsharing query logic outside of valtio to leverage on RQ only
* Fix invalidation on an unsaved snippet
* Clean up
* Fix
* Clean up
* Update API type
* Update API
* fix duplicate snippets error after moving a snippet
* add currently selected snippet
* Fix unsharing a snippet that has yet to be opened
* i'm dumb
* fix sharing a snippet
* fix sharing and unsharing
* show favorite or shared snippet in list even if it's in another page
* Fix wrong import for debounce
* Fix false positive toast error when creating custom report
* Update API type
* Change create new snippet CTA to link back to /new with skip flag
* Fix saving logs explorer query
* Bump page number
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Refactor telemetry event into RQ hook, and update to support PH
* Refactor telemetry identify into RQ hook, and update to support PH
* Refactor telemetry page into RQ hook, and update to support PH
* Clean up and deprecate lib/telemetry
* Pretty
* Add ts-ignore in docs for telemetry calls temporarily
* Add credentials include for send event, page and identify mutation hooks
* Add consent check for event and page telemetry, allow RQ mutations for those to fail silently without a toast
* Deprecate use of sqlFolderOrganizationFlag
* Deprecate SQLEditorNavV1
* Deprecate use of useSqlEditorStateSnapshot
* Deprecate old sql-editor valtio state
* 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>
* 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>
* Init changes for sql fodlers
* Added upsert logic in sql-editor-v2 valtio, hooked up with templates and quickstarts
* Do up logic for creating new snippets by typing in /new or by clicking new query button
* Do up logic for updating and deleting snippets
* Do up logic for favourites and shared snippets
* Do up logic for favourites and shared snippets
* Fix
* Fix saving indicator, add empty states for favorites and shared snippets
* Implement sorting
* Some minor QOL improvements
* Minor fix on empty state for private snippets
* Add delete folder mutation
* Implement create and update folder
* Fix reinstate with AI renaming for new snippets under folder
* Support controlled multi select behaviour in private snippets
* Undo changes to tree-view-multi-select
* Support bulk deletes
* Support moving queries + rendering queries in folders
* Support deleting folders and creating a new folder when moving a query
* Fix bug where renaming query removes content
* Add initial loading state in sql editor nav + handle fallback if cannot retrieve content by id
* Fix some spelling
* Fix TS issue in sql folders mutation keys
* Fix toggling favorite
* Lint
* Revert fallback behaviour in ]id] for now
* Fix favorites and shared snippets not showing
* Fix moving currently opened snippet leads to loading
* Support bulk moving
* Improve multi select logic a little
* Nit lint
* Reinstate AI retitling for untitled snippets when running query
* Remove hardcode in useAFlag
* Support creating new snippet in a folder directly
* Fix sharing snippets that are within a folder
* Fix sharing snippets within a folder
* Fix favorite
* Add loading state when fetching folder contents
* Fix favoriting snippets in folders
* add opts to see labels and grid for better screenshots
* fix format in x axis
* add missing props to default chart config
* fix typeerr
* rm copypasta cleanup tailwind classes and divs
* Add pagination to SQL editor for results longer than 100 rows
* Change pagination to automatically setting a limit
* Fix
* Address initial comments
* Compress SQL editor actions when ai assistant is open and screen is of a certain width
* Fix checking
* Add some fixes and tests
* Add a message if the query had an error and the limit was applied
* Rename to suffixWithLimit
* Small refactor and fix
* RQ convert mutateAsync calls to mutate where possible, otherwise add try finally blocks
* Skip eligibility query if project status is coming up
* Small UI update to replicas side panel
* Update apps/studio/components/interfaces/SQLEditor/RenameQueryModal.tsx
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* Add error handling in CIDR
* Prettier lint
---------
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
* Remove feature preview for the conversational AI for SQL editor.
* Remove all code related to the previous implementation of editor ai.
* Update the snapshots for the ai commands.
* Remove unneeded code from the ai panel.
* Show the diff bar when debugging.
* Convert the updateEditor function into a callback.
* Simplify the debugging functionality by using react state instead of react context.
* Erase the AI disclaimer when formatting code as modification.
* Add a button to clear the chat history.
* Init replication lag chart in database reports
* Navigate to replication lag chart via query params
* Add view replication lag CTA in map view
* Add replication lag metric to instance node view
* Prettier
* save chart config when the user changes it
* add optimistic update on change
* fix wrong snippet being updated when changing fast or internet slow
* fix ui state resetting between changes 2
* fix chart config not changing state when working on a new query that only exists locally