* feat: gate version rename restrictions behind git sync; restore non-git-sync behavior
- Add useGitSyncConfig() hook as shared source of truth for isGitSyncEnabled
and defaultBranch (reads orgGit store, uses correct github_branch field)
- VersionDropdownItem: show branch name as display name for git-sync drafts;
show fixed description "Latest commit to main will appear here" for git-sync
drafts; hide "Edit details" only when git sync is ON (non-git-sync keeps
original cursor/tooltip/disabled behavior for module versions)
- VersionSwitcherButton: header shows "Draft" (not branch name) for git-sync
draft versions
- VersionManagerDropdown: source isGitSyncEnabled from hook; render
EditVersionModal only for non-git-sync workspaces
- CreateDraftVersionModal: show version name input only for non-git-sync;
set fixed draft name (branch name) and description when git sync is ON;
replace appGit-based effect with useGitSyncConfig hook
- CreateVersionModal: blank name/description pre-fill when git sync ON; fix
TDZ by moving effectiveIsBranchingEnabled after useStore block; add git-ref
character validation for git-sync-enabled orgs
- service.ts: block name/description edits on PUBLISHED versions only when
org-level git sync is enabled (non-git-sync orgs retain edit capability)
* feat: add immutability warning banner to Save version modal for git-sync orgs
Adds an inline info banner "Name and description cannot be edited after saving"
below the description field when git sync is enabled, matching the Figma design.
* fix: move immutability warning banner to top of Save version modal body
Figma (node 2091-172093) shows the banner above the version name input,
not below the description field.
* fix: improve error message for invalid version names in CreateVersionModal
* feat: enforce version name validation across modals and DTOs
* feat: add validation for version names to prevent spaces and special characters
* feat: refactor version selection logic in CreateVersionModal for improved clarity
* feat: enhance version name validation and update API request format
* Fixed draft version case
---------
Co-authored-by: Yukti Goyal <yuktigoyal02@gmail.com>
Co-authored-by: YuktiGoyal02 <100783212+YuktiGoyal02@users.noreply.github.com>
Audit and rewrite of all user-facing English strings across the frontend
to be clear, concise, and enterprise-grade. Changes include removing
informal language (Kindly, Oops, Do you really), fixing inconsistent
casing, tightening wordy copy, standardising administrator over admin,
spelling out abbreviations (Authentication vs Auth), and adding
missing articles, punctuation, and proper sentence structure.
* docs: add FileButton widget PRD
* feat: enhance FileButton widget with improved styling and functionality
* feat: remove 'SemiBold' option from FileButton widget configuration
* feat: add FileButton to base component properties and refactor styling logic
* Remove 'FileButton' from RevampedComponents list
* Delete docs/plans/2026-03-10-filebutton-widget-prd.md
* Update FileButton color properties to use new surface color variables
* feat: enhance FileButton styling and color computation logic
* fix: update IconX color to use computedLabelColor for better styling
* feat: add FileButton to NEW_WIDGETS and update content alignment to center
* Removed hover background color
---------
Co-authored-by: Shaurya Sharma <shaurya064@gmail.com>
* Added icon for accordion component
* Add component to components section in right sidebar with new tag
* Created widget config for the component
* Configure the properties and styles tab in right sidebar inspector
* Add support for new events
* Create the base for the new Accordion component including CSAs
* Add the component to required checks and conditions
* Fix: Nothing will be visible incase accordion is not expanded and show header is turned off
* Enable dynamic height in view mode and trigger calculation whenever component is expanded or collapsed
* Implement dynamic height logic for Accordion component
* Update frontend/assets/images/icons/widgets/accordion.jsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix: Expose setLoading CSA
* Fix: Made the toggle button accessible
* Fix: Border radius not getting applied
* Fix: Components inside accordion body not getting dragged or resized initially when accordion expands
* update submodule ref
* Fix: Component doesn't have resize selector in some cases when accordion is opened quickly inside Editor
* Fix: Header grid is overflowing the container on resizing
* fix: Rename class to avoid future conflicts
* Update ee-server submodule reference
* Fix: Default divider color
* Fix: Header and footer has different color in disabled state
* Update submodule references
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Audio recorder component added
* Code refactor
* Separated the code into multiple files
* Fixed events and added waveform
* Reverted package-lock changes
* Temporary push
* Allow camera and microphone on prod
* Microphone bug fix
* Added blob to media-src
* Video component added
* Fixed camera not working when given permission
* Inspector breaking on huge string data fix
* Camera comments resolved
* Camera component refactor
* Removed rawBinary as exposed variable
* Removed raw binary
* On photo capture fixed
* Csa added
* Recorder icon color added to config
* Added accent color and stopped audio recording on component unmount
* Waveform default & minimum state added
* Added button color and accent color and stopped autoplaying video after recording is complete
* Submodule update
* Minor bug fix
* Minor bug fix
* Changed csa names & events for audio recorder
* Changed csa names & events for video recorder
* Removed table container logic
* Added audio and camera recorder icons with new label
* Audio recorder default width changed and made it so that the buttons for save/discard are visible
* Visbility icon fix
* onReset fn fix
* Blob url removed from audio and camera component and changed onResetFn logic to reset UI and variables both
* feat: add Editable Tags component with create, select, and delete functionality
- Implement EditableTagsChip for displaying selected tags with remove option.
- Create EditableTagsMenuList for rendering the dropdown menu with loading state and create new tag option.
- Develop EditableTagsOption for individual tag options in the dropdown.
- Add EditableTagsValueContainer to manage the display of selected tags and input.
- Style the Editable Tags component with SCSS for better UI/UX.
- Update index.js to export the EditableTags component.
- Enhance editorHelpers.js to include EditableTags in the component list.
- Define editableTagsConfig for widget configuration in the server.
- Integrate editableTagsConfig into the main widget configuration index.
* feat: enhance Editable Tags for dynamic height and improved overflow handling
* feat: add dynamic height support and EditableTags to relevant configurations
* feat: integrate Editable Tags support with updated configurations and sorting options
* feat: add Editable Tags component with updated configurations and improved styling options
* feat: add input focus functionality on component click in Editable Tags
* feat: add event handlers for tag addition and deletion in events slice
* refactor: remove unused selectTags and deselectTags functions in EditableTags
* feat: enhance dynamic height support and scrollbar styling in Editable Tags
* feat: update styling for Editable Tags and Editable Tags Chip components
* feat: improve styling and layout for Editable Tags components
* feat: enhance layout and styling for Editable Tags components to improve responsiveness and prevent overflow
* feat: enhance scrollbar styling and padding for Editable Tags menu list
* feat: add EditableTags to input components for form
* feat: remove unused imports from EditableTags components for cleaner code
* feat: enhance EditableTags components with improved hover and active states, update no options message, and refine styling for better user experience
* feat: modify EditableTags to always open menu on focus, improving user interaction
* feat: add EditableTags to select and widget configurations for enhanced component integration
* feat: remove case enforcement feature from EditableTags for simplified tag management
* feat: remove unused variables from EditableTags components for cleaner code
* feat: initialize values array in exposedVariables for EditableTags configuration
* fix: adjust padding and border formatting in EditableTags component for consistency
* feat: remove case enforcement rendering from EditableTags for simplified component logic
* refactor: streamline EditableTags components for improved readability and maintainability by removing inline styles
* feat: Rename from editableTags to tagsInput
* refactor: enhance layout and styling of new tag preview in TagsInputOption component
* feat: add customizable tag colors in TagsInput components
* fix: update schema to include disable property for tag options
* feat: add 'TagsInput' to component type checks in ComponentsService and AppsUtilService
* chore: update subproject commit reference in server/ee
* feat: add tooltip support to TagsInput component
* feat: add enableSearch toggle to TagsInput component configuration
* feat: update duplicate check in TagsInput to be case-sensitive and adjust key handling for tag selection
* feat: enhance tag creation validation in TagsInput to prevent duplicates with case-sensitive check
* feat: enhance tag selection and deselection logic in TagsInput to support label matching
* chore: update subproject commit reference in server/ee
* feat: enhance TagsInput styling and functionality with new tag creation support and padding to dropdown
* feat: update Select component to support TagsInput in marked as default logic as multiple selection
* feat: remove icon and icon color configuration from TagsInput component
* fix: update dependency in TagsInput to use selectOptions for exposed variable
* feat: add TagsInput component and integrate it into WidgetIcon
* feat: enhance TagsInput component with controlled option focus and improved keyboard navigation
* feat: refine TagsInput styling and structure for improved usability and aesthetics
* feat: enhance scrollbar styling for improved visibility and aesthetics in TagsInput component
* fix: adjust padding in valueContainer for improved layout in TagsInput component
* feat: update hover background color in TagsInput for improved visual feedback
* fix: update footer text in TagsInputMenuList to improve clarity
* fix: adjust alignment class and add top margin for improved layout in TagsInput component's label
* feat: add search functionality for TagsInput component and update configuration section label
* feat: add auto pick chip color feature to TagsInput component
* feat: add checkboxLabel to TagsInput configuration for improved label customization
* fix: update display names for tag background and text color in TagsInput configuration
* fix: standardize display names for tag background and text color in TagsInput configuration
* chore: update subproject commit reference in server/ee
* chore: update subproject commit references in frontend and server directories
* chore: update subproject commit references in frontend and server directories
* chore: update version to 3.20.64-lts
* added app_versions fields
* added data migration for backward compatibility
* added ce specific logic
* fixed ce migration (need to dev-test)
* moved to data migration
* migration changes
* added endpoint to create draft version
* backend changes
* added draft to app_import scenario
* added version description
* minor changes (needs improvement)
* fixed breaking dropdown in editor
* updated submodule commits
* revert package.json
* revert ui not used changes
* submodule changes
* reverting non used files
* ui changes
* ui changes
* ui changes
* ui changes
* ui changes
* copywriting changes
* ui changes
* ui changes
* edit version modal changes
* ui integration changes
* added button solid and removed unused css
* removed commented code from create version modal
* updated button size to use large
* ui changes
* draft version modal changes
* added sub-module commits to main
* draft version endpoint changes
* ui changes for draft version modal
* fix breaking ui
* ui changes for banner
* minor ui changes
* remove scss changes from themes file
* removed unused components (cleanup)
* removed unused components (pr cleanup)
* draft version changes
* create version modal changes
* canvas banner fixes
* comment creation logic
* refactor: version dropdown
* update endpoint changes
* fix: promote logic
* update submodule
* fix: released version and create version modal
* fix draft version creation
* minor ui changes
* minor backend fixes
* tooltip changes
* added all components in same folder
* added minor comments
* import fixes
* refactor files
* fix: overlay issues
* fix: on version creation
* fix ce bugs
* bug fixes
* bug fixes
* bug fixes
* bug fixes
* base merge
* feat: draft versioning support with UI enhancements and backend adjustments
- Updated AppCanvas to conditionally render AppCanvasBanner based on edit mode.
- Enhanced CreateDraftVersionModal to handle version selection and creation logic.
- Modified CreateVersionModal to streamline version creation process and handle commits.
- Improved ReleaseConfirmation to include development versions in release context.
- Refactored CreateDraftButton and VersionDropdownItem for better UI consistency and dark mode support.
- Updated VersionManagerDropdown to manage draft versions and improve version selection logic.
- Enhanced version switcher and promote/release buttons with dark mode styling.
- Adjusted server-side features and constants to support new draft versioning capabilities.
- Updated styles across components for better visual consistency and responsiveness.
* minor fixes
* rebase
* merge base
* update submodule
* Add data-cy attribute for draft version components
* Update cypress test cases for draft version feature
* Update failing test cases
* Update draft version test cases
* Skip older flow
* migration changes
* migration fixes
* Update the failed test cases
* removed multiple api calls
* fix: version set on draft creation
* fixes
* fix: version update on save version
* fixes
* name fix
* fix version lock banner styling
* bump version to 3.20.50-lts across all components
---------
Co-authored-by: Vijaykant Yadav <vjy239@gmail.com>
Co-authored-by: ajith-k-v <ajith.jaban@gmail.com>
Co-authored-by: gsmithun4 <gsmithun4@gmail.com>
* design: Changes version position from Navabar to account dropdown (#13870)
* design: Changes version position from Navabar to account dropdown
* Changes version text color
* Add mobile empty state handling and related components (#13972)
* Add mobile empty state handling and related components
- Introduced MobileEmptyState component to display a message for mobile users accessing protected routes.
- Updated App component to check for mobile devices and render the MobileEmptyState accordingly.
- Enhanced routing to ensure all protected routes utilize PrivateRoute with dark mode support.
- Added MobileEmptyStateIcon for visual representation in the new component.
* Implement WorkspaceRouteGuard and mobile route handling
- Added WorkspaceRouteGuard component to manage access to workspace routes based on device type.
- Integrated WorkspaceRouteGuard into various routes to block mobile access for workspace management features.
- Enhanced AppsRoute to utilize useMobileRouteGuard for mobile access control in editor mode.
- Introduced useMobileRouteGuard hook to centralize mobile access logic across the application.
* Review fixes
* removed workspace guard route from the apps listing page
---------
Co-authored-by: rohanlahori <rohanlahori99@gmail.com>
* design: Updates design for auth empty states (#13888)
* design: Updates design for auth empty states
* Updates spacing between paragraphs
* dark mode changes for design
* refactor: Simplify routing by removing PrivateRoute wrappers for Oauth and EmbedApp components
* removed private route from error pages
* fixes
* added desktop only route for marketplace page
* fix
---------
Co-authored-by: Nithin David Thomas <1277421+nithindavid@users.noreply.github.com>
* init: Added resetOnSubmit, validateOnSubmit properties and exposed formData value
* Added the generate form from dropdown menu on the inspector
* feat: Added generate form button and fields section
* Added the generate column popup UI
* feat: Added UI for form fields
* feat: Added the UI for new custom field
* chore: Added refresh data and custom schema UI
* feat: Added the util function to map the JSON to component
* chore: cleanup and fixed bugs on dropdown
* feat: Added fields property to the form config
* feat: save generated fields on form
* feat: generated child components from the JSON
* fix: bugs on generating component from JSON
* chore: added functionality for view properties and styles on field popover
* feat: Added local state for add new custom fields
* feat: Added logic to create component on submitting new custom field
* fix: bugfies on creating a custom fields
* feat: Handled grouping of data in the manage column modal
* feat: Handled deletion case of the fields
* fix: fixed bug on deleting the fields
* chore: Updated the form fields logic to store only the necessary values and fetch the remaining values from the component directly using componentId
* chore: updated logic to handle fx in mandatory and selected fields
* feat: Added functionality to update the component from form fields
* fix: bug on componentType typo
* chore: written logic to handle the componentType update
* feat: Added multiple updates including componentType change
* chore: Added few more input components
* chore: Moved the form fields property logic to new formComponentSlice
* fix: creating a custom field while dragging across the parent components
* chore: reverted the deletion logic a bit to properly fetch the parentID from the component
* fix: while moving the component with more than 1 form field, it is clearing the complete list
* fix: handle the case of moving component from canvas to form
* chore: Removed unwanted UI blocks and added logic to conditionally display data section when custom schema is turned off
* chore: cleaned up the Dropdownmenu component & added memo to avoid re-render
* feat: Added query support and updated logic to display the columns on the modal
* chore: cleanup & passed the correct columns to the component
* chore: cleaned up the form status constant
* chore: wrapped functions in a
* chore: created a separate function to create components from form
* chore: cleaned up the code to use the same code for component creation
* chore: updated the logic for the form field component update
* feat: Added functionality for single field popover icons & moved the single field creation out of common function to simplify the field update
* fix: removed the deleted fields while refreshing the form
* fix: updated the logic for the refresh fields
* feat: Added logic to ignore the components to be deleted for regeration of form
* chore: moved the component list supported to a constant
* fix: Added a backfill logic for the fields property to handle without migration
* fix: added a correct key for custom field
* fix: Fixed issue on adding custom fields while regenrating the form
* fix: Fixed issues on generating form fields while refreshing the FORM
* chore: cleanedup the code
* chore: Fixed path and merged with main
* fix: avoided the multiple re-renders on FORM and fixed the state issue on data & formData
* fix: removed the child components from inspector & added a support for query even if it is an array to generate the form
* fix: fixed few bugs and design feedbacks
* fix: Added a logic to set the width of the dropdown menu same as dropdown trigger
* feat: updated the deprecated section for Form
* feat: Added a logic to run query on selecting the query on generate form from
* fix: changed the logic of selection handled in the manage column modal. The components will be created only if the column is selected.
* refactor: moved the manage fields from button to an icon
* fix: merged the field definition with the existing default data to show it on manage column popup
* feat: focused the codehinter when the rawJson is selected on the dropdown menu
* chore: cleanup
* feat: update formComponentSlice with latest changes
- Fixed getCurrentPageIndex usage in setComponentPropertyByComponentIds
- Enhanced component batch operations functionality
- Improved form field management logic
* Reverted the git changes reflected on the form PR
* Reverted the git changes reflected on the form PR
* Reverted the git changes reflected on the form PR
* fix: fixed the issues due to merge conflict
* feat: Removed componentMapping modal for rawJson. Added JsonSchema in the dropdown menu and moved the refresh button inside the modal footer for the queries
* fix: Added a loader in the column mapping & updated the styles
* chore: cleanup and moves to separate files
* chore: cleanup the components
* fix: modal was not poping up when I click a different query
* chore: cleanedup `ColumnMappingComponent`
* fix: fixed bugs on regenerating the forms, shown the loader while running the query, added support for multiple queries etc
* chore: removed unwanted props
* fix: fixed the undo/redo issues
* fix: Fixed the issue on custom fields not showing up on the columnMappingModal
* fix: bugfixes like duplicate field, maping popup stays on screen, visibility not working, form loader etc
* fix: Fixed the height of the textare and fixed showing the main popover on click of make mandatory button
* fix: Fixed the undo redo issue on deleting the form component
* fix: removed the undo/redo while saving the form data section
* chore: updated the default data for rawJSON
* fix: Fixed bugs on toggleswitch, scroll, placeholder etc
* fix: Added a condition to render the placeholder input
* chore: taken care bito feedback
* fix: fixed the modal closing issue
* fix: Fixed the gutter issue as the canvas height needs to be updated once the child components are generated
* chore: fixed design feedback
* fix: Added hover to the modal body instead of each section