Skip to content

Previously fixed isses with TinyMCE have not been backported in latest security patch #39628

Open
@dmf-janw

Description

@dmf-janw

Preconditions and environment

With the downgrade from TinyMCE 7 back to version 6 a few previously fixed issues have been reintroduced. Namely #39262 and #39263.

For #39263 the relevant change done in d1b5797 is only present in the 2.4.8-beta2 release tag. In all four release tags of the latest security patch (2.4.4-p12, 2.4.5-p11, 2.4.6-p9 and 2.4.7-p4) the exclude path still refers to the now incorrect /tiny_mce/ path.

Similarly, the PR which fixes #39262 (https://github.com/magento/magento2/pull/39258/files, a71df16) is not present in any of the latest tags as well.

Steps to reproduce

The erroneous behaviour of #39263 can be reproduced by enabling production mode and javascript minification and attempting to use TinyMCE in the admin area.

#39262 is not triggered in the default configuration. The plugins are attempted to be loaded if, as described in the original issue, one has the module Magenerds_PageDesigner installed (see: Magenerds/PageDesigner#54).

Expected result

TinyMCE 6 works in the default configuration with JavaScript minification enabled and Magenerds_PageDesigner (or any other method of attempting to load the plugins in the editor) installed.

Actual result

TinyMCE6 fails to load in the aforementioned circumstances.

Additional information

This can be worked around manually.

#39263 can be fixed by adding something akin to:

    'system' => [
        'default' => [
            'dev' => [
                'js' => [
                    'minify_files' => '1',
                    'minify_exclude' => [
                        'tiny_mce_6' => '/tiny_mce_6/',
                    ]
                ],
                'css' => [
                    'minify_files' => '1',
                    'minify_exclude' => [
                        'tiny_mce_6' => '/tiny_mce_6/',
                    ]
                ]
            ]
        ]
    ]

to config.php.

#39262 can only be fixed by manually patching the contents of lib/web/mage/adminhtml/wysiwyg/tiny_mce/plugins/magentovariable/editor_plugin.js and lib/web/mage/adminhtml/wysiwyg/tiny_mce/plugins/magentowidget/editor_plugin.js. Both paths are located in the lib directory which is supposed to be added by the installation process and not be edited manually. This introduces additional maintenance load for every installation, as the change will have to be manually carried over for each subsequent patch in which the bug is still present.

Release note

No response

Triage and priority

  • Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: FrameworkComponent: TinymceIssue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedPriority: P2A defect with this priority could have functionality issues which are not to expectations.Reported on 2.4.xIndicates original Magento version for the Issue report.Reproduced on 2.4.xThe issue has been reproduced on latest 2.4-develop branchTriage: Dev.ExperienceIssue related to Developer Experience and needs help with Triage to Confirm or Reject it

    Type

    No type

    Projects

    • Status

      Ready for Development

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions