Регрессия производительности была внесена этим коммитом: FIX: when replacing text in composer maintain history (#28537) · discourse/discourse@e25578d · GitHub, что совпадает с «около 2 недель», которые вы упомянули в первом посте, @piffy.
Проблема в том, что execCommand("insertText", text) по сути эквивалентен ручному вводу text. Chrome (и, полагаю, Firefox) выполняет перерисовку макета при каждом «виртуальном нажатии клавиши» ![]()
Мы можем значительно улучшить ситуацию, вводя только тот текст, который нам действительно нужно заменить: