Патч 3.5.0.14 (21.10.2021)¶
Переход на новую сборку¶
- Изменены таблицы: NotificationSubscriptions.
- Изменены библиотеки локализации.
- Флаг настроек запуска бизнес-процессов по шаблону бизнес-процесса “WorkflowEngineProcessFlags.CreateNew” переименован в “WorkflowEngineProcessFlags.StartNew”.
- В истории изменений для патча 3.5.0.12 были ошибочно указаны исправления в desktop-клиенте при прокрутке пальцами. Тестирование выявило, что исправления не работают, поскольку в .NET Core 3.1 присутствует баг, который исправлен в .NET 5.0. Поэтому в TESSA 3.6.0.2 и старше проблемы с прокруткой действительно исправлены, а в TESSA 3.5.0.x их исправление невозможно без патча для .NET Core 3.1, баг которого описан в issue: https://github.com/dotnet/wpf/issues/3360.
Добавление и изменение функциональности¶
- Добавлен вертикальный скроллинг в выпадающий список с доступными рабочими местами в desktop-клиенте.
- API: Добавлено свойство ICardModel.IsHtmlSanitizingEnabled, установив которое как true в области предпросмотра desktop-клиента выполняется санитайзинг html-документов для противодействия потенциальным угрозам безопасности. Ввиду ограничений, связанных с используемым браузером в области предпросмотра, санитайзинг приводит к искажениям в стилях html-содержимого, поэтому свойство по умолчанию установлено как false. Поскольку документ отображается внутри desktop-клиента, т.е. не внутри полноценного браузера, это не приводит к известным угрозам безопасности.
- API: Обновлены библиотеки: .NET Core 3.1.20, HtmlAgilityPack 1.11.37, NTwain 3.7.1, StackExchange.Redis 2.2.79, Swashbuckle.AspNetCore 6.2.3, System.Data.SqlClient 4.8.3, Unchase.Swashbuckle.AspNetCore.Extensions 2.6.12.
Исправления и оптимизации¶
- В web-клиенте сабсеты в узлах деревьев теперь отображают только уникальные значения.
- В web-клиенте исправлен баг, из-за которого тайл “Создать карточку” оставался виден, даже когда нет доступных для создания карточек.
- При закрытии диалога выбора из представления рабочие места помечаются как отключённые
IWorkplaceViewModel.IsActive = false. - StringWidthLimitConverter.Instance теперь возвращает корректный тип конвертера.
- Исправлена проверка соединения с существующей базой данных для скриптов setup, upgrade, migrate и export (в Windows и Linux вариантах): вместо подключения к БД master/postgres выполняется подключение к БД TESSA. Это позволяет использовать скрипты для учётных записей СУБД, у которых нет доступа к master/postgres. Исключением являются скрипты setup в режиме создания базы данных.
- Исправлена ошибка сохранения экземпляра бизнес-процесса в ситуации, когда при запуске бизнес-процесса в его скрипте производился запуск другого процесса, не являющегося подпроцессом.
- В desktop-клиенте реализована обработка строк локализации в текстовых значениях, передаваемых из master-представления в параметры detail-представления.
- Исправлена ошибка, из-за которой при открытии карточки из индикатора новых сообщений в базе не обновлялась дата последнего посещения топика пользователем.
- В web-клиенте исправлена ошибка, из-за которой шаблоны файлов не обновлялись в клиентском кеше.
- В web-клиенте исправлена ошибка, из-за которой при закрытии карточки мог появляться диалог с предложением сохранить карточку, даже когда это не требовалось.
- Для desktop-клиента исправлен перезапуск предпросмотра средствами внешних приложений в другой разрядности после ошибки E_FAIL в некоторых инсталляциях.
- Исправлен запуск плагинов Chronos, конструктор которых ссылается на объекты в библиотеке расширений или в других библиотеках, расположенных в папках, которые подключаются в ProbingPath.
- Исправлено закрытие вкладки или диалога с карточкой посредством свойства
ICardEditorModel.ClosePendingпри отмене переоткрытия или сохранения карточки указаниемcontext.Cancel = true, или при установке свойстваCardGetResponse.CancelOpening. При первом открытии карточки и при её создании отмена открытия вкладки реализуется указаниемcontext.Cancel = true(независимо от свойстваICardEditorModel.ClosePending). - При подписании файлов в desktop-клиенте исправлено появлении ошибки “The process cannot access the file”.
- Исправлена рассылка почтовых уведомлений по обсуждениям, которая ранее не выполнялась, пока пользователь хотя бы раз не открыл обсуждение в карточке.
- Исправлена ошибка NRE при выполнении метода Tessa.Cards.FileSourceForCard.GetSignaturesCoreAsync. Ошибка происходила, например, при выполнении метода IFileSource.GetSignaturesAsync, если тип файла является виртуальным.
- В web-клиенте исправлена ошибка в модуле SAML аутентификации, из-за которой IdP сервер не мог проверить подпись логин-запроса.
- Исправлены ошибки при отмене транзакции в случае возникновения ошибок при: сохранении основной карточки сателлита или первом создании и сохранении сателлита. Ошибка, например, приводила к завершению задания, если оно завершалось из карточки задачи, но при этом происходила ошибка.
- Исправлены ошибки, из-за которых не создавалась карточка сателлита при установленном флаге
NoLockingMainCard, который управляет отсутствием блокировки основной карточки при создании или изменении сателлита. Ошибка воспроизводилась при создании карточки сателлита задания. - Исправлена ошибка, возникающая при подписке на уведомления карточки, у которой нет дайджеста.
- Исправлена ошибка NRE при отправке уведомления, содержащего C# скрипты, сотруднику с правилами уведомлений, содержащих условия.
- Исправлена передача null вместо объекта карточки в случае формирования тела письма по скрипту, если в INotificationSendContext.GetCardFuncAsync передается метод, возвращающий null.
- В web-клиенте исправлена ситуация, когда при мультивыборе значения из представления в фильтре оставалась пустая строка.
- В маршрутах исправлена ошибка, из-за которой этап “Доработка” пропускался, если при переходе в начало текущей группы этапов или на этап “Доработка” выполнялся вторичный процесс, работающий в режиме “Действие” с типом события: “Сохранение карточки” или “Перед сохранением карточки”.
- Исправлено возможное зависание API Tessa.PdfSharp при попытке открытия файла PDF с определённым содержимым. Актуально при его использовании в расширениях, например, для наложения штампа.