Mibew Messenger Community

General => Support => Русский (ru) => Topic started by: dionis on March 02, 2019, 10:11:04 AM

Title: Проблема с обратными слэшами в ОС Windows
Post by: dionis on March 02, 2019, 10:11:04 AM
Здравствуйте.
Спасибо за ваше замечательное приложение!
Есть необходимость сделать так, чтобы GIF-кнопка, которая начинает чат, пропадала, после открытия окна чата.
Нашёл тему (https://mibew.org/forums/index.php?topic=192218.0), в которой обсуждалась подобная проблема и было найдено решение.
У меня почему-то это решение не заработало.
Установил плагин Mibew:AdvancedButton. Включил его в панели управления. Сгенерировал новый код кнопки и разместил на сайте.
Кнопка привязана к нижнему правому углу страницы. При нажатии на неё, открываться окно чата. При сворачивании окна чата, на основной GIF-кнопке появляется маленькая синяя кнопка со смайлом. GIF-кнопка после этого перестаёт работать. Хотелось бы её скрыть.
Title: Re: Проблема с обратными слэшами в ОС Windows
Post by: dionis on March 02, 2019, 11:17:23 AM
По-моему докопался до сути проблемы.
Code: [Select]
http://localhost/mibew/plugins%5CMibew%5CMibew%5CPlugin%5CAdvancedButton/js/refresh.jsВ методе getFilesPath, класса AbstractPlugin, используется константа DIRECTORY_SEPARATOR. В Windows она равна обратному слэшу.
Метод doGenerate, класса UrlGenerator, использует функцию rawurlencode, которая кодирует обратный слэш в %5C
Code: [Select]
$encoded_path = implode('/', array_map('rawurlencode', $path_parts));
Title: Re: Проблема с обратными слэшами в ОС Windows
Post by: faf on March 04, 2019, 01:42:58 PM
 
В консоли браузера стала появляться ошибка о невозможности загрузить refresh.js. Сайт запущен под ОС Windows. Очевидно, что проблема с обратными слэшами.  Они были преобразованы в %5C.
Вообще, работа Mibew Messenger на Windows-системах не тестировалась и официально не поддерживается. Но я постараюсь в обозримом будущем посмотреть на эту проблему.

Нужно было в настройках включить не только «Включить функцию "Отслеживание и приглашение"», а также и «Отслеживать операторов».
Если что, эта функция нужна для отслеживания пребывания на сайте авторизованных операторов. Т.е. если Вы тестировали поведение кнопки в том же браузере, в котором был открыт интерфейс оператора, это имело смысл. Но в штатном режиме включение этой функции может вызвать нежелательные эффекты, когда, например, один оператор будет приглашать к диалогу не потенциального клиента, а другого оператора.
Title: Re: Проблема с обратными слэшами в ОС Windows
Post by: dionis on March 04, 2019, 01:50:32 PM
Спасибо Вам за ответ. Я всё так и предполагал, как Вы описали. С ОС Windows понятно. Разработка ведётся на компьютере под Windows, а итоговый результат — на сервере под Unix.
Кроме этой небольшой проблемы, больше никаких сбоев под Windows я не выявил. Проверил почти все плагины. Работает как положено.
Title: Re: Проблема с обратными слэшами в ОС Windows
Post by: faf on March 10, 2019, 09:44:00 PM
Да, похоже, на Windows-системах могут быть проблемы с генерацией URL для JS и CSS в ряде плагинов. Начиная с boilerplate, откуда потенциальный баг и расползся.  :)

Соответствующее изменение (https://github.com/Mibew/advanced-button-plugin/blob/16da0abed8d1d8426ee34ae4c9c8be40a0a69c9b/Plugin.php#L95) в Advanced Button внесено. По идее, должно работать, но у меня под рукой Windows с веб-сервером нет, так что проверить не смогу.

Если предоставите обратную связь, будет хорошо. Если не предоставите, думаю, на неделе всё равно выкачу релиз этого и других затронутых плагинов.  :D
Title: Re: Проблема с обратными слэшами в ОС Windows
Post by: dionis on March 11, 2019, 06:23:44 AM
Спасибо за изменения. Проверил. Плагин работает корректно. Мои изменения были почти такими же :-)
Title: Re: Проблема с обратными слэшами в ОС Windows
Post by: faf on March 11, 2019, 05:02:55 PM
Сказано - сделано.  ;)

Обновлены (https://mibew.org/ru/announcements/2019/03/11/a-bunch-of-plugins-were-updated) 7 плагинов, не считая boilerplate (https://github.com/Mibew/boilerplate-plugin).