1.29.0-ms3 от 26.10.26

1.29.0-ms3
Добавлено:
  1. Добавить ссылку на образ решения в контекст образа прикладного решения 323920T

    В прикладной контекст образа решения добавлена ссылка на образ решения. Добавлен метод ru.bitec.gtk.core.sbt.CoreSolutionImageContext.solutionImage_$eq(CoreSolutionImage)

  2. Предупреждать в логе сервера о неработающих фильтрах EvaluatorFilter 331428T

    Если в конфигурации логирования остались неработающие фильтры EvaluatorFilter

    с выражениями Janino, сервер пишет в лог предупреждение с перечнем аппендеров

    Правка перенесена из 1.27.6

  3. Добавить параметр onboardingEnabled для управления показом туров онбординга

    Добавлен параметр конфигурации сервера Configuration.Client.Ui.onboardingEnabled (по умолчанию true), управляющий показом обучающих туров онбординга нового функционала.

  4. Добавить механизм онбординга и анонс контрола вызова Навигационного хаба

    Добавлен анонс контрола вызова Навигационного хаба: при первом входе интерфейс затемняется, кнопка вызова Хаба подсвечивается и рядом показывается карточка-подсказка; анонс показывается один раз на пользователя, сброс доступен в отладочном меню.

  5. Создать корневой компонент Навигационного хаба 276276T

    Добавлен Навигационный хаб — окно для поиска и быстрого доступа к разделам, командам и закреплённым элементам.

  6. Задать WorkSessionCtx для текущего потока на время вызова методов CoreAuthProvider

    Добавлена возможность создания прикладной Session в методах экземпляра CoreAuthProvider. Сервер приложений, перед вызовом методов CoreAuthProvider устанавливает в поток ссылку на WorkSessionCtx, созданный для пользователя sys. Прикладной код может получить ссылку на WorkSessionCtx через вызов CoreWorkSessionContext$MODULE$#getThreadContext.

  7. Добавить управление скрытием наименования операции из прикладного кода 332874T

    Добавлена возможность скрывать и показывать наименование операции на кнопке

    панели инструментов из прикладного кода без переоткрытия формы — свойство

    CoreOper.isHideCaption().

    Размножаемые операции наследуют HideCaption клонирующей операции,

    см. Свойства операции.

  8. Реализовать восстановление текущей записи после обновления по ключевому атрибуту keyAttr 333072T

    Добавлено свойство выборки keyAttr — ключевой атрибут строки, по которому после обновления

    восстанавливается текущая запись и сопоставляются строки при точечном обновлении. Позволяет сохранять

    позицию в выборках без атрибутов ID, GIDREF, GID. Если keyAttr не задан, ключом служит первый найденный из

    атрибутов ID, GIDREF, GID; этот порядок теперь един для восстановления позиции, точечного обновления строк

    (mergeItems) и режима высокой ёмкости, где раньше первым брался GIDREF. Если ключевого атрибута нет,

    показывается уведомление.

    Правка перенесена из 1.28.0-rc8

  9. Дополнить библиотеку для тестов пользовательских настроек списка

    В библиотеку gs-automation добавлено чтение заголовка текущей пользовательской

    настройки списка из контекстного меню грида.

  10. Добавить прикладной API применения пользовательских настроек списка 330258T

    Добавлен прикладной API применения пользовательских настроек списка

    (CoreGridView.userSettings(),

    ru.bitec.gtk.core.gl.view.CoreGridUserSettings): настройку можно применить из операции

    без переоткрытия формы, подробнее — API. Прикладному коду API

    станет доступен с выходом Scala-обёртки GridView.userSettings в модуле gtk.

    Переактивация источника данных (обновление в режиме closeOpen, смена записи мастера) повторно

    применяет последнюю применённую настройку, а не умолчание, и не откатывает правки колонок, сделанные

    пользователем, см. Настройки пользователя.

  11. Добавить предупреждение об ограничении точности при экспорте в XLS/XLSX

    При экспорте грида и формировании Excel-отчётов выводится предупреждение о возможном округлении значений, содержащих более 15 значащих цифр, из-за ограничений точности XLS/XLSX.

    Правка перенесена из 1.28.0-rc6

  12. Дополнить библиотеку для тестов транспонированного грида

    В библиотеку gs-automation добавлены проверка доступности пункта меню, стандартные тексты диалогов, ожидание значения ячейки и состояния чекбокса, получение ячейки по абсолютному номеру строки и поиск строк в области видимости.

  13. Дополнить библиотеку для тестов транспонированного грида

    В библиотеку gs-automation добавлены проверка доступности пункта меню, стандартные тексты диалогов, ожидание значения ячейки и состояния чекбокса, получение ячейки по абсолютному номеру строки и поиск строк в области видимости.

  14. Разметить доступность пункта контекстного меню грида для автоматизации

    Пункты контекстного меню грида размечены признаком доступности для автотестов gs-automation.

  15. Обновить палитру цветов

    Цветовая палитра интерфейса приведена к обновлённому руководству по дизайну.

  16. Внести изменения в компонент Tooltip

    Всплывающие подсказки в обновленных частях интерфейса приведены к обновлённому стилю.

  17. Добавить кнопку «Загрузить все» на панель загрузки 324764T

    При неполной загрузке в панели грида доступна кнопка «Загрузить все».

    Правка перенесена из 1.28.0-rc5

  18. Изменить отображение панели состояния загрузки грида 324764T

    Обновлена панель состояния загрузки грида: сообщения отображаются снизу на всю ширину и не перекрывают данные.

    Правка перенесена из 1.28.0-rc5

  19. Добавить свойство конфигурации, управляющее активностью встроенного SSH-сервера 325620T

    Добавлено свойство конфигурации Configuration.Ssh.enabled , управляющее активностью запуска встроенного ssh-сервера при старте сервера приложений

  20. Вернуть исходный порядок кнопок в диалоговых окнах 327624T

    В диалоговых окнах восстановлен заданный порядок кнопок: фокусная кнопка больше не переносится автоматически в крайнюю правую позицию. Параметр focusButtonNumber по-прежнему определяет кнопку, которая получает фокус, но больше не влияет на её расположение.

    Правка перенесена из 1.28.0-rc5

Исправлено:
  1. Реализовать пересоздание дочернего узла по актуальному типу редактора 313968T

    Исправлена актуализация представления редактора в карточке при динамическом изменении его типа.

  2. Восстановить фильтрацию консоли сервера в конфигурации логирования сессий 331428T

    Исправлен вывод в консоль сервера логов операций, скриптов и текста SQL, включённых для консоли браузера

    в карточке «Настройки логирования». Ошибка проявлялась начиная с версии 1.27.0.

    При обновлении сервера каталог application/config не перезаписывается: в существующих установках

    обновите logback-LoggerContext-session.xml по образцу из дистрибутива

    Правка перенесена из 1.27.6

  3. Исправить протокол OTLP-экспортёра в конфигурации телеметрии по умолчанию 331428T

    В конфигурации телеметрии по умолчанию исправлен протокол экспорта OTLP:

    для порта 4318 указан http/protobuf вместо grpc

    Правка перенесена из 1.27.6

  4. Исправить ошибку получения el.ClientSession вследствие перезагрузки кода решения 335250T

    Исправлена ошибка NullPointerException при открытии gtk-сессии

    (SessionImpl.clientSession() is null) во время перезагрузки кода решения, например,

    при построении отчётов в фоновом задании.

    Правка перенесена из 1.27.5

  5. Помечать прежний образ решения устаревшим до снятия блокировки при перезагрузке кода 335250T

    Исправлена ошибка «CoreSessionPool by class loader … not found»

    при открытии и закрытии gtk-сессий во время перезагрузки кода решения.

    Правка перенесена из 1.27.5

  6. Исправить срабатывание горячих клавиш при фокусе в iframe

    Исправлена работа горячих клавиш, когда фокус находится внутри встроенного HTML-документа (iframe), например в окне приветствия.

  7. Вернуть платформенные модули Smack для создания XMPP-соединения 335140T

    Исправлена ошибка подключения службы оповещений к XMPP-серверу: при создании

    соединения в лог добавлялось исключение NullPointerException.

  8. Раскладывать flex-контейнер по метаданным детей, а не по их стилям 314666T

    Исправлена раскладка элементов flex-композера при изменении размера окна: элементы больше не оставляют пустое место при увеличении и не выходят за границы контейнера при уменьшении, а сохранённые пользователем размеры распределяются по весам flex, как в CSS. Элемент без атрибута flex теперь получает значение “1”, а базис auto считается нулевым, поэтому пропорции форм без flex и форм с сохранёнными размерами могут отличаться от прежних.

    Правка перенесена из 1.28.0-rc8

  9. Установить имя выборки в контекст формы до открытия gtk-сессии 332190T

    Исправлена передача имени открываемой выборки (WorkSessionCtx.Ct.SELECTION_NAME)

    в прикладной код при открытии gtk-сессии формы: в аудите пользователя снова заполняется

    список открытых форм.

    Правка перенесена из 1.27.4

  10. Адаптировать YandexDriver к Selenium 4.49.0

    Исправлен запуск автоматизированных тестов в Яндекс Браузере после обновления Selenium.

  11. Устранить гонку обновления cookie при выходе 333166T

    Исправлена ошибка выхода из приложения при одновременном удалении записи пользователя из кэша аутентификации.

  12. Устранить пустое место при удалении записей в конце списка 322722T

    После удаления строк список больше не оставляет пустого

места внизу: оставшиеся записи подтягиваются снизу сразу, без прокрутки,

а недостающие подгружаются с сервера.

Правка перенесена из 1.28.0-rc6

  1. Устранить гонку передачи типов коллекций изображений 318204T

    Исправлена ошибка ThereIsNoTypeForImageCollection при открытии приложения под нагрузкой из-за передачи приложения раньше типов коллекций изображений.

  2. Исправить изменение высоты фреймов 318220D

    Исправлено изменение высоты фреймов: разделитель корректно

    останавливается на минимальной границе и сохраняет установленное положение.

    Правка перенесена из 1.28.0-rc6

  3. Исправить пропадание вкладок неактивных MDI-форм на клиенте 330492T

    Исправлено пропадание вкладок форм: при открытии нескольких форм за одно действие и после восстановления соединения с сервером на клиенте была видна только часть вкладок.

    Правка перенесена из 1.28.0-rc6

  4. Учесть настройки Currency в настраиваемом фильтре

    Исправлено количество знаков после запятой в настраиваемом фильтре Currency: оно теперь соответствует настройке исходного столбца.

    Правка перенесена из 1.28.0-rc6

  5. Исправить потерю точности значений Currency 306540T

    Для Currency устранена потеря точности при работе с большими значениями и большим количеством знаков после запятой. Режим повышенной точности включён по умолчанию и при необходимости может быть отключён параметром useBigDecimal.

    Правка перенесена из 1.28.0-rc6

  6. Исправить некорректную установку ширины колонок грида после ресайзинга 326924T

    Исправлена некорректная установка ширины колонок грида после ресайзинга, если они располагаются по правой границе одной банд-группы.

  7. Исправить сброс флага «Восстанавливать изменения в интерфейсе при переоткрытии» после переоткрытия интерфейса 331030T

    Исправлен сброс флага «Восстанавливать изменения в интерфейсе при переоткрытии»

    после переоткрытия интерфейса: флаг сохраняется отдельно для каждого интерфейса и грида,

    детальные гриды и другие интерфейсы его не перезаписывают. Ширина дерева и масштаб диаграммы

    Ганта также сохраняются отдельно для каждого интерфейса.

    Правка перенесена из 1.28.0-rc6

  8. Восстановить отображение клавиатурной фокусной обводки у React-компонентов при монтировании в GWT

    Восстановлена обводка фокуса при навигации с клавиатуры в модальных окнах обновленного интерфейса.

  9. Устранить блик React модального окна при монтировании через GWT

    Устранена кратковременная вспышка в левом верхнем углу экрана при открытии модальных окон обновленного интерфейса.

  10. Исправить игнорирование новых параметров динамических деталей при обновлении выборки-источника 328844T

    Исправлено игнорирование новых значений параметров динамических деталей и закладок

    при обновлении выборки-источника, когда имя выборки, представление и имя детали не изменились.

    Правка перенесена из 1.28.0-rc6

  11. Исправить ошибку вызова clientSetSelfVar в нередактируемой выборке 329120T

    Исправлена ошибка при вызове selection.clientSetSelfVar в выборке, недоступной для

    редактирования (isEditable = false). Метод устанавливает значение атрибута без вызова сеттера

    независимо от редактируемости выборки и сам завершает редактирование записи, если до вызова

    она не редактировалась. В выборке только для чтения (isReadOnly = true) запись по-прежнему запрещена.

    Правка перенесена из 1.28.0-rc6

  12. Освобождать незавершённую сессию редактирования грида

    Исправлены отмена зависшего Lookup-редактирования по Escape и очистка сессии при закрытии грида.

  13. Привязать Lookup-ответ к сессии редактирования ячейки

    Исправлено применение устаревшего ответа Lookup-редактора к другой сессии редактирования грида.

  14. Исправить клавиатурное редактирование checkbox в гриде

    Исправлены переключение checkbox клавишей Enter и продолжение редактирования при навигации по гриду.

  15. Ограничить реплей навигационного autorepeat в гриде

    Исправлено продолжение навигации по гриду после отпускания клавиши.

  16. Сохранить режим редактирования при вертикальной навигации в гриде

    Исправлено сохранение режима редактирования при перемещении вверх и вниз между ячейками табличного представления.

  17. Синхронизировать завершение редактирования с переключением колонки

    Исправлено сохранение значения при переходе кликом из редактируемой ячейки грида.

  18. Сделать завершение inline-редактирования реентерабельно безопасным

    Исправлено завершение inline-редактирования при синхронном запуске следующей ячейки.

  19. Защитить очередь и отложенный запуск редактора грида

    Исправлена обработка быстрых переходов и отложенного запуска inline-редактора грида.

  20. Исправить перенос pending-редактирования грида

    Исправлено восстановление ожидающего inline-редактирования после обновления грида.

  21. Исправить пропадание названия колонки в области группировки 321382D

    Исправлено пропадание названия колонки в области группировки грида.

    Правка перенесена из 1.28.0-rc5

  22. Исправить отображение состояния unset в чекбоксах 327234T

    В гридах и карточках чекбоксы со значением null отображаются в состоянии unset, а не как unchecked.

    Правка перенесена из 1.28.0-rc5

  23. Исправить типографику вкладок в компактном режиме

    Улучшена читаемость вкладок и закладок в компактном режиме.

  24. Исправить типографику контекстных меню в компактном режиме

    Улучшена читаемость контекстных меню в компактном режиме.

Изменено:
  1. Удалить неиспользуемую зависимость janino 331428T

    Из дистрибутива сервера приложений исключены библиотеки janino и commons-compiler:

    logback не использует их начиная с версии 1.5.13

  2. Включить инструментирование в конфигурации телеметрии по умолчанию 331428T

    Для включения телеметрии с конфигурацией по умолчанию достаточно установить

    disabled: false в otel-sdk.config.yaml

    Правка перенесена из 1.27.6

  3. Писать в файл логи сессий и прикладной бизнес-логики 331428T

    В настройках логирования по умолчанию в файлы пишутся логи сессий (*.session.log)

    и прикладной бизнес-логики (*.application.log) с указанием пользователя,

    лог сервера приложений пишется в *.system.log

    Правка перенесена из 1.27.6

  4. Увеличить время хранения кеша изображений до суток в конфигурации по умолчанию 334592T

    В конфигурации Сервера Приложений, заданной по умолчанию, увеличено время хранения кеша изображений до 24 часов

    Правка перенесена из 1.27.6

  5. Включить запись логов в файл в дефолтные настройки 331428T

    В настройках логирования по умолчанию включена запись логов в файл

    Правка перенесена из 1.27.6

  6. Обновить Smack до версии 4.5.0 335140T

    Обновлена библиотека Smack, через которую служба оповещений работает по протоколу XMPP.

  7. Добавить исключение Configurator из дистрибутива AS начиная с версии 1.27.4 327608T

    Из дистрибутива GlobalServer удалено приложение Конфигуратор, начиная с версии 1.27.4 включительно

  8. Обновить зависимости для view 313770T

    Осуществлено обновление зависимостей во всех npm проектах внутри AS, что позволило закрыть ряд уязвимостей, связанных с безопасностью.

    Правка перенесена из 1.28.0-rc6

  9. Убрать флаг “Конфигуратор” из клиентской части окна логина

    Из окна входа в систему убран чекбокс “Конфигуратор” — запуск конфигуратора через основной сервер приложений больше не поддерживается.

  10. Сделать включение Configurator в сборку дистрибутива условным по версии 327608T

    Из дистрибутива GlobalServer убрано приложение Конфигуратор

  11. Перенести ssh-сервер из модуля webserver в модуль engine 325620T

    Перенесён код webserver/services/ssh в engine/sshd.