* Fixed the Ui for supabase for where and sort fields
* Bump version to 3.20.148-lts across all components
---------
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* Refactor componentsSlice to generalize ancestor type checks for row-scoped widgets. Removed obsolete check for Listview and Kanban, replacing it with a more flexible ROW_SCOPED_WIDGET_TYPES array. Updated comments for clarity on parent index handling.
* Updated comments to reflect changes in handling parent indices and replaced references to Listview with a more general row-scoped ancestor terminology.
* feat: add workflow, module, workspace, and user group counts to telemetry
Add 4 new metrics to the telemetry payload sent to hub.tooljet.io:
- total_workflows: count of apps with type 'workflow'
- total_modules: count of apps with type 'module'
- total_workspaces: count of all organizations
- total_user_groups: count of all permission groups
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: filter telemetry user group count to custom groups only
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
JS libraries were silently skipped on public and released apps because
featureAccess?.appJsLibraries was still undefined when isComponentLayoutReady
fired. Introduces isLicenseFetched flag and handles fetch errors so the
gate is never blocked indefinitely for unauthenticated users.
* feat: add migration to backfill refresh button and expandable rows properties for Table components
* Implemented a new migration to set default values for showRefreshButton, enableExpandableRows, and expansionHeight in Table components.
* Added logging for migration progress and success.
* Included functionality to delete app history for structural migrations if updates occur.
* chore: remove obsolete migration for backfilling showRefreshButton property in Table components
* Deleted the migration file that backfilled the showRefreshButton property, as it is no longer needed.
* This cleanup helps maintain the codebase by removing unused files.
* feat: add refresh button functionality to table components
* fix: update refresh button icon from IconRefresh to IconReload
* Made the showRefershButton to false by default
* supported support for data queries as well other than raw json
* Used dependency graph to check the query reference
* Added migration for show refresh button to support backward compatibility
* fix: update loading state handling to include refresh status in Table and Header components
* enhanceed migration to backfill showRefreshButton property for Table components
* Add event and toggle for expandable rows
* Add column to expand in table
* Setup store
* Implement expandable rows in table
* expose rowData for children components and make all containers other than first row not editable
* Added support for dynamic height for each expandable row
* Update submodule reference
* Fix: Virtualizer not getting updated in a few cases when row is expanded or collapsed and nested table wasn't getting expanded as expected
* Update submodule references
* Fix: Remove 'children' and 'data' exposed variables from Table
* Fix: Clear exposed values when expandable rows is toggled
* Fix: Remove dynamic height for expanded row for phase 1
* Fix: Move 'Enable expnadable rows' toggle to 'Row selection' section instead of 'Additional Actions'
* Update submodule references
* Implement lazy resolution for expandable rows in Table component
- Introduced `updateCustomResolvablesLazy` and `resolveExpandedRows` to handle row data without immediate resolution, improving performance for expandable rows.
- Added `clearLazyRowIndices` to manage row indices when rows are expanded or collapsed.
- Updated the store to include `lazyResolvableParents` and `lazyRowIndices` for better state management of lazy-loaded components.
- Created a new `tableComponentSlice` to encapsulate logic related to table components, enhancing modularity and maintainability.
* Fix: Use similar approach for finding indices to be resolved using separate utility function
* Fix: Implement proper store cleanup incase table is deleted or expandable rows is disabled
* Refactor: Rename `clearLazyRowIndices` to `cleanupLazyResolvables` for clarity
- Updated the Table component to use `cleanupLazyResolvables` instead of `clearLazyRowIndices` for better readability and understanding of its purpose.
- Adjusted the logic in the `resolveExpandedRows` function to populate custom resolvables only for expanded rows, improving performance and state management.
- Enhanced cleanup logic in the component's effect hooks to ensure proper resource management when the component unmounts or when expandable rows are toggled.
* Update submodule reference
* Fix: Grid outline not getting highlighted when component is being dragged inside it
* Fix: Default height of expanded container
* Fix: Row expand trigger style
* Fix: Expanded container background color and padding
* Fix: Container component crashes when components is dropped from Table row's expanded container
* Update submodule references
* updat esubmodule references
* Update submodule references
* Refactor TableData component to use constants for row heights, improving readability and maintainability.
* Refactor TableContainer and useTable hooks to integrate expandedRows state, enhancing row expansion functionality.
* Add 'Table' to restricted widgets configuration
* Enhance appCanvasConstants with row-scoped widget types and resolvable key mappings; refactor Container and codeHinterSlice to utilize new constants for improved readability and maintainability.
* Add nesting level limits for widgets in appCanvasConstants; refactor Grid and dragEnd logic to enforce nesting restrictions based on new limits, enhancing widget organization and preventing excessive nesting.
* Update sbumodule reference
- Updated `libraryLoader.js` to enforce HTTPS protocol for library URLs and improved comments for clarity.
- Modified error handling in `useAppData.js` to use toast notifications for better user feedback when loading JS libraries fails.
- Added `libraryConstants.js` to define reserved parameters and a validation function for library names.
- Updated `libraryLoader.js` to filter out reserved parameters from the preloaded JS script exports.
* submodule update: add name field to process event payload
* 🚀 chore: update submodules to latest lts-3.16 after auto-merge (#15894)
Co-authored-by: johnsoncherian <57667706+johnsoncherian@users.noreply.github.com>
* rest api timeout issue
* error standardisation
* Update queryPanelSlice.js
* Bump version to 3.20.147-lts across all components
---------
Co-authored-by: Swathi Hameed <42898362+swathihameed@users.noreply.github.com>
Co-authored-by: Adish M <44204658+adishM98@users.noreply.github.com>
Co-authored-by: johnsoncherian <57667706+johnsoncherian@users.noreply.github.com>
Co-authored-by: Rudhra Deep Biswas <rudra21ultra@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
With the layout now wrapped in TrackedSuspense, there are nested lazy
boundaries (layout → widgets). React runs cleanup effects before mount
effects in a single commit, so the layout tracker can decrement to 0
before widget trackers increment. deferCheck uses setTimeout to let
widget trackers register before the resolution check runs.