Проблема регистрации изменений EntityLog registerModify от имени пользователя тенанта

Jmix version: 2.5.2
Jmix Studio Plugin Version: 2.5.2-251
IntelliJ version: IntelliJ IDEA 2025.1.1.1 (Community Edition)

Когда я вызываю registerModify в блоке runWithUser - в базе данных не сохраняется тенант, в связи с чем изменения не видны пользователям тенанта, имеющим права на просмотр истории

systemAuthenticator.runWithUser("test_2|service", () -> {
	entityLog.registerModify(issue, true, event.getChanges());
});

Тоже самое происходит если изменить сущность от имени этого пользователя:

systemAuthenticator.runWithUser("test_2|service", () -> {
	issue.setAssignedToUsername("test_2|exec");
	dataManager.save(issue);
});

image

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

Прошу прощения за поздний ответ.

Попробовал воспроизвести проблему (второй случай - изменение сущности от имени пользователя), однако это мне не удалось.

Вот мой проект: mtentlog.zip (1.0 МБ)
Метод com.company.mtentlog.user.MiscTest#test_issueLog. Предварительно нужно создать используемых в тесте тенанта с юзером и хотя-бы одно Issue. Нужный тенант в базе появляется:
изображение


Добавление тенанта происходит при сохранении в бд в io.jmix.multitenancy.core.impl.TenantPersistingListener#beforePersist, который отрабатывает при коммите транзакции.

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

Если проблема актуальна и это не тот случай, который я описал выше, добавьте, пожалуйста, проект, где она воспроизводится.

С уважением,
Дмитрий