Плагин discourse-reactions имеет функцию отката: при сбое запроса toggle.json страница должна откатить реакции к исходному состоянию.
Однако функция не работает, так как исходная функция _rollbackState() никогда не срабатывает корректно: само состояние изменяется при вызове toggleReaction. В результате состояние реакций не возвращается к исходному без обновления/перезагрузки страницы, из-за чего иконки «сердечка» или реакции остаются на странице даже при неудачном запросе.
Этот коммит исправляет проблему, добавляя новую функцию _captureState(), которая сохраняет состояние в константу и восстанавливает его в данных страницы при необходимости.