AI-EDT v0.2.32
Сравнение конфигураций тремя сторонами, валидация запросов в расширениях и семь исправлений в том, как сервер сообщает о происходящем.
Что нового
Добавлено
compare_three_way, он жеinsights operation=compare_three_way- сравнивает открытый проект с новой поставкой и с поставкой, от которой обе произошли. Отвечает числом узлов, различающихся и односторонних, а также именами изменённых объектов метаданных на каждой стороне. Только читает: объединение не выполняет и выполнить не может (893907c, 7f0acd6)GET /mcpназывает все обслуживаемые ревизии протокола вprotocol_versions; скалярprotocol_versionсохранён - это ревизия, на которой сходится рукопожатие (3dc5c08)- В релизном workflow появился
workflow_dispatchс тегом на входе: сборку тега можно повторить, не переписывая сам тег (11074b8)
Исправлено
- Запрос проекта-расширения резолвится в конфигурации, которую оно расширяет. Унаследованные поля заимствованного объекта в самом расширении не резолвятся, поэтому смешанный запрос не проверялся нигде; ответ полем
resolvedInProjectназывает модель, которая ответила (7b967cc) - Заявку на информационную базу выдаёт ядро (
FileLock), а не эвристика pid плюс время старта. Замок снимается операционной системой, когда держатель кончается - падением в том числе (0ee8b15) - Конверт
Pendingраспознаётся по метке, которую ставят восемь производителей, вместо догадок по длине ответа и словам в тексте: конверт длиннее четырёх тысяч знаков переставал становиться задачей (a52ce14) - Отказ фоновой работы приходит структурой с
success:falseи типом исключения вместо строкиError:плюс сообщение, которого у большинства исключений нет (b3f2157) - Счёт маркеров считает оба источника, из которых берутся строки: заголовок мог назвать число меньше, чем строк под ним (f28d570)
branch_infobase bindотклоняетapplicationId, которого в проекте нет: опечатка превращалась в постоянный отказ обновления на другой операции (b58ceed)- Ветка перепроверяется на строке перед самим обновлением, а не только в начале вызова (8cbfd33)
- Безмолвное исключение называет кадр, из которого пришло:
NullPointerException at TopObjectInfo.setUuidвместоNullPointerException(e0309aa) - В справке фасадов названы пять операций, которые работали, но упомянуты в ней не были:
branch_infobase,read_event_log,start_client,unpack_external_binary,system_enum_values. Отставание справки теперь ломает сборку (80f103c)
Проверено
- Сборка: 1619 тестов, 0 падений, 0 ошибок. Шесть затворов проходят
- На живой 1C:EDT 2026.2.0.289, конфигурация из 34265 узлов сравнения: одинаковые стороны дают 0 различий; копия с одним изменённым общим модулем даёт 4 различающихся узла и называет
CommonModule._ДемоЗаметки; три стороны считают так же; прогон дольше предела возвращается ключом, сеанс остаётся здоров - Запросы в расширении: заимствованный объект с унаследованным полем и смешанный запрос приходят чистыми, несуществующее поле остаётся ошибкой, обычный проект не затронут
Требования
1C:EDT 2026.1 или 2026.2, Java 17.
Установка
Update site: https://desko77.github.io/ai-edt/