qtranslate / qtranslate-xt

qTranslate-XT (eXTended) - reviving qTranslate-X multilingual plugin for WordPress. A new community-driven plugin soon. Built-in modules for WooCommerce, ACF, slugs and others.
GNU General Public License v2.0
553 stars 104 forks source link

The content in the text editor is replaced by another language #1369

Open moskalukigor opened 1 year ago

moskalukigor commented 1 year ago

Describe the bug When using the Undo function (or CTRL + Z), the text is replaced with another language

To Reproduce Steps to reproduce the behavior:

  1. Go to post
  2. Write the text in two languages
  3. Switch to the first language and copy the text (some part)
  4. Paste this part of text into the second language
  5. Press CTRL + Z or the Undo button
  6. See the bug

P.S. At first I couldn't reproduce the bug, but then I added styles to the second text and after that I can always reproduce the bug. I absolutely do not understand how it works😅

Expected behavior I expected that after pressing CTRL(CMD) + Z - I would cancel the last action, i.e. insert CTRL(CMD) + V

GIF qtxbug

Debug info Versions

{
  "PHP_VERSION": "8.1.9",
  "WP_VERSION": "6.3",
  "QTX_VERSION": "3.15.2",
  "Plugins": [
    "Classic Editor 1.6.3",
    "qTranslate-XT 3.15.2"
  ]
}

Configuration

{
  "default_language": "en",
  "enabled_languages": {
    "0": "en",
    "2": "uk"
  },
  "locale": {
    "en": "en_US",
    "uk": "uk"
  },
  "date_format": {
    "en": "%A %B %e%q, %Y",
    "uk": "%A %B %e%q, %Y"
  },
  "time_format": {
    "en": "%I:%M %p",
    "uk": "%H:%M"
  },
  "url_mode": 2,
  "use_strftime": 3,
  "filter_options_mode": 0,
  "language_name_case": 0,
  "detect_browser_language": true,
  "hide_untranslated": false,
  "show_menu_alternative_language": false,
  "show_displayed_language_prefix": true,
  "show_alternative_content": false,
  "hide_default_language": true,
  "use_secure_cookie": false,
  "header_css_on": true,
  "text_field_filters": [],
  "disable_client_cookies": false,
  "url_info": {
    "cookie_lang_front": "en",
    "cookie_lang_admin": "en",
    "cookie_front_or_admin_found": true,
    "scheme": "http",
    "host": "testjob.local",
    "path": "/wp-admin/admin-ajax.php",
    "query": "action=admin_debug_info",
    "path-base": "",
    "wp-path": "/wp-admin/admin-ajax.php",
    "language_neutral_path": true,
    "http_referer": "http://testjob.local/wp-admin/options-general.php?page=qtranslate-xt",
    "referer_admin": true,
    "doing_front_end": false,
    "lang_cookie_admin": "en",
    "lang_admin": "en",
    "language": "en",
    "set_cookie": false,
    "page_referer": "options-general.php"
  },
  "language": "en",
  "editor_mode": 0,
  "highlight_mode": 1,
  "auto_update_mo": true,
  "hide_lsb_copy_content": false,
  "lsb_style": "simple-buttons.css",
  "config_files": [
    "./i18n-config.json"
  ],
  "custom_fields": [],
  "custom_field_classes": [],
  "post_type_excluded": [],
  "admin_enabled_modules": {
    "acf": true,
    "all-in-one-seo-pack": true,
    "events-made-easy": true,
    "jetpack": true,
    "google-site-kit": true,
    "gravity-forms": true,
    "woo-commerce": true,
    "wp-seo": true,
    "slugs": false
  },
  "translator": {},
  "qtrans_compatibility": false
}

Browser

{
  "cookies": [],
  "navigator": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36",
  "Javascript built-in RegExp: @@split": "supported"
}

Additional context I have constantly received complaints from my content managers (on completely different sites) that content is often replaced by another language. I said they just messed something up. But as it turned out, there is a bug and I managed to reproduce it on an absolutely clean site where only 2 plugins are installed:

It works across browsers, without extensions and so on.

This is a very serious problem because my sites have a lot of content. It will not work to prohibit content managers from using "Undo".

MKRD-SUPPORT commented 1 year ago

@moskalukigor

Unless you find another solution, I can offer to disable the undo and redo functionality completely - buttons and keyboard shortcuts.