Редактирование правил после обновления (не детектирует ошибки)

Здравствуйте!

После обновления до:

Wiren Board 8.4.4 (s/n A6IXNEYR), release wb-2504 (as stable)

интерфейс стал заметно приятнее — более плавный, современный, появились полезные функции:

  • переименование правил,
  • их отключение,
  • копирование и т.п.

Это действительно удобно — спасибо за доработку :+1:


Но столкнулся с неожиданным поведением при редактировании правил:

Если в файле есть ошибка (например, синтаксическая) — она не отображается в интерфейсе.
Раньше движок правил сразу сигнализировал о проблеме: не загружал файл и выдавал ошибку, например, при неправильном cron.
Теперь же он как будто “проглатывает” ошибку — правило просто не работает, и никаких предупреждений нет.


Пример:
Я случайно написал:

when: cron("@every 5")

Это, понятно, неправильный формат. Раньше правило не загружалось, и сразу было понятно, где ошибка.
Теперь же интерфейс позволяет сохранить, не показывает ошибок, и только через логи я спустя 30 минут понял, что ошибка в cron.


:question: Вопросы:

  1. Это ожидаемое поведение после обновления?
  2. Можно ли как-то включить обратно проверку кода правил при сохранении (как раньше)?
  3. Или есть другой способ быстро понять, что правило не загрузилось (в интерфейсе)?
  4. Если это невозможно — имеет ли смысл откатиться на предыдущий релиз, где валидация работала строже?

Добрый день!

  1. Это ожидаемое поведение после обновления?
    Похоже на баг — у себя воспроизвёл, передам разработчикам.

  2. Можно ли как-то включить обратно проверку кода правил при сохранении (как раньше)?
    Думаю, это скоро поправят или подскажут, как с этим жить в текущей версии.

  3. Или есть другой способ быстро понять, что правило не загрузилось (в интерфейсе)?
    Нет. Но я использую нашего робота (вверху справа) — он периодически валидирует код и помогает его структурировать. Обучен на нашей документации.

  4. Если это невозможно — имеет ли смысл откатиться на предыдущий релиз, где валидация работала строже?
    Откат обновлений у нас напрямую не предусмотрен, поэтому может не сработать. Перед откатом настоятельно рекомендую сделать бэкап.

Добрый день!

Ответ от разработчиков:
при сохранении скрипт проверяется только на синтаксическую валидность (с точки зрения JavaScript).
Такие ошибки возникают уже в рантайме — и отображаются в логах.

В пожелания добавил, чтобы подобные случаи тоже учитывались.