Commit Graph

340 Commits

Author SHA1 Message Date
Ayangade Adeoluwa
5bc414082a
fix: Fix app crash on arrow down in where clause (#12801)
* Fix app crash on arrow down in where clause

* Makes sure first index is not omitted
2022-04-11 17:02:56 +00:00
Ankita Kinger
65ffb56f34
chore: Improve the UI for restart banner on admin settings page (#12580)
* improved the UI for restart banner on admin settings page

* implemented suggestions from PR

* retrying to restart server on button click

* updated colors getting used

* implemented PR suggestions

* fixed cypress test failure
2022-04-11 14:12:06 +05:30
akash-codemonk
d100cac0ec
fix: fork app button not opening the fork modal for non-signed in users (#12479) 2022-04-11 10:44:50 +05:30
Ayangade Adeoluwa
bc8d885813
feat: Response view switcher for all action editors (#9629)
* Response view switcher for all action editors

* fixes prettier issue

* adds correct type to responseDataTypes property

* fix some more conflicts

* Try a new  multi switch component

* Revert multiswitch changes

* Adds finishing touches

* remove warnings

* Fixing bugs, reusing logic
2022-04-08 16:32:34 +00:00
Bhavin K
d22ae809cb
fix: handle duplicate tab name in tab widget (#12411) 2022-04-07 16:19:12 +00:00
f0c1s
057817d393
feat: migration changes hint (#12071)
* Initial changes

* feat: adding new icon and refactoring

* feat: add text and test ids

* chore: add tests
2022-04-04 17:11:49 +05:30
Ankita Kinger
a1942ccfee
chore: Improve UX on admin settings page (#12279)
* improved the UX on admin settings page

* added check for value containing only spaces

* implemented suggestions from PR

* implemented suggestion on the PR

* changed logic for checking mandatory fields is not empty

* removed unused import

* updated documentation links for google & github

* using css variables
2022-04-04 12:37:12 +05:30
f0c1s
26745c6128
feat: update list segment header (#12530)
* fix: update ListSegmentHeader
* chore: add tests for change
2022-04-04 12:55:00 +08:00
Ankita Kinger
5b614447b9
fix: Show restricted signup error message on login screen (#11974)
* adding restricted signup message on login screen too

* checking if error value if not true
2022-04-01 10:50:09 +05:30
Ankita Kinger
165c911612
chore: Added jest tests for admin settings form fields (#12413)
* added unit test case for tag input field on admin settings page

* added test case for text input component

* added test cases for toggle, accordion and disconnect service components

* added remaining unit test cases related to admin settings

* removed unused imports
2022-03-31 20:05:01 +05:30
Preet Sidhu
74def3bb98
Merge branch 'release' into fix-11468_dropdown_performance 2022-03-25 16:45:14 +05:30
arunvjn
69c09c03aa
feat: adding slug names in urls (#10957)
* Init commit clean urls

* Changes to builder route

* Refactored URLs

* Remove default params from url builder functions.

* Fixed more urls

* Changed selector name

* Minor url correction

* Type fixes

* Jest fixes

* Fixed routing for old published apps

* Fixed url slug replace

* page-1 -> page1 as default page slug name

* Remove application id from init editor calls

* Use default page slug

* Added comments and placeholder values for slug names

* variable rename

* Removed redirection and added back the old routes

* Prevent page slug name recompute

* Fixed home page load in view mode

* Added null checks

* Fixed jest test

* Fixed jest test

* Update URL slugs when app/page name changes

* Added unit tests and updates types

* Removed unused code

* * Removed duplication fetch page call.
* Fixes #11354
* Fixed sign up flow

* Refactored initializeEditorSaga

* Fixed warnings

* Fixed integrations screen URL bugs

* Cypress fixes

* Fixed slug names in copy/move operations and pages screen

* Minor refactor

* Fixed page highlight bug in published apps

* Added new url factory and middleware to store url params

* Changed store to default export and fix unit tests

* Fixed slugs unit test

* Minor fixes

* Fixes #11379

* Fixed set as home page feature

* Updated types

* app id adjustments for cypress

* Fixed bad merge

* Refactored routes to functional component

* * Fixed EE active entity highlight.
* Remove unused code in editor router.

* jest fix

* Mock history to prevent security errors

* constant rename

* Removed console logs

* Fixed page id regex

* Do not check for /pages in url

* Fixed missing pageId on quick edit/deploy clicks

* Missed files from previous commit

* Fixed warnings

* Fixed jest test

* New api integration

* feat: Add applicationVersion property to Application (#11626)

Added a new property to Application object - applicationVersion. This property can be used to identity when there is a breaking change and can not be solved with migration. FE will use this property to detect such conditions. Another API is added to migrate the applicationVersion to latest version when user migrates the breaking changes.

* Added manual upgrade modal.

* Test fix

* Fixed jest test

* function rename

* Fix deploy error

* Added null check

* Changes to persist URL search params when redirecting

* Added updates tooltip

* More unit test cases

* Fixed git url redirection

* Fix warning

* Fixed evaluation on upgrade

* Fixed warnings

* File rename

* Added cypress for clean urls

* Fixed import/export/fork cypress

* Cypress api server fixes

* Fixed mongo spec

* Fixed replay spec

* Fixed comments spec

* More cypress fixes

* Fixed tooltip in update btn

* Text size changes

* Minor fixes

* Jest test fix

* Fixed type error

* Fixed warnings

* Fixed todo comments

* Moved description to constants file

* Fixed cypress CI run crash

* Fixes git cypress failures

* Import/Export cypress test fixes

* Import export fork cypress fixes

* Explorer test fix

* Switch branch test fix

* Added applicationVersion in export app json

* Calls plugin forms in parallel

* Fixed warnings

* Fixed warning

* Import export CI fixes

* Reverts previous changes

* Fixes import export

* Fixed import export cypress URL verification

* Pass applicationVersion when duplicating application

* Cypress fix

* Dummy commit

Co-authored-by: Nayan <nayan@appsmith.com>
2022-03-25 16:13:26 +05:30
Preet
6902255b72 Merge remote-tracking branch 'origin/release' into fix-11468_dropdown_performance 2022-03-25 16:06:37 +05:30
arunvjn
bed11f4eca
fix: Open documentation CTA in omni-bar (#11954)
* Fixes broken "No Results" state in omnibar
* Adds spacing in documentation.
2022-03-24 14:47:17 +05:30
ashit-rath
32fee08c5c
feat: JSON Form widget (#8472)
* initial layout

* updated parser to support nested array

* array field rendering

* changes

* ts fix

* minor revert FormWidget

* modified schema structure

* select and switch fields

* added checkbox field

* added RadioGroupField

* partial DateField and defaults, typing refactoring

* added label and field type change

* minor ts changes

* changes

* modified widget/utils for nested panelConfig, modified schema to object approach

* array/object label support

* hide field configuration when children not present

* added tooltip

* field visibility option

* disabled state

* upgraded tslib, form initial values

* custom field configuration - add/hide/edit

* field configuration - label change

* return input when field configuration reaches max depth

* minor changes

* form - scroll, fixedfooter, enitity defn and other minior changes

* form title

* unregister on unmount

* fixes

* zero state

* fix field padding

* patched updating form values, removed linting warnings

* configured action buttons

* minor fix

* minor change

* property pane - sort fields in field configuration

* refactor include all properties

* checkbox properties

* date properties

* refactor typings and radio group properties

* switch, multselect, select, array, object properties

* minor changes

* default value

* ts fixes

* checkbox field properties implementation

* date field prop implementation

* switch field

* select field and fix deep nested meta properties

* multiselect implementation

* minor change

* input field implementation

* fix position jump on field type change

* initial accordian

* field state property and auto-complete of JSONFormComputeControl

* merge fixes

* renamed FormBuilder to JSONForm

* source data validation minor change

* custom field default value fix

* Editable keys for custom field

* minor fixes

* replaced useFieldArray with custom logic, added widget icon

* array and object accordian with border/background styling

* minor change

* disabled states for array and objects

* default value minor fix

* form level styles

* modified logic for isDisabled for array and object, added disabledWhenInvalid, exposed isValid to fieldState for text input, removed useDisableChildren

* added isValid for all field types

* fixed reset to default values

* debounce form values update

* minor change

* minor change

* fix crash - source data change multi-select to array, fix crash - change of options

* fix positioning

* detect date type in source data

* fix crash - when object is passed to regex input field

* fixed default sourceData path for fields

* accodion keep children mounted on collapse

* jest test for schemaParser

* widget/helper and useRegisterFieldInvalid test

* tests for property config helper and generatePanelPropertyConfig

* fix input field validation not appearing

* fix date field type detection

* rename data -> formData

* handle null/undefined field value change in sourceData

* added null/undefined as valid values for defaultValue text field

* auto detect email field

* set formData default value on initial load

* switch field inline positioning

* field margin fix for row direction

* select full width

* fiex date field default value - out of range

* fix any field type to array

* array default value logic change

* base cypress test changes

* initial json form render cy test

* key sanitization

* fix fieldState update logic

* required design, object/array background color, accordion changes, fix - add new custom field

* minor change

* cypress tests

* fix date formatted value, field state cypress test

* cypress - field properties test and fixes

* rename test file

* fix accessort change to blank value, cypress tests

* fix array field default value for modified accessor

* minor fix

* added animate loading

* fix empty state, add new custom field

* test data fix

* fix warnings

* fix timePrecision visibility

* button styling

* ported input v2

* fix jest tests

* fix cypress tests

* perf changes

* perf improvement

* added comments

* multiselect changes

* input field perf refactor

* array field, object field refactor performance

* checkbox field refactor

* refectored date, radio, select and switch

* fixes

* test fixes

* fixes

* minor fix

* rename field renderer

* remove tracked fieldRenderer field

* cypress test fixes

* cypress changes

* array default value fixes

* arrayfield passedDefaultValue

* auto enabled JS mode for few properties, reverted swith and date property controls

* cypress changes

* added widget sniping mode and fixed object passedDefaultValue

* multiselect v2

* select v2

* fix jest tests

* test fixes

* field limit

* rename field type dropdown texts

* field type changes fixes

* jest fixes

* loading state submit button

* default source data for new widget

* modify limit message

* multiseelct default value changes and cypress fix

* select default value

* keep default value intact on field type change

* TextTable cypress text fix

* review changes

* fixed footer changes

* collapse styles section by default

* fixed footer changes

* form modes

* custom field key rentention

* fixed footer fix in view mode

* non ascii characters

* fix meta merge in dataTreeWidget

* minor fixes

* rename useRegisterFieldInvalid.ts -> useRegisterFieldValidity.ts

* modified dependency injection into evaluated values

* refactored fixedfooter logic

* minor change

* accessor update

* minor change

* fixes

* QA fixes date field, scroll content

* fix phone number field, removed visiblity option from array item

* fix sourceData autocomplete

* reset logic

* fix multiselect reset

* form values hydration on widget drag

* code review changes

* reverted order of merge dataTreeWidget

* fixes

* added button titles, fixed hydration issue

* default value fixes

* upgraded react hook form, modified array-level/field-level default value logic

* fixed select validation

* added icon entity explorer, modified icon align control

* modify accessor validation for mongo db _id

* update email field regex

* review changes

* explicitly handle empty source data validation
2022-03-24 12:43:25 +05:30
Ankita Kinger
6df2c5eeb1
fix: Design QA changes & form login removed from signup screen if disabled (#11958)
* design qa changes & form login removed from signup screen if disabled

* updated color to use constants & updated error message on restart banner

* added PR review changes

* reverted restart banner error message change

* updated restart timeout from 1 min to 2 min

* reduced spacing for disconnect button
2022-03-24 12:35:00 +05:30
haojin111
49fa2c6e76
fix: 10927, 11999, 12035 - tooltip of org and redirect issues from oauth datasource configuration (#12031)
* added tooltip position props on menu item

* added comment

* fixed redirecting issue from oauth

* reconnect modal while none appsmith user importing

Co-authored-by: Anagh Hegde <anagh@appsmith.com>
2022-03-23 11:08:57 +05:30
Ayangade Adeoluwa
5f93385f78
feat: Revamp deletion flow (#11774)
* Revamp deletion flow

* remove modal confirmation from cypress tests

* Fix tests, add functionality for other deletion flows

* Fix some more tests

* remove credentials

* fix cypress errors

* Fix more failing cypress tests

* Fix more failing tests

* Fixes failing jest case

* Fix failing tests, Use constant styling for treedropdown component

* Fix failing cypress tests

* Fix failing cypress tests

* Fixes failing Mongo spec test

* Fix datasource card merge conflicts

Co-authored-by: Adeoluwa Ayangade <adeoluwaayangade@Adeoluwas-MacBook-Pro.local>
2022-03-23 05:33:06 +00:00
Preet
b3920abbe2 Merge remote-tracking branch 'origin/release' into fix-11468_dropdown_performance 2022-03-17 18:36:26 +05:30
haojin111
9cfca0518f
feat: 9754 import work flow (#10453)
* updated import application modal design as v2

* updated import flow

* added title, description, uploadIcon on filepicker ads component for custom file picker

* adding modal of add credential for git import

* added "Git Import" modal

* added generating ssh key for importing flow

* fixed issue of merging

* chore: fix import

* chore: show old import modal based on feature flag

* seperated import api from connect

* added datasource list on reconnect credential modal

* chore: minor changes

* chore: move ssh keys to git sync reducer from applications reducer

* chore: minor fixes

* chore: fetch datasource config for import

* for pulling

* for review of displaying of datasource

* added reconnect datasources after git import

* fix: initialize datasource with default values

* fix: initialise redux for after updating datasource with default values

* fixed issue of git connection init when importing

* if there is a datasource config missing in import, reconnect modal should be opened

* updated logic for unconfigured datasources

* commented unnecessary code

* fixed issue of successful import

* updated import app error logic

* Add un-configured datasources to Import via file response

* Add test

* fix

* chore: refactors

* change per review

* fix: reset ssh keys / url

* Fix issue with newly created datasources not sent

* fix

* chore: minor updates

* chore: minor fix

* WIP

* added saas and rest api datasource form

* feat: fixes and updates for file import flow

* chore: close on upload

* Refactor logic ofr finding unconfigured datasources

* fix: minor fixes

* Fix issue with IsPartialImport

* fix

* Add PartialImport flag for ImportExport service

* refactoring of datasource editor form for both of importing app and editing app

* fixed collapse config

* Fix tests

* Handle redirection back to the /applications for oAuth type

* Show reconnect button on the datasources pages if the datasource configuration is skipped

* added analytic events for reconnecting datasource modal

* Fix the repo limit check for git import

* updated test of importing app from json as new work flow

* updated exported app json while testing automatically

* Add isImport flag for handling OAuth redirection in import flow

* WIP

* updated card UI for import from git title and message in import app modal

* chore: cleanup

* chore: lint

* fix: add is import query param to get token for oauth

* fix

* When the user imports the application there should not be any uncommitted changes displayed on the commit icon

* Add flag to identify OAuth redirection for git import

* Update the variable name

* refactoring reconnect datasource modal

* close git import modal when repo limit error responded

* fixed issue of restoring draft data of datasource form without save on reconnect datasource modal

* chore: update query

* updated query name of oauth redirection url

* Fix duplicate name issue in git import

* fixed rest api reconnect issue on reconnect modal

* init datasources and plugins after imported app, updated reconnect modal as new design

* added unconfigured datasource list logic when importing and updated rest api form delete button visible

* removed put default config of datasource and fixed issue on it

* Add logic to check isCOnfugred in datasource API

* Expose API to get un configured datasources for git import

* added fetch unconfigured datasource list api when redirecting form OAuth

* Remove sensitive fields from application json during export

* update put call response to check for datasourceConfig

* chore: use @appsmith for constants/messages

* chore: use download icon and Import for Importing application label

* chore: move import application text up a bit

* Fix bad merge

* chore: update skip to application tooltip text

* fixed tooltip content of skip to application CTA

* init values of datasource when importing

* updated ui of git import modal as figma design

* fixing padding issue of reconnect datasource modal

* fixed cursor issue on import app modal

* Fix issue with datasource config

* chore: make code compile

* chore: sort lines

* fixed save button issue of dbform on reconnecting modal

* fixed style of import application modal

* Fix iisue with wrong value updated to flag

* reverted from reconnection form style

* fix: update design as per slack discussions on 2022.02.23

* fix: move modal close button to the left

* Remove check for the flag and use the one from db

* Set siCOnfigured as true for mockdata sets

* updated creating datasource with isConfigured as false

* Fix NPE while importing

* fixed scrollbar issue and text alignment on reconnect datasource modal

* fixed style of form container in reconnect datasource and redirecting to app if all are configured

* remove unwanted fields from application json

* FIx NPE for file import

* fix: move close button up in import modal

* remove delete button on reconnect datasource modal

* Add isConfigured false while creating datasources

* fix: add a gap and update color

gap between git import dialog title and subtitle
update color of subtext to GREY_800

* fix: use git import feature flag

* fix: do not use older modal

* updated selecting logic of unconfigured datasource in reconnect modal

* cleanup: auto format

* cleanup: refactor react component

* cleanup: refactor some more

* cleanup: autoformat

* Fix reconnect flag for mockdatasource

* During git import set the isConfigured to false for datasources

* Remove decrypted field from the applicationJson file

* Remove decrypted field from the applicationJson file

* Add app slug to remote repo

* fixed cypress test related with git

* updated json while testing

* Changes per review

* Update the method name

* fixed cypress test related with git

* fixed migration cypress test

* set is configured field as true on tour app

* Fix issue with datasource creation for welcome tour

* fixed issue of replay_editor cypress test

Co-authored-by: Rishabh Saxena <rishabh@appsmith.com>
Co-authored-by: Anagh Hegde <anagh@appsmith.com>
Co-authored-by: Anubhav <anubhav@appsmith.com>
Co-authored-by: f0c1s <iamanubhavsaini+git@gmail.com>
2022-03-17 15:58:54 +05:30
Preet
53c8b18c79 Merge remote-tracking branch 'origin/release' into fix-11468_dropdown_performance 2022-03-17 11:56:44 +05:30
rashmi rai
f6ba19dcb7
fix set initial value of KeyValueArrayControl (#11756) 2022-03-16 14:26:57 +00:00
Ayangade Adeoluwa
ba99068425
feat: Add action name to confirmation modal (#11807)
* Add action name to confirmation modal

* Fix cypress tests and button size
2022-03-16 14:26:19 +00:00
Ankita Kinger
12850cabc9
added asterisk on mandatory fields (#11829) 2022-03-14 15:26:28 +05:30
albinAppsmith
5423944bbd
fix: Preserve entity explorer state on page refresh (#11064) 2022-03-11 21:17:42 +05:30
Ankita Kinger
d32f848efd
fix: Update copy and flag for all toggle buttons on Admin settings page (#11703)
* completed toggle button changes on admin settings

* fixed browser console errors

* implemented PR suggestions

* reversed copy for telemetry
2022-03-11 16:51:58 +05:30
akash-codemonk
b3de51272c
fix: Templates UI polishing (#11567) 2022-03-10 20:09:05 +05:30
f0c1s
e1bc86b9e9
fix: remove text area from commit message box (#11342)
* fix: remove text area from commit message box
* fix: multiline commit
2022-03-10 09:27:27 +00:00
f0c1s
74200da71c
fix: polish git-sync feature (#11740)
Faster tooltips for bottom bar quick actions
Branch popover has a backdrop like the modals do.
More than 9 changes are reported as it is
Recent commit shows "less than a minute" ago
BETA tag removed from popover
Faster tooltips for sync branch button in popover
Placeholder for commit message
Relevant placeholder for git remote input
Padding for content in modal is decreased
Notification banner is aligned with SSH key box
2022-03-10 11:08:50 +05:30
arunvjn
52944dcea7
fix: Prevent page reload when launching an application from the applications dashboard for faster load time (#11604) 2022-03-10 07:52:07 +05:30
Aman Agarwal
691cfb767c
fix: Rest API UI issues (Empty DS headers, UI for Param tab, Save DS button, Placeholder) (#11700)
* fix: filtered empty key value pairs in headers, ui for param tab

* fix: disabled button to save ds in auth tab if no url

* fix: changed placeholder text
2022-03-08 19:49:02 +05:30
Preet
f4e6341add Merge remote-tracking branch 'origin/release' into fix-11468_dropdown_performance 2022-03-07 13:13:22 +05:30
Ankita Kinger
af5483c7c4
fix: Style values of the page and default value for telemetry (#11640) 2022-03-07 11:36:34 +05:30
f0c1s
c346af60c3
chore: update icons in org menu (#11548)
* chore: update icons in org menu
* chore: update user-heart-line and update org menu
* chore: use member instead of members for icon name
2022-03-05 21:20:33 +08:00
Preet
65940048e8 remove unnecessary re-renders 2022-03-04 13:36:38 +05:30
Ankita Kinger
a905b33081
fix: Remove reset password button if form login is disabled (#11591)
* increased restart server timeout & showing reset pwd only if form login is enabled

* Updated callout for disconnect button

* added space
2022-03-03 18:49:10 +05:30
akash-codemonk
65aee7fd14
feat: Application templates (#10964) 2022-03-03 16:26:53 +05:30
Ankita Kinger
13fe125a0c
feat: Add disconnect button on auth config pages and form login callout banner (#11389)
* added form login callout banner

* form login config page changes

* form login config page changes

* added redirecturl and uneditable field components

* added disconnect button on auth pages

* Added env variables for form login auth page

* added disconnect button on auth pages

* updated docs link for dform login callout doc

* added condition for disconnect button

* added ce changes done on ee

* updated css

* suggested changes in PR review

* suggested changes in PR review

* suggested changes in PR review

* reverted gitignore files changes

* reverted gitignore files changes

* updated logic for saving admin settings

* removed unused imports

* added changes for taginput field

* removed console

* removed warning

* removed unwanted changes
2022-03-02 23:48:50 +05:30
Preet Sidhu
5bfb770d2c
Merge pull request #11503 from appsmithorg/fix-1146_page_editor_behaviour
fix: 11476 page editor behaviour upon visibility toggle
2022-03-02 13:46:34 +05:30
rashmi rai
82a56222d2
fix: added allowDeselection in ads/dropdown (#11495)
* added allowDeselection in ads/dropdown

* fix dropdown height multi-selection

* add tests

Co-authored-by: Aswath K <aswath@appsmith.com>
2022-03-02 13:15:43 +05:30
Preet
bfad6f4af4 check for drag distance 2022-02-28 18:33:05 +05:30
Ankita Kinger
821c0d2021
css changes for invite users and manage users tables (#11441) 2022-02-28 11:38:33 +05:30
Aswath K
2ad121a092
feat: Keyboard accessible property pane header (#11339) 2022-02-24 12:34:31 +05:30
Tolulope Adetula
facf6a3d96
fix: date picker uniformity when only Month or year is changed (#11077)
* fix: date picker uniformity

* cypress tests

* fix: Failing date picker test

Co-authored-by: balajisoundar <balaji@appsmith.com>
2022-02-23 15:54:24 -08:00
Preet Sidhu
cc2242de9d
fix: page dragging in Pages editor (#11377) 2022-02-23 22:24:43 +05:30
Tolulope Adetula
06eac9387e
fix: make table button transparent when no color is selected (#11348)
* fix: make table button transparent when no color is selected

* fix:  failing tests in Table_widget_add _button_spec
2022-02-23 07:54:46 -08:00
Paul Li
42b2dc80e2
fix: Spaces are not allowed on widgets children names (tabs, menus, buttons etc.) (#11085)
* fix: Spaces are not allowed on widgets children names (tabs, menus, buttons etc.)

-- Set trimValue prop to false with property controls such as TabControl, MenuItemsControl, ButtonListControl, PrimaryColumnsControl

* fix: Spaces are not allowed on widgets children names (tabs, menus, buttons etc.)

-- Make trimValue property default to false
2022-02-22 12:17:55 +05:30
albinAppsmith
9fd6292c32
fix: Appsmith Design System fixes and improvements (#11011)
* * Added index file for Appsmith Design System
* Datasource context menu, changed position of delete

* * page setting icon color fix

* * filepicker image padding added

* * Debug button icon change

* * share modal design changes according to Appsmith Design System

* * Release notes modal - added see more functionality

* * Navbar header arrow fix

* * Padding fixed in share modal

* * Changed share icon in applications page

* * Header height changed to 32px from 34px

* * Removed icontab component index file of ADS

* * Added AppPageLayout cy test in ignore list
2022-02-18 15:21:02 +05:30
albinAppsmith
39e28f4e1b
feat: Homepage mobile UI (#10255)
* * Added hooks for detecting device
* fixed partial header issues

* * mobile UI completed

* config URL changed

* * bug fix

* * bug fix

* * mobile - on tap of app card launch app

* * conflict fix
* removed context menu from app card

* * homepage cy fix
2022-02-17 22:08:36 +05:30
f0c1s
a2e2bf0055
chore: introduce lookup tables inplace of switch (#11228) 2022-02-17 17:49:39 +05:30