From 3f12e2ce87246ebb828c387181d59ba474f14111 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Sat, 8 Jan 2022 17:14:23 +0100 Subject: [PATCH 01/60] Upgrade `query-string` library so it supports Plone `:list` qs marker (#2969) --- CHANGELOG.md | 2 ++ package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d040674f56..5496b8c4ab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ ### Internal +- Upgrade `query-string` library so it supports Plone `:list` qs marker @sneridagh + ## 14.2.0 (2022-01-04) ### Feature diff --git a/package.json b/package.json index b65247e35d..184ffdb8f0 100644 --- a/package.json +++ b/package.json @@ -342,7 +342,7 @@ "prismjs": "1.25.0", "promise-file-reader": "1.0.2", "prop-types": "15.7.2", - "query-string": "7.0.0", + "query-string": "7.1.0", "razzle": "3.4.5", "razzle-plugin-bundle-analyzer": "1.2.0", "rc-time-picker": "3.7.3", diff --git a/yarn.lock b/yarn.lock index 187551d8e5..01c7a00679 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15128,10 +15128,10 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.0.0.tgz#aaad2c8d5c6a6d0c6afada877fecbd56af79e609" - integrity sha512-Iy7moLybliR5ZgrK/1R3vjrXq03S13Vz4Rbm5Jg3EFq1LUmQppto0qtXz4vqZ386MSRjZgnTSZ9QC+NZOSd/XA== +query-string@7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.0.tgz#96b88f27b39794f97b8c8ccd060bc900495078ef" + integrity sha512-wnJ8covk+S9isYR5JIXPt93kFUmI2fQ4R/8130fuq+qwLiGVTurg7Klodgfw4NSz/oe7xnyi09y3lSrogUeM3g== dependencies: decode-uri-component "^0.2.0" filter-obj "^1.1.0" From 422fb4a8c066faf75e2d08954ad55b4dba95374a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Wed, 12 Jan 2022 20:20:12 +0100 Subject: [PATCH 02/60] Use plone-backend docker images for Cypress tests (#2966) * Use plone-backend docker images for Cypress tests * Amend documentation, fix ADDONS * Fix typo * Last typo * Update README, remove 'new'. Update to latest KGS. Update docs with latest versions too. --- CHANGELOG.md | 1 + Makefile | 11 ++++++----- README.md | 27 +++++++++++++++++++++++--- docs/source/configuration/backend.md | 1 + docs/source/getting-started/install.md | 14 +++++++------ 5 files changed, 40 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5496b8c4ab..56a3a887e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ ### Internal +- Use plone-backend docker images for Cypress tests @sneridagh - Upgrade `query-string` library so it supports Plone `:list` qs marker @sneridagh ## 14.2.0 (2022-01-04) diff --git a/Makefile b/Makefile index 307b7cb3e0..ad09edb507 100644 --- a/Makefile +++ b/Makefile @@ -13,7 +13,8 @@ MAKEFLAGS+=--no-builtin-rules # Project settings INSTANCE_PORT=8080 -KGS=plone.restapi=8.18.0 plone.app.iterate=4.0.2 plone.rest=2.0.0a1 plone.app.vocabularies=4.3.0 +DOCKER_IMAGE=plone/plone-backend:5.2.6 +KGS=plone.restapi==8.18.0 plone.app.iterate==4.0.2 plone.rest==2.0.0a1 plone.app.vocabularies==4.3.0 plone.volto==3.1.0a8 # Recipe snippets for reuse @@ -121,20 +122,20 @@ stop-backend-docker-guillotina: .PHONY: test-acceptance-server test-acceptance-server: - docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e VERSIONS="$(KGS)" -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi plone.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING + docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) plone.app.robotframework plone.app.contenttypes' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING .PHONY: test-acceptance-server-multilingual test-acceptance-server-multilingual: - docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e VERSIONS="$(KGS)" -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:multilingual -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi plone.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING + docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) plone.app.robotframework plone.app.contenttypes' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:multilingual -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING .PHONY: test-acceptance-server-workingcopy test-acceptance-server-workingcopy: - docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e VERSIONS="$(KGS)" -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.app.iterate:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi plone.app.iterate plone.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING + docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) plone.app.robotframework plone.app.contenttypes' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.app.iterate:default,plone.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING # ZSERVER_PORT=55001 CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.app.iterate,plone.volto,plone.volto.cors APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.app.iterate:default,plone.volto:default-homepage ./api/bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING .PHONY: test-acceptance-server-coresandbox test-acceptance-server-coresandbox: - docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e VERSIONS="$(KGS)" -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage,plone.volto:coresandbox -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors,plone.volto.coresandbox -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi plone.app.iterate plone.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING + docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e ADDONS='$(KGS) plone.app.robotframework plone.app.contenttypes' -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage,plone.volto:coresandbox -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors,plone.volto.coresandbox $(DOCKER_IMAGE) ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING # ZSERVER_PORT=55001 CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,plone.volto,plone.volto.cors,plone.volto.coresandbox APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,plone.volto:default-homepage,plone.volto:coresandbox ./api/bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING .PHONY: test-acceptance-server-old diff --git a/README.md b/README.md index 7dea6aa5fd..c294a08cb0 100644 --- a/README.md +++ b/README.md @@ -76,20 +76,41 @@ follow the prompts questions, provide `myvoltoproject` as project name then, whe We recommend Plone as backend of choice for Volto. -You can bootstrap a ready Docker Plone container with all the dependencies and ready for Volto use: +You can bootstrap a ready Docker Plone container with all the dependencies and ready for Volto use. We recommend to use the Plone docker builds based in `pip` [plone/plone-backend](https://github.com/plone/plone-backend) image: ```shell -docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e VERSIONS="plone.restapi=8.16.2 plone.app.iterate=4.0.2 plone.rest=2.0.0a1 plone.app.vocabularies=4.3.0" -e ADDONS="plone.volto" -e ZCML="plone.volto.cors" -e PROFILES="plone.volto:default-homepage" plone +docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e ADDONS="plone.restapi==8.18.0 plone.app.iterate==4.0.2 plone.rest==2.0.0a1 plone.app.vocabularies==4.3.0 plone.volto==3.1.0a7" -e PROFILES="plone.volto:default-homepage" plone/plone-backend ``` or as an alternative if you have experience with Plone and you have all the -dependencies installed on your system, you can use the supplied buildout in the +dependencies installed on your system, you can use the supplied convenience buildout in the `api` folder by issuing the command: ```shell make build-backend ``` +#### Recommended Plone version + +Volto is Plone 6 default UI, so it will work for all Plone 6 released versions. + +For the Plone 5 series latest released version (with Python 3) and above is recommended (at the time of writing 5.2.6). + +The following KGS (or above) are also recommended, for any Plone version used. + +#### KGS (known good versions) for backend packages + +Volto always works best with latest versions of the "Frontend stack" or at least the recommended ones (in parenthesis) which are: + +- plone.restapi (8.18.0) +- plone.rest (2.0.0a1) +- plone.volto (3.1.0a7) + +and the following core packages since some features require up to date versions: + +- plone.app.iterate (4.0.2) +- plone.app.vocabularies (4.3.0) + ### Start Volto ```shell diff --git a/docs/source/configuration/backend.md b/docs/source/configuration/backend.md index 71d4482ead..f6555e8f29 100644 --- a/docs/source/configuration/backend.md +++ b/docs/source/configuration/backend.md @@ -1,6 +1,7 @@ # Backend configuration ## plone.volto + In order to fully support all Volto features, the Plone backend, needs to be prepared for Volto. This involves configuration, add-ons installation and some patches to the core. The add'on `plone.volto` does all the heavy lifting for you and it's ready to use diff --git a/docs/source/getting-started/install.md b/docs/source/getting-started/install.md index d92e5eee3f..0074b33018 100644 --- a/docs/source/getting-started/install.md +++ b/docs/source/getting-started/install.md @@ -5,7 +5,7 @@ Volto can be installed in any operating system assuming that this requirements are met: -- [Node.js LTS (14.x)](https://nodejs.org/) +- [Node.js LTS (16.x)](https://nodejs.org/) - [Python 3.7.x / 3.8.x](https://python.org/) or - [Docker](https://www.docker.com/get-started) (if using the Plone/Guillotina docker images) @@ -102,17 +102,19 @@ should not throw an error and show the current running containers. ## Run a Volto ready Plone Docker container -When you have installed Docker, you can run an standard Plone Docker container with the proper configuration for Volto using the `plone.volto` add'on right away by issuing: +When you have installed Docker, you can run an standard Plone Docker container with the proper configuration for Volto using the `plone.volto` add-on right away by issuing: ```shell docker run -it --rm --name=plone \ - -p 8080:8080 -e SITE=Plone -e ADDONS="plone.volto" \ - -e ZCML="plone.volto.cors" \ + -p 8080:8080 -e SITE=Plone -e \ + ADDONS="plone.restapi==8.18.0 plone.app.iterate==4.0.2 plone.rest==2.0.0a1 plone.app.vocabularies==4.3.0 plone.volto==3.1.0a8" \ -e PROFILES="plone.volto:default-homepage" \ - -e VERSIONS="plone.restapi=8.16.2 plone.app.iterate=4.0.2 plone.rest=2.0.0a1 plone.app.vocabularies=4.3.0" \ - plone + plone/plone-backend ``` +!!! tip + This setup is meant only for demonstration and quick testing purposes (since it destroys the container on exit (--rm)). In case you need production ready deployment, check the latest [Plone Deployment Training](https://training.plone.org/5/plone-deployment/index.html). + !!! note The example above does not persist yet any changes you make through Volto in the Plone docker container backend! For this you need to map the /data directory From 358e1cb56b434bdad5538eae1776dd48c316b0a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Wed, 12 Jan 2022 20:20:34 +0100 Subject: [PATCH 03/60] Fix home URL item in Navigation, which was evaluating as non-internal (#2976) --- CHANGELOG.md | 2 ++ src/components/theme/Navigation/NavItem.jsx | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56a3a887e0..d279de5513 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ ### Bugfix +- Fix home URL item in Navigation, which was evaluating as non-internal + ### Internal - Use plone-backend docker images for Cypress tests @sneridagh diff --git a/src/components/theme/Navigation/NavItem.jsx b/src/components/theme/Navigation/NavItem.jsx index 05160f12dc..0468acf786 100644 --- a/src/components/theme/Navigation/NavItem.jsx +++ b/src/components/theme/Navigation/NavItem.jsx @@ -5,7 +5,9 @@ import config from '@plone/volto/registry'; const NavItem = ({ item, lang }) => { const { settings } = config; - if (isInternalURL(item.url)) { + // The item.url in the root is '' + // TODO: make more consistent it everywhere (eg. reducers to return '/' instead of '') + if (isInternalURL(item.url) || item.url === '') { return ( Date: Thu, 13 Jan 2022 01:07:22 +0530 Subject: [PATCH 04/60] Add mrs-developer.json to generator template (#2971) * generator:add mrs.developer.json to template * update changelog --- packages/generator-volto/CHANGELOG.md | 2 ++ .../generator-volto/generators/app/templates/mrs.developer.json | 1 + 2 files changed, 3 insertions(+) create mode 100644 packages/generator-volto/generators/app/templates/mrs.developer.json diff --git a/packages/generator-volto/CHANGELOG.md b/packages/generator-volto/CHANGELOG.md index c3961f35c2..d97f656a4d 100644 --- a/packages/generator-volto/CHANGELOG.md +++ b/packages/generator-volto/CHANGELOG.md @@ -4,6 +4,8 @@ ### Added +- Add mrs-developer.json in template + ### Changes ## 5.4.0 (2021-12-29) diff --git a/packages/generator-volto/generators/app/templates/mrs.developer.json b/packages/generator-volto/generators/app/templates/mrs.developer.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/packages/generator-volto/generators/app/templates/mrs.developer.json @@ -0,0 +1 @@ +{} From ebd1c5208e6f0622fba499024a4236f568e4f977 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 12 Jan 2022 20:44:40 +0100 Subject: [PATCH 05/60] Prepare for release --- CHANGELOG.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d279de5513..58f010043d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,6 @@ ## 14.2.1 (unreleased) -### Breaking - -### Feature - ### Bugfix - Fix home URL item in Navigation, which was evaluating as non-internal From 9445d65490382d02f3f3aaf313c2d6033513a2ce Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 12 Jan 2022 20:45:21 +0100 Subject: [PATCH 06/60] Release 14.2.1 --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58f010043d..aeb07e045f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log -## 14.2.1 (unreleased) +## 14.2.1 (2022-01-12) ### Bugfix diff --git a/package.json b/package.json index 184ffdb8f0..d61460d26d 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ } ], "license": "MIT", - "version": "14.2.0", + "version": "14.2.1", "repository": { "type": "git", "url": "git@github.com:plone/volto.git" From 18c525cf111d9be3b7f0aa97de09c62812f7ca9a Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 12 Jan 2022 20:45:27 +0100 Subject: [PATCH 07/60] Back to development --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index aeb07e045f..03b18c65da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 14.2.2 (unreleased) + +### Breaking + +### Feature + +### Bugfix + +### Internal + ## 14.2.1 (2022-01-12) ### Bugfix From df8a665a2c62e77ab13318bec6dc693f172cbbae Mon Sep 17 00:00:00 2001 From: iRohitSingh <61353484+iRohitSingh@users.noreply.github.com> Date: Thu, 13 Jan 2022 19:29:23 +0530 Subject: [PATCH 08/60] Fix when you remove the time from DatetimeWidget (#2861) * Fix when you remove the time from DatetimeWidget * add cypress test --- CHANGELOG.md | 1 + cypress/tests/core/content.js | 17 ++++++++++++++--- .../manage/Widgets/DatetimeWidget.jsx | 4 ++-- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03b18c65da..9462b1742b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ ### Bugfix +- Fix when you remove the time from DatetimeWidget @iRohitSingh ### Internal ## 14.2.1 (2022-01-12) diff --git a/cypress/tests/core/content.js b/cypress/tests/core/content.js index 417faf3e1a..ef0f70e816 100644 --- a/cypress/tests/core/content.js +++ b/cypress/tests/core/content.js @@ -127,9 +127,22 @@ describe('Add Content Tests', () => { cy.url().should('eq', Cypress.config().baseUrl + '/my-folder'); cy.get('.navigation .item.active').should('have.text', 'My Folder'); }); + it('As editor I am setting the time in datetimeWidget', function () { + // when I add a Event + cy.get('#toolbar-add').click(); + cy.get('#toolbar-add-event').click(); + cy.get('#field-title').type('datetimeWidget test'); + cy.get('#start-time').click(); + cy.get('.rc-time-picker-panel-input').click(); + cy.get('.rc-time-picker-panel-input').clear().type('6:40 AM'); + cy.get('#toolbar-save').click(); - it('As editor I can add a Link (with an external link)', function () { + // then + + cy.get('.documentFirstHeading').should('have.text', 'datetimeWidget test'); + }); + it('As editor I can add a Link (with an external link)', function () { // When I add a link cy.get('#toolbar-add').click(); cy.get('#toolbar-add-link').click(); @@ -152,7 +165,6 @@ describe('Add Content Tests', () => { }); it('As editor I can add a Link (with an internal link)', function () { - // Given a Document "Link Target" cy.createContent({ contentType: 'Document', @@ -184,5 +196,4 @@ describe('Add Content Tests', () => { cy.url().should('eq', Cypress.config().baseUrl + '/link-target'); cy.get('main').contains('Link Target'); }); - }); diff --git a/src/components/manage/Widgets/DatetimeWidget.jsx b/src/components/manage/Widgets/DatetimeWidget.jsx index 7f104db235..f2efa20012 100644 --- a/src/components/manage/Widgets/DatetimeWidget.jsx +++ b/src/components/manage/Widgets/DatetimeWidget.jsx @@ -148,8 +148,8 @@ export class DatetimeWidgetComponent extends Component { const moment = this.props.moment.default; if (time) { const base = (this.getInternalValue() || moment()).set({ - hours: time.hours(), - minutes: time.minutes(), + hours: time?.hours() ?? 0, + minutes: time?.minutes() ?? 0, seconds: 0, }); const dateValue = base.toISOString(); From e13c71f0fecc52322b65ac4789ecb30bfa9924dd Mon Sep 17 00:00:00 2001 From: Tiberiu Ichim Date: Thu, 13 Jan 2022 16:16:27 +0200 Subject: [PATCH 09/60] Fix URL for a Volto website, Climate Energy (#2978) * Fix url for Climate-Energy * Fix url for Climate-Energy --- CHANGELOG.md | 2 ++ README.md | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9462b1742b..ef5ccd9a40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ - Fix when you remove the time from DatetimeWidget @iRohitSingh ### Internal +- Fix URL for Climate-Energy, a Volto website @tiberiuichim + ## 14.2.1 (2022-01-12) ### Bugfix diff --git a/README.md b/README.md index c294a08cb0..0d7d8836b8 100644 --- a/README.md +++ b/README.md @@ -130,7 +130,7 @@ Volto is actively developed since 2017 and used in production since 2018 on the - [Excellence at Humboldt-Universität zu Berlin](https://www.alles-beginnt-mit-einer-frage.de) (Website for the excellence initiative of the [Humboldt University Berlin](https://hu-berlin.de), developed by [kitconcept GmbH](https://kitconcept.com), 2019) - [Forest Information System for Europe](https://forest.eea.europa.eu) (Thematic website focusing on European forests, developed by [Eau de Web](https://www.eaudeweb.ro), 2019) - [Industrial Emissions portal for Europe](https://industry.eea.europa.eu) (Thematic website focusing on European industrial emissions, developed by [Eau de Web](https://www.eaudeweb.ro), 2020) -- [Energy Climate Union portal for Europe](https://demo-energy-union.eea.europa.eu) (Thematic website focusing on European strides towards mitigating climate change, developed by [Eau de Web](https://www.eaudeweb.ro), 2020) +- [Energy Climate Union portal for Europe](https://climate-energy.eea.europa.eu/) (Thematic website focusing on European strides towards mitigating climate change, developed by [Eau de Web](https://www.eaudeweb.ro), 2020) - [Talke Carrer Website](https://karriere.talke.com/) (Carrer website for [Talke](https://www.talke.com), one of the leading a chemical and petrochemical logistics companies in Germany, developed by [kitconcept GmbH](https://kitconcept.com), 2020) - [Stradanove](http://www.stradanove.it/) (Website of the Department of Youth Policies of the Municipality of Modena, developed by [RedTurtle](https://redturtle.it), 2020) - [VisitModena](https://www.visitmodena.it/) (Tourist website of the Municipality of Modena, developed by [RedTurtle](https://redturtle.it), 2020) From 8ec87ff0c65a6ebc706a5bad70e68aba7d14cab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Thu, 13 Jan 2022 15:41:52 +0100 Subject: [PATCH 10/60] Server dying because of a bunch of 404 in proxied content calls (@@images, etc) (#2975) * This breaks the node server completely * WIP, works now like this * Cleanup * Fix bad argument in getAPIResourceWithAuth * Tests using --maxWorkers for better performance in modern CPUs * Add Changelog * Remove proof of the crashing node server * Simplify some calls (#2977) Co-authored-by: Tiberiu Ichim --- CHANGELOG.md | 3 +++ package.json | 2 +- src/express-middleware/files.js | 5 ++--- src/express-middleware/images.js | 6 ++---- src/helpers/Api/APIResourceWithAuth.js | 8 +------- src/server.jsx | 28 ++++++++++++++++++++++++++ 6 files changed, 37 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef5ccd9a40..09c5e5ddf3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,10 @@ ### Bugfix +- Fix home URL item in Navigation, which was evaluating as non-internal @sneridagh +- Improve the request handling in `getAPIResourceWithAuth` and in `Api` helper. This fixes the "Cannot set headers once the content has being sent" @sneridagh - Fix when you remove the time from DatetimeWidget @iRohitSingh + ### Internal - Fix URL for Climate-Energy, a Volto website @tiberiuichim diff --git a/package.json b/package.json index d61460d26d..e4cc80f629 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "start-spa": "razzle start --type=spa", "build": "razzle build", "build-spa": "razzle build --type=spa", - "test": "razzle test --env=jest-environment-jsdom-sixteen", + "test": "razzle test --env=jest-environment-jsdom-sixteen --maxWorkers=50%", "test:ci": "CI=true razzle test --env=jest-environment-jsdom-sixteen", "test:husky": "CI=true yarn test --bail --findRelatedTests", "test:debug": "node --inspect node_modules/.bin/jest --runInBand", diff --git a/src/express-middleware/files.js b/src/express-middleware/files.js index 5941dabd7b..c6ddd378d9 100644 --- a/src/express-middleware/files.js +++ b/src/express-middleware/files.js @@ -4,7 +4,6 @@ import { getAPIResourceWithAuth } from '@plone/volto/helpers'; const HEADERS = ['content-type', 'content-disposition', 'cache-control']; function fileMiddleware(req, res, next) { - const { errorHandler } = req.app.locals; getAPIResourceWithAuth(req) .then((resource) => { // Just forward the headers that we need @@ -14,8 +13,8 @@ function fileMiddleware(req, res, next) { } }); res.send(resource.body); - }, errorHandler) - .catch(errorHandler); + }) + .catch(next); } export default function () { diff --git a/src/express-middleware/images.js b/src/express-middleware/images.js index dc00ffa96a..229eb79227 100644 --- a/src/express-middleware/images.js +++ b/src/express-middleware/images.js @@ -4,7 +4,6 @@ import { getAPIResourceWithAuth } from '@plone/volto/helpers'; const HEADERS = ['content-type', 'content-disposition', 'cache-control']; function imageMiddleware(req, res, next) { - const { errorHandler } = req.app.locals; getAPIResourceWithAuth(req) .then((resource) => { // Just forward the headers that we need @@ -13,10 +12,9 @@ function imageMiddleware(req, res, next) { res.set(header, resource.headers[header]); } }); - res.send(resource.body); - }, errorHandler) - .catch(errorHandler); + }) + .catch(next); } export default function () { diff --git a/src/helpers/Api/APIResourceWithAuth.js b/src/helpers/Api/APIResourceWithAuth.js index aa7cc93f1a..5651adea09 100644 --- a/src/helpers/Api/APIResourceWithAuth.js +++ b/src/helpers/Api/APIResourceWithAuth.js @@ -34,11 +34,5 @@ export const getAPIResourceWithAuth = (req) => if (authToken) { request.set('Authorization', `Bearer ${authToken}`); } - request.end((error, res = {}) => { - if (error) { - reject(error); - } else { - resolve(res); - } - }); + request.then(resolve).catch(reject); }); diff --git a/src/server.jsx b/src/server.jsx index 311d2a78ab..014b636fc4 100644 --- a/src/server.jsx +++ b/src/server.jsx @@ -72,6 +72,34 @@ const middleware = (config.settings.expressMiddleware || []).filter((m) => m); server.all('*', setupServer); if (middleware.length) server.use('/', middleware); +server.use(function (err, req, res, next) { + if (err) { + const { store } = req.app.locals; + const errorPage = ( + + + + + + ); + + res.set({ + 'Cache-Control': 'public, max-age=60, no-transform', + }); + + /* Displays error in console + * TODO: + * - get ignored codes from Plone error_log + */ + const ignoredErrors = [301, 302, 401, 404]; + if (!ignoredErrors.includes(err.status)) console.error(err); + + res + .status(err.status || 500) // If error happens in Volto code itself error status is undefined + .send(` ${renderToString(errorPage)}`); + } +}); + function setupServer(req, res, next) { const api = new Api(req); From c0124b8ed28e3b7f9687e7198e01f049d03c515c Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Thu, 13 Jan 2022 15:42:56 +0100 Subject: [PATCH 11/60] Prepare for release --- CHANGELOG.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09c5e5ddf3..85d12e2722 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,6 @@ ## 14.2.2 (unreleased) -### Breaking - -### Feature - ### Bugfix - Fix home URL item in Navigation, which was evaluating as non-internal @sneridagh From 6275b0d223b7ff4a79fdbde43aafed1c733354cf Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Thu, 13 Jan 2022 15:43:35 +0100 Subject: [PATCH 12/60] Release 14.2.2 --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85d12e2722..e7dc47138a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log -## 14.2.2 (unreleased) +## 14.2.2 (2022-01-13) ### Bugfix diff --git a/package.json b/package.json index e4cc80f629..e6094205ef 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ } ], "license": "MIT", - "version": "14.2.1", + "version": "14.2.2", "repository": { "type": "git", "url": "git@github.com:plone/volto.git" From d95aae1bdcc454a88e6e3d7ac8dc7c365a32ce9d Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Thu, 13 Jan 2022 15:43:41 +0100 Subject: [PATCH 13/60] Back to development --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e7dc47138a..f985c8af31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 14.2.3 (unreleased) + +### Breaking + +### Feature + +### Bugfix + +### Internal + ## 14.2.2 (2022-01-13) ### Bugfix From 146600451642250b98ee807e39036e524420778d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Fern=C3=A1ndez=20de=20Alba?= Date: Thu, 13 Jan 2022 16:49:37 +0100 Subject: [PATCH 14/60] Fix quirky test in DX controlpanel schema tests (#2980) --- CHANGELOG.md | 1 + cypress/tests/core/dexterity-controlpanel-schema.js | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f985c8af31..12c19f6818 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ ### Internal - Fix URL for Climate-Energy, a Volto website @tiberiuichim +- Fix quirky Cypress test in "DX control panel schema" (see https://github.com/plone/volto/runs/4803206906?check_suite_focus=true) @sneridagh ## 14.2.1 (2022-01-12) diff --git a/cypress/tests/core/dexterity-controlpanel-schema.js b/cypress/tests/core/dexterity-controlpanel-schema.js index 0fee0b6a50..fa4a1c48af 100644 --- a/cypress/tests/core/dexterity-controlpanel-schema.js +++ b/cypress/tests/core/dexterity-controlpanel-schema.js @@ -30,6 +30,7 @@ describe('ControlPanel: Dexterity Content-Types Schema', () => { // Add field cy.get('button[id=addfield]').click(); + cy.wait(1000); cy.get('.modal .react-select-container').click().type('Choice{enter}'); cy.get('.modal input[id="field-title"]') .type('Color') From 129ba357489da685ccb6e8c79d9703d18100c95c Mon Sep 17 00:00:00 2001 From: Giulia Ghisini <51911425+giuliaghisini@users.noreply.github.com> Date: Wed, 19 Jan 2022 12:16:16 +0100 Subject: [PATCH 15/60] Fixed url validation in FormValidation to admit ip addresses (#2930) --- CHANGELOG.md | 1 + src/helpers/FormValidation/FormValidation.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 12c19f6818..c06932735e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -256,6 +256,7 @@ See https://docs.voltocms.com/upgrade-guide/ for more information about all the - Fix z-index value of hamburger-wrapper on mobile resolutions overlapping the sidebar @ichim-david - Fix UniversalLink handling of remote URLs from Link @nzambello - Add missing `App.jsx` full paths @jimbiscuit +- Fixed url validation in FormValidation to admit ip addresses. @giuliaghisini ### Internal diff --git a/src/helpers/FormValidation/FormValidation.js b/src/helpers/FormValidation/FormValidation.js index 717424c5fd..bc8fae12c7 100644 --- a/src/helpers/FormValidation/FormValidation.js +++ b/src/helpers/FormValidation/FormValidation.js @@ -61,7 +61,7 @@ const widgetValidation = { }, url: { isValidURL: (urlValue, urlObj, intlFunc) => { - const urlRegex = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/gm; + const urlRegex = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([-.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?|^((http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/gm; const isValid = urlRegex.test(urlValue); return !isValid ? intlFunc(messages.isValidURL) : null; }, From 3785c893f7666f7d363ea72747015e17fa3000cd Mon Sep 17 00:00:00 2001 From: Giulia Ghisini <51911425+giuliaghisini@users.noreply.github.com> Date: Wed, 19 Jan 2022 12:20:41 +0100 Subject: [PATCH 16/60] Fix overflow contents view table (#2600) * Fix overflow table in Content view * updated tests --- CHANGELOG.md | 4 + src/components/manage/Contents/Contents.jsx | 445 +++--- .../__snapshots__/Contents.test.jsx.snap | 1212 +++++++++-------- src/components/theme/Anontools/Anontools.jsx | 2 +- theme/themes/pastanaga/extras/contents.less | 12 + 5 files changed, 850 insertions(+), 825 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c06932735e..ee21735288 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -383,6 +383,10 @@ See https://docs.voltocms.com/upgrade-guide/ for more information about all the ### Bugfix +- Prevent form submit when clicking on BlockChooserButton @giuliaghisini +- Fix overflow table in Content view @giuliaghisini +- Prevent ua-parser-js security breach. See: https://github.com/advisories/GHSA-pjwm-rvh2-c87w @thet +- Fix storybook errors in the connected components, api is undefined. Using now a mock of the store instead of the whole thing @sneridagh - Fix downloadableObjects default value @giuliaghisini - Folder contents table header and breadcrumbs dropdown now appear only from the bottom, fixing an issue where the breadcrumb dropdown content was clipped diff --git a/src/components/manage/Contents/Contents.jsx b/src/components/manage/Contents/Contents.jsx index 2a53229267..fc261fd3b0 100644 --- a/src/components/manage/Contents/Contents.jsx +++ b/src/components/manage/Contents/Contents.jsx @@ -1491,236 +1491,241 @@ class Contents extends Component { - - - - - - } - > - - - {map( - [ - 'id', - 'sortable_title', - 'EffectiveDate', - 'CreationDate', - 'ModificationDate', - 'portal_type', - ], - (index) => ( - - - - - - {' '} - - - - {' '} - - - - - ), +
+
+ + + + - - - - 0 - ? '#007eb1' - : '#826a6a' - } - size="24px" - /> - } - icon={null} - > - - - + icon={ {' '} - - - + } + > + + + {map( + [ + 'id', + 'sortable_title', + 'EffectiveDate', + 'CreationDate', + 'ModificationDate', + 'portal_type', + ], + (index) => ( + + + + + + {' '} + + + + {' '} + + + + + ), + )} + + + + + 0 + ? '#007eb1' + : '#826a6a' + } size="24px" - />{' '} - - - - - } - iconPosition="left" - className="search" - placeholder={this.props.intl.formatMessage( - messages.filter, - )} - onChange={this.onChangeSelected} - onClick={(e) => { - e.preventDefault(); - e.stopPropagation(); - }} - /> - - {map(filteredItems, (item) => ( - - {' '} - {this.getFieldById(item, 'title')} - - ))} + } + icon={null} + > + + + + {' '} + + + + {' '} + + + + + } + iconPosition="left" + className="search" + placeholder={this.props.intl.formatMessage( + messages.filter, + )} + onChange={this.onChangeSelected} + onClick={(e) => { + e.preventDefault(); + e.stopPropagation(); + }} + /> + + {map(filteredItems, (item) => ( + + {' '} + {this.getFieldById(item, 'title')} + + ))} + - - - - + + + + + {map( + this.state.index.order, + (index, order) => + this.state.index.values[index].selected && ( + + ), )} - > - - - {map( - this.state.index.order, - (index, order) => - this.state.index.values[index].selected && ( - - ), - )} - - + + + + + + {this.state.items.map((item, order) => ( + ({ + id: index, + type: this.state.index.values[index].type, + })), + (index) => + this.state.index.values[index.id].selected, + )} + onCut={this.cut} + onCopy={this.copy} + onDelete={this.delete} + onOrderItem={this.onOrderItem} + onMoveToTop={this.onMoveToTop} + onMoveToBottom={this.onMoveToBottom} /> - - - - - {this.state.items.map((item, order) => ( - ({ - id: index, - type: this.state.index.values[index].type, - })), - (index) => - this.state.index.values[index.id].selected, - )} - onCut={this.cut} - onCopy={this.copy} - onDelete={this.delete} - onOrderItem={this.onOrderItem} - onMoveToTop={this.onMoveToTop} - onMoveToBottom={this.onMoveToBottom} - /> - ))} - -
+ ))} + + +
- - - - - - - - - - -
-
- -
- Rearrange items by… -
-
- + - ID + } + viewBox="" + xmlns="" + /> +
-
- +
+ - - Ascending -
+ } + viewBox="" + xmlns="" + /> + ID
- + - - Descending + viewBox="" + xmlns="" + /> + + Ascending +
+
+ + + Descending +
-
-
- - Title
-
- - - Ascending -
+ } + viewBox="" + xmlns="" + /> + Title
- + - - Descending + viewBox="" + xmlns="" + /> + + Ascending +
+
+ + + Descending +
-
-
- - Publication date
-
- - - Ascending -
+ } + viewBox="" + xmlns="" + /> + Publication date
- + - - Descending + viewBox="" + xmlns="" + /> + + Ascending +
+
+ + + Descending +
-
-
- - Created on
-
- - - Ascending -
+ } + viewBox="" + xmlns="" + /> + Created on
- + - - Descending + viewBox="" + xmlns="" + /> + + Ascending +
+
+ + + Descending +
-
-
- - Last modified
-
- - - Ascending -
+ } + viewBox="" + xmlns="" + /> + Last modified
- + - - Descending + viewBox="" + xmlns="" + /> + + Ascending +
+
+ + + Descending +
-
-
- - Type
-
- - - Ascending -
+ } + viewBox="" + xmlns="" + /> + Type
- + - - Descending + viewBox="" + xmlns="" + /> + + Ascending +
+
+ + + Descending +
- -
-
+
-
-
- Select… -
-
- - - All -
+ } + viewBox="" + xmlns="" + />
- + Select… +
+
+ - - None -
-
-
- 0 selected -
-
- + + All +
+
+ + + None +
+
- + 0 selected +
+
+ + +
+
-
-
-
- Title - - Actions -
+ + + Title + + + Actions + + + + + +
diff --git a/src/components/theme/Anontools/Anontools.jsx b/src/components/theme/Anontools/Anontools.jsx index 963a87d215..2b9e9fb5b6 100644 --- a/src/components/theme/Anontools/Anontools.jsx +++ b/src/components/theme/Anontools/Anontools.jsx @@ -53,7 +53,7 @@ export class Anontools extends Component { .item.icon-align { display: flex; From 4cf22b520b26f7b9b087d9133bd0521d65302150 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Wed, 19 Jan 2022 12:24:33 +0100 Subject: [PATCH 17/60] Fix changelog --- CHANGELOG.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ee21735288..2d4e92ac6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ ### Bugfix +- Fix overflow table in Content view @giuliaghisini +- Fixed url validation in FormValidation to admit ip addresses. @giuliaghisini + ### Internal ## 14.2.2 (2022-01-13) @@ -256,7 +259,6 @@ See https://docs.voltocms.com/upgrade-guide/ for more information about all the - Fix z-index value of hamburger-wrapper on mobile resolutions overlapping the sidebar @ichim-david - Fix UniversalLink handling of remote URLs from Link @nzambello - Add missing `App.jsx` full paths @jimbiscuit -- Fixed url validation in FormValidation to admit ip addresses. @giuliaghisini ### Internal @@ -383,10 +385,6 @@ See https://docs.voltocms.com/upgrade-guide/ for more information about all the ### Bugfix -- Prevent form submit when clicking on BlockChooserButton @giuliaghisini -- Fix overflow table in Content view @giuliaghisini -- Prevent ua-parser-js security breach. See: https://github.com/advisories/GHSA-pjwm-rvh2-c87w @thet -- Fix storybook errors in the connected components, api is undefined. Using now a mock of the store instead of the whole thing @sneridagh - Fix downloadableObjects default value @giuliaghisini - Folder contents table header and breadcrumbs dropdown now appear only from the bottom, fixing an issue where the breadcrumb dropdown content was clipped From e3814ef756446831041fee5dca697121a93072b1 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Thu, 20 Jan 2022 16:07:19 +0100 Subject: [PATCH 18/60] Prepare for release --- CHANGELOG.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2d4e92ac6f..3f30590b8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,17 +2,11 @@ ## 14.2.3 (unreleased) -### Breaking - -### Feature - ### Bugfix - Fix overflow table in Content view @giuliaghisini - Fixed url validation in FormValidation to admit ip addresses. @giuliaghisini -### Internal - ## 14.2.2 (2022-01-13) ### Bugfix From 7dcd75208a147c88838a52423882472742fc46a9 Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Thu, 20 Jan 2022 16:07:56 +0100 Subject: [PATCH 19/60] Release 14.2.3 --- CHANGELOG.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f30590b8a..debdce1809 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log -## 14.2.3 (unreleased) +## 14.2.3 (2022-01-20) ### Bugfix diff --git a/package.json b/package.json index e6094205ef..d92c17459f 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ } ], "license": "MIT", - "version": "14.2.2", + "version": "14.2.3", "repository": { "type": "git", "url": "git@github.com:plone/volto.git" From fcd4adf96f2c7f43e8ba3300aab65b260b3ba02b Mon Sep 17 00:00:00 2001 From: Victor Fernandez de Alba Date: Thu, 20 Jan 2022 16:08:02 +0100 Subject: [PATCH 20/60] Back to development --- CHANGELOG.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index debdce1809..3b9aeaeae2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,15 @@ # Change Log +## 14.2.4 (unreleased) + +### Breaking + +### Feature + +### Bugfix + +### Internal + ## 14.2.3 (2022-01-20) ### Bugfix From 2b98c1b4d37a5de05a9cbe1d8b5d88e8ff4020f4 Mon Sep 17 00:00:00 2001 From: Nilesh Date: Thu, 20 Jan 2022 20:38:28 +0530 Subject: [PATCH 21/60] upgrade semantic-ui to 2.0.3 (#2176) * upgrade semantic-ui to 2.0.3 * update snapshot * changelog * update content.jsx snapshot * jest:fix snapshot * updated content.jsx snapshot --- CHANGELOG.md | 1 + package.json | 2 +- .../__snapshots__/Actions.test.jsx.snap | 1 + .../__snapshots__/Contents.test.jsx.snap | 15 +-- .../__snapshots__/ContentsItem.test.jsx.snap | 7 +- .../__snapshots__/RenderGroups.test.jsx.snap | 7 +- .../__snapshots__/RenderUsers.test.jsx.snap | 7 +- .../__snapshots__/ContentTypes.test.jsx.snap | 14 +-- .../Diff/__snapshots__/Diff.test.jsx.snap | 4 +- .../__snapshots__/History.test.jsx.snap | 7 +- .../ReferenceWidget.test.jsx.snap | 3 +- yarn.lock | 92 +++++++++---------- 12 files changed, 62 insertions(+), 98 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b9aeaeae2..727e42a9ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1540,6 +1540,7 @@ https://docs.voltocms.com/upgrade-guide/ - Add `preloadLazyLibs` and `settings.lazyBundles` to allow preloading bundles of lazy libraries @tiberiuichim @silviubogan - Added onChangeFormData prop to Form component @giuliaghisini - Internationalization story for add-ons @sneridagh +- Bump semantic-ui-react to v2.0.3 @nileshgulia1 - robots.txt from plone as fallback (if /public/robots.txt not exists and .env VOLTO_ROBOTSTXT variable not exists.) @giuliaghisini - UniversalLink and ConditionalLink accepts also an item to link to. If item is of @type Link, a direct link to remote url is generated if user is not logged. @giuliaghisini diff --git a/package.json b/package.json index d92c17459f..2a176b8bd7 100644 --- a/package.json +++ b/package.json @@ -387,7 +387,7 @@ "release-it": "14.2.1", "rrule": "2.6.4", "semantic-ui-less": "2.4.1", - "semantic-ui-react": "0.88.1", + "semantic-ui-react": "2.0.3", "semver": "5.6.0", "serialize-javascript": "3.1.0", "start-server-and-test": "1.10.6", diff --git a/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap b/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap index d02321aa2d..51c4c11017 100644 --- a/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap +++ b/src/components/manage/Actions/__snapshots__/Actions.test.jsx.snap @@ -9,6 +9,7 @@ exports[`Actions renders an actions component 1`] = ` onChange={[Function]} onClick={[Function]} onFocus={[Function]} + onKeyDown={[Function]} onMouseDown={[Function]} role="listbox" tabIndex={0} diff --git a/src/components/manage/Contents/__snapshots__/Contents.test.jsx.snap b/src/components/manage/Contents/__snapshots__/Contents.test.jsx.snap index 59415e9575..05922f560d 100644 --- a/src/components/manage/Contents/__snapshots__/Contents.test.jsx.snap +++ b/src/components/manage/Contents/__snapshots__/Contents.test.jsx.snap @@ -368,16 +368,11 @@ exports[`Contents renders a folder contents view component 1`] = ` onChange={[Function]} onClick={[Function]} onFocus={[Function]} + onKeyDown={[Function]} onMouseDown={[Function]} role="listbox" tabIndex={0} > -
-
-
-