Перейти к содержанию

Патч 4.1.1 (17.05.2025)

Добавление и изменение функциональности

  1. В web-клиенте для виджета “Навигатор” добавлена настройка “Открыть представление в отдельной вкладке”. Подробнее см. в разделе руководства Виджет “Навигатор”.
  2. Реализовано применение настройки MaxRequestBodySizeBytes (из группы WebServerLimits в файле app-web.json) при запуске сервиса совместно с веб-сервером IIS (актуально для сервисов web, jinni, monitor). В случае создания веб-приложения ASP.NET Core, использующего API TESSA добавьте строку с конфигурированием опций IISServerOptions.
  3. В web-клиенте добавлена возможность распечатать файл через контекстное меню.
  4. В web-клиенте появилась визуальная индикация при перетаскивании колонок в таблице. Положение курсора (левее или правее середины колонки) теперь влияет на итоговое расположение перемещаемой колонки и индикации.
  5. Добавлена поддержка сертификатов в формате PEM (.pem, .crt) для конфигурационных файлов app*.json при включении директивой .include файлов с расшифрованием посредством указания ".loader": "decrypt-aes".
  6. Настройки, регулирующие возможность запуска плагинов Chronos непосредственно на веб-сервисе, выделены из блока SaaS в отдельный блок WebChronos. Теперь плагины Chronos возможно запустить на веб-сервисе без включения режима SaaS.
  7. Добавлен плагин FileConverterRemoveCachePlugin для автоматической очистки кэша сконвертированных файлов.

Консольная утилита tadmin

  1. Для команд шифрования Encrypt/Decrypt реализована поддержка сертификатов в формате PEM (.pem, .crt). Для этих команд добавлен параметр -k, в котором возможно указать путь к файлу с закрытым ключом (.key).

Новые версии библиотек

  1. .NET 8.0.16
  2. AvalonEdit 6.3.1.120
  3. HtmlAgilityPack 1.12.1
  4. HtmlSanitizer 9.0.884
  5. iTextSharp.LGPLv2.Core 3.7.2
  6. MailKit 4.12.0
  7. Microsoft.Data.SqlClient 6.0.2
  8. Microsoft.IdentityModel.Protocols.OpenIdConnect 8.9.0
  9. OpenCvSharp4 4.11.0.20250507
  10. OpenTelemetry 1.12.0
  11. SixLabors.ImageSharp.Drawing 2.1.6
  12. SkiaSharp 3.119.0
  13. StackExchange.Redis 2.8.37
  14. TesseractOCR 5.5.1

Изменения API

  1. В web-клиенте для нового контрола грида была реализована следующая функциональность: редактирование контента ячейки в самой ячейке, сортировка строк, кнопки перемещения строк.
  2. В web-клиенте для базового компонента “Поле с автодополнением” реализована поддержка многострочности.
  3. В web-клиенте добавлена поддержка реактивности при работе с PropertyGridMultipleComponent.
  4. Добавлен интерфейс IFileConfigurationEqualityInfo, который возможно указать на объекте, реализующем интерфейс IConfigurationBuilderItem, если он обрабатывает конфигурационный файл, который не должен быть повторно включён на обработку при стандартном подключении файлов директивой .include с указанием файловых путей (например, по маске app-*.json). Пример использования в классе EncryptedConfigurationBuilderItem типового решения.
  5. Настройки, регулирующие возможность запуска плагинов Chronos непосредственно на веб-сервисе, выделены в свойство ITessaServerSettings.WebChronosSettings из свойства ITessaServerSettings.SaasSettings.
  6. Добавлен интерфейс ITypedJsonListOptionsProvider для создания специализированных списков, записываемых в Typed Json с указанными настройками OmitElementTypes и OptimizeNestedListTypes.
  7. Добавлены методы-расширения для хранилища IDictionary<string, object?> или IReadOnlyDictionary<string, object?>, предназначенные для сериализации и десериализации флаговых перечислений в виде списка имён, с учётом специфики Typed Json: SetFlags, SetFlagsIfNotDefault, TryConvertFlags.
  8. Добавлены опции WebClientPathOptions, которые возможно использовать на сервере для указания префиксов у запрашиваемых URL-адресов в следующих списках: RedirectableToLoginPrefixes указывают, какие адреса должны перейти на окно логина в случае отсутствия сессии; IndexViewPrefixes определяют адреса, которые возвращают стандартное SPA-приложение web-клиента. Пример использования в Tessa.Extensions.Default.Server.Web.Services.WebRegistrator.

Исправления и оптимизации

  1. В web-клиенте исправлено открытие диалога деталей по нажатию средней кнопки мыши в истории заданий.
  2. Исправлено определение цвета задания для заместителя, если он взял задание в работу, но задание было назначено не на его персональную роль.
  3. В скриптах setup.* добавлен вызов tadmin TimeZone UpdateOffsets после установки значения смещения для временной зоны по умолчанию.
  4. Исправлено обновление менеджера приложений Tessa Applications, если в его файле app\package.xml допущены ошибки (путь относительно папки установки, по умолчанию это %ProgramFiles%\Syntellect\Tessa Applications). Также в его лог (по умолчанию %LocalAppData%\tessa\logs\AppManager.txt) добавлены диагностические сообщения в процессе обновления; для этого в app\NLog.config требуется установить уровень логирования Trace для строки writeTo="file".
  5. В web-клиенте исправлена ошибка расчёта ширины горизонтальных блоков.
  6. Исправлено отображение критических ошибок при инициализации веб-сервиса web, если отсутствует файл лицензии или конфигурационные файлы app*.json повреждены. Ранее выводилась ошибка с текстом “System.ArgumentNullException: Value cannot be null” вместо описания действительной проблемы. Также добавлено дополнительное логирование для диагностики таких проблем: при наличии ошибок инициализации включите уровень логирования Trace в файле NLog.config, перезапустите сервис, и сообщения в файле лога помогут разобраться в причинах (по умолчанию, log.txt в папке веб-сервиса).
  7. Исправлена проверка прав доступа пользователя к общему виджету в ситуации, когда пользователя исключили из списка ролей, которым доступен виджет.
  8. Исправлено логирование ошибки при выполнении запроса изменений дашборда во время его автоматического обновления.
  9. В web-клиенте исправлен стиль контрола для выбора текущего вида шаблонов в рабочем месте “Шаблоны виджетов”.
  10. В web-клиенте исправлена ошибка, из-за которой при правом клике по колонке с флагами выбора строки отображалось контекстное меню рабочего места, а не представления.
  11. В уведомлении “Рассылка о заданиях” исправлено ошибочное появление информации о предстоящем автоматическом согласовании для заданий из этапов с отключенным автоматическим согласованием.
  12. Исправлен возврат результата из методов контроллеров вызовом await this.TypedJsonAsync() с указанием значения null или с явным указанием кода возврата, не допускающего наличия тела (например, код 204). Проблема была актуальна для любого использования веб-сервиса, кроме IIS на Windows (где ошибки не было).
  13. В API представлений (C#) исправлены getter-ы свойств для некоторых классов, которые не запоминали возвращённый список List<T> при первом обращении (например, ViewGetRequest.RequestedModels).
  14. Для типа карточки RoleDeputiesManagement исправлено редактирование таблиц “Кто меня замещает” и “Кто меня замещает по документам” в предпросмотре TessaAdmin.
  15. В web-клиенте исправлена ошибка при инициализации виджета “Представление”, если само представление недоступно пользователю.
  16. В web-клиенте при создании шаблона виджета “Поисковый запрос” для выбора отображаются только общие запросы.
  17. В web-клиенте исправлено открытие раздела справки, настроенного для нескольких вкладок одной карточки.
  18. Исправлены ошибки, которые могли возникнуть при расшифровке конфигурационных файлов app*.json или при вызове команды tadmin Decrypt.
  19. Исправлена загрузка зашифрованных конфигурационных файлов app*.json с указанием ".loader": "decrypt-aes" для DI-контейнера IServiceCollection (т.е. для веб-сервиса web).
  20. Для команды tadmin CheckService исправлено логирование ошибок в логе log.txt.
  21. Для команды tadmin CheckService исправлен вывод соединения к Redis при невозможности к нему подключиться.
  22. Исправлена логика работы с повреждённым файлом кэша метаинформации для desktop-клиента.
  23. Исправлена обработка возможности завершить задание, если ему в расширениях был установлен флаг CardTaskFlags.AutoStart.
  24. В маршрутах и конструкторе бизнес-процессов в диалогах с временем жизни “Карточка” исправлены ошибки при завершении диалога. Ошибки возникали, если завершение диалога прерывалось в сценарии валидации.
  25. Для конфигурационных файлов app*.json те файлы, которые уже дешифрованы с использованием ".loader": "decrypt-aes", не загружаются позднее при их стандартном подключении директивой .include с указанием файловых путей (например, по маске app-*.json). Это необходимо, чтобы исключить возможную ошибку “Failed to deserialize data”, когда зашифрованный файл попал под один из маскированных путей в директиве .include. Разрешить попытку их подключения можно с помощью опции "always": true.
  26. Исправлено отображение ошибок, выводимых командой tadmin CheckService, при невалидном формате JSON для конфигурационных файлов app*.json в папках сервиса web.
  27. Исправлена ошибка, из-за которой при неудачном импорте карточек утилитой tadmin ImportCards не логировались подробности ошибки.
  28. В web-клиенте исправлено удаление шаблона виджета по нажатию клавиши Delete.
  29. В web-клиенте для тёмной темы исправлен стиль полей в карточке операции OCR.
  30. В web-клиенте исправлена ошибка, из-за которой попытка обращения к коллекционному полю со значением null в обозревателе свойств приводила к исключению. Теперь такие поля корректно обрабатываются как пустые массивы.
  31. В web-клиенте исправлена ошибка из-за которой у контролов “Ссылка” и “Список” в выпадающем меню с таблицей текст выравнивался по центру.
  32. В логе веб-сервиса записывается более понятная ошибка для ситуации, когда токен сессии был отправлен от чужого инстанса на том же сайте, если в конфигурационном файле указано некорректное значение настройки GuyFawkesAuth, при этом логин выполняется из веб-клиента.
  33. Оптимизирована сериализация файлов библиотек локализации .jlocalization. Пустые или состоящие только из пробелов комментарии теперь не записываются.
  34. Для команд tadmin Encrypt и tadmin Decrypt улучшены сообщения об ошибках, если файл с сертификатом не найден.
  35. В TessaAdmin исправлена ошибка открытия редактора рабочих мест в ситуации, когда в рабочем месте присутствуют не до конца настроенные узлы с представлениями.
  36. В web-клиенте исправлено появление горизонтальной полосы прокрутки в представлениях без строк в случаях, когда колонки не помещались на экране.
  37. Оптимизирована передача параметров-массивов PostgreSQL в методах-расширениях IQueryBuilder.InArray<T>() и IQueryBuilder.NotInArray<T>(), если переданное в метод перечисление IEnumerable<T> является списком, а не массивом.
  38. Исправлено открытие web-клиента и приложения TessaClient в случае, если для пользователя в поле PersonalRoleSatellite.WorkplaceExtensions указан некорректный JSON для личных настроек рабочего места. В этом случае приложение открывается без личных настроек, а ошибка записывается в лог: лог сервиса web для web-клиента, клиентский лог для приложения TessaClient.
  39. В web-клиенте исправлена видимость аффиксов в базовых контролах “Текстовое поле” и “Поле с автодополнением”, если контролы доступны только для чтения.
  40. В web-клиенте исправлена ошибка, из-за которой у контрола “Ссылка” в выпадающем меню с таблицей текст выравнивался по центру.
  41. В web-клиенте для контрола “Выбор цвета” исправлена ошибка, не позволявшая открыть меню выбора цвета, если цвет был введен в формате #RGB.
  42. В web-клиенте для контрола “Выбор цвета” исправлена ошибка, позволявшая вставлять неподдерживаемые символы, и улучшено поведение каретки в некоторых сценариях.
  43. В web-клиенте в карточке правил расчета ACL убрано пустое пространство под полем “Расширения”, если оно незаполнено.
  44. В web-клиенте исправлена ошибка в карточке правил расчета ACL при её сохранении в случае, если поле “Расширения” было изменено.
  45. Улучшена стабильность обработки операций по конвертации файлов за счёт автоматической перезагрузки зависших процессов до наступления планового техобслуживания.
  46. В виджете “Заметки” исправлена иконка для добавления вложений.
  47. В web-клиенте исправлено отображение представлений с выделением по ячейкам, таких как узлы в папке “Отчёты” рабочего места “Пользователь”.
  48. Исправлена ошибка обработки скрытых вкладок при открытии карточки и после её обновления. Ранее не осуществлялось перехода на первую отображаемую вкладку.
  49. В web-клиенте исправлена ошибка, из-за которой в настройках виджета дашборда “Создать карточку” могли отображаться типы, недоступные текущему пользователю.
  50. Исправлена автоматическая очистка кэша сконвертированных файлов, если конвертация выполнялась в веб-сервисе web, а не в фоновой службе chronos.
  51. В web-клиенте исправлена ошибка отображения pdf-файлов в области предпросмотра на iOS: ранее файл не отображался при значении масштаба в 400% из-за ограничений Safari WebKit. Теперь максимальное значение масштаба для iOS - 300%.

Обновление на новую сборку

  1. Приложение-помощник web-клиента Deski обновлено до версии 2.4.0. Опубликуйте новые версии приложения при обновлении. При использовании функций, связанных с Deski, пользователю будет предложено обновить его версию на опубликованную. Также обновление может выполнить администратор системы, установив msi-пакет для Windows через доменные политики, а для Linux воспользовавшись инструкцией Установка ассистента web-клиента Deski. Обратите внимание, что, начиная с этой версии, не поддерживается установка на 32-битных версиях Windows.
  2. Если был установлен Tessa Applications версии 4.1.0, то для его обновления на эту версию или старше необходимо установить Tessa Applications через msi-пакет (допустимо использование групповых политик). Для более ранних версий Tessa Applications этого не требуется, достаточно опубликовать приложение TessaAppManager на сервере.
  3. Выполните команду tadmin ConvertConfiguration для библиотек локализации в репозитории, указав параметром путь к папке Configuration/Localization.
  4. В конфигурационном файле app-plugins.json удалён параметр FileConverter.CacheCleanPeriod в пользу нового плагина FileConverterRemoveCachePlugin и его настроек.

Изменения API при обновлении

  1. Свойство RedisNormalizationOptions.RedisFunc теперь определяет функцию, возвращающую ValueTask вместо Task.

Изменения конфигурации при обновлении

  1. Типы:

    • RoleDeputiesManagement
  2. Изменены библиотеки локализации.

Back to top