disk 26.1500.0 Ломающее

Disk 26.1400.0–26.1500.0: очереди загрузки, аудит и ограничения файлов

7 мин чтения Устаревших API: 6
Узнавайте о ломающих изменениях Битрикса раньше, чем они доедут до прода: свежие разборы — в канале @bxmax_updates

Ломающее обновление

Удалены или изменены публичные API — прикладной код может перестать работать.

Диск за две версии получил квоты на сотрудника, запрет форматов, журнал аудита и загрузчик, который переживает перезагрузку страницы. Почти всё это выключено флагами и частично требует лицензии. Свой код проверьте на другом: удалены несколько методов Configuration и VibeOffice, а в 26.1500.0 изменились правила совпадения имён и уникальный индекс b_disk_object.

Новое

Ограничьте форматы и место для сотрудников

С 26.1400.0 администратор задаёт запрещённые форматы и персональные квоты. Функции доступны при флаге DiskRestrictions и подходящей лицензии: облачном тарифе или коробочной редакции «Холдинг». Квоту из кода выдаёт команда, размер — целые гигабайты от 1 до 1048576:

        use Bitrix\Disk\Public\Command\Quota\SetUserQuotaCommand;

$result = (new SetUserQuotaCommand(userId: $employeeId, quotaGb: 20))->run();
if (!$result->isSuccess()) {
    $codes = array_map(fn ($error) => $error->getCode(), $result->getErrors());
}

    

Повторный вызов меняет квоту, а не добавляет вторую. Квота меньше уже занятого места сохраняется как есть. Снять квоту — RemoveUserQuotaCommand, занятое место пересчитывается раз в 300 секунд.

Проверка формата смотрит на расширение и на сигнатуру файла, если та распознана уверенно. Она срабатывает при записи файла, новой версии и копировании, перемещение уже лежащего файла не проверяется. Отказ приходит ошибкой модели, например DISK_FILE_22012 или DISK_FILE_22013. Открытая сессия редактора может дописать документ, а при следующем открытии действует новая политика.

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

Включите журнал аудита

В 26.1400.0 появился журнал операций с фильтрами и карточками событий: создание, изменение, копирование, удаление и права. Пишется он при флаге AuditLog (по умолчанию выключен) и включённой настройке аудита, просмотр требует лицензии, настройки меняет администратор. Для подписчиков есть события AuditDomainEvent, AuditObjectEvent, AuditLinkEvent, AuditRightsEvent, для интерфейса — контроллеры Audit и AuditSettings. С 26.1500.0 срок хранения выбирается из 1, 3, 6 месяцев или 1, 2, 3 лет, по умолчанию 6 месяцев, и сокращение срока надо подтвердить.

Дайте загрузке пережить перезагрузку

В 26.1500.0 закреплённый загрузчик хранит очередь файлов и дерево папок на сервере. Закрыли вкладку посреди загрузки — при следующем входе очередь восстановится, в какой бы папке ни был пользователь. Публичные команды и disk.dockeduploader.queue умеют повторять, возобновлять, отменять и закрывать загрузки. Один файл передаёт одна вкладка, а если она пропала, владение освобождается по heartbeat. При повторной фиксации уже записанный файл находится по токену намерения, так что дубля не будет.

Загрузчик выключен флагами DockedUploaderFlag и DockedUploaderPortalFlag, второй работает только вместе с первым. Бизнес-процесс и аналитика после загрузки запускаются не больше одного раза, но при сбое между записью состояния и отправкой могут не запуститься вовсе. Если процесс обязателен, не полагайтесь на восстановление очереди.

Подключите свои сущности и автоматизацию

С 26.1400.0 через событие onBuildRelationProviderList Диск узнаёт, к каким вашим сущностям прикреплён файл. Обработчик возвращает ['MODULE_ID' => ..., 'CLASS' => ...], где класс реализует Bitrix\Disk\Public\Contract\Relation\RelationProviderInterface.

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

AI, HTML-редактор и синхронизация

  • В 26.1400.0 DiskToolSet регистрирует 26 инструментов AI Assistant для файлов, папок, истории, корзины, ссылок и доступа. Они работают в контексте пользователя, скачивание ограничено 50 МиБ.
  • В 26.1500.0 в меню файла появился чат BitrixGPT для текста, Markdown, CSV, офисных документов и PDF до 50 МиБ. Нужны права, интеграция и флаг BitrixGptFileChatFlag, по умолчанию выключенный.
  • HTML-редактор 26.1500.0 включается флагом HtmlEditor. Контроллер файла даёт acquireHtmlEditingSessionAction(), saveHtmlEditingSessionAction() и finishHtmlEditingSessionAction(), сессия живёт 600 секунд. Сохранение принимает операции setInnerHTML и setAttr, проверяет версию, права, блокировку и разметку и создаёт новую версию документа.
  • DestinationPicker выбирает до 100 объектов, ищет папки, создаёт подпапки и проверяет права, место и конфликты. В 26.1400.0 его включала опция disk_enable_destination_picker, с 26.1500.0 он включён всегда. Мобильная часть — в разборе Diskmobile 26.600.0.
  • REST V3 disk.sync.index.get отдаёт текстовый индекс доски при флаге BoardIndex. В 26.1500.0 карточка синхронизации получила необязательный раздел access с доступностью действий, внутренним и публичным доступом, а журнал синхронизации учитывает изменения публичного доступа и sharing.

Что сломается

Уберите удалённые проверки конфигурации

В 26.1400.0 удалены Configuration::isEnabledFileViewerFormats() и FileViewerFormatsFlag: TIFF, WAV и MKV больше не прячутся за отдельным флагом. В 26.1500.0 удалён Configuration::isEnabledHtmlViewer(), и просмотр HTML/HTM не зависит от disk_enable_html_viewer. Новый isEnabledHtmlEditor() отвечает за редактирование и удалённую проверку не заменяет.

Поправьте вызовы конструкторов

В 26.1400.0 конструктор FilePicker\Provider получил ?AvailableStorageService перед ViewerAttributesFactory. Фабрика, переданная четвёртым позиционным аргументом, попадёт не туда: перенесите её в пятый или передайте по имени viewerAttributesFactory:.

В 26.1500.0 у Document\Vibeoffice\EditSessionAdmissionTicket удалены commit() и cancel(), конструктор принимает только результат допуска: EditSessionAdmission::admit() больше не резервирует общий пул сессий OnlyOffice. Удалён и TerminalSessionFinalizer::releaseUserUsage(), а конструктор финализатора теперь принимает только необязательный DocumentStateRepository, без RestrictionManager.

Проверьте сравнение имён

С 26.1500.0 Диск сравнивает имена после нормализации Unicode, без учёта регистра и невидимых символов, но с учётом диакритики. Например, Отчёт.docx и отчёт.docx в одной папке конфликтуют, а cafe и café нет. Это касается загрузки и переименования. Controller\TrackedObject::renameAction() по умолчанию получил $autoCorrect = true и сам исправит имя, для прежнего строгого режима передавайте false.

БД

В 26.1500.0 уникальный индекс NAME, PARENT_ID в b_disk_object заменён на обычный NAME, PARENT_ID, ID и уникальный PARENT_ID, NAME_KEY. Если вы вставляете объекты прямым SQL, уникальность теперь держится на NAME_KEY, лучше перейти на API Диска. В объектах и версиях появился UPLOAD_INTENT_TOKEN с уникальными индексами. b_disk_attached_object.OWNER_PARAMETERS хранит до 512 символов, и ORM запрещает менять сохранённые параметры владельца через update.

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

Мелочи и находки

  • В 26.1400.0 очистка незавершённой загрузки не удаляет файл, если его успели прикрепить, переместить, использовать или добавить версию. REST-чтение и скачивание могут пройти через доступное вложение, изменение по-прежнему требует прав хранилища.
  • VibeOffice в 26.1400.0 показывает единый экран отказа, повторно проверяет доступ при запросе версии и подтверждает присутствие в шапке документа через Pull.
  • В 26.1500.0 появилось отдельное окно прав объекта и хранилища, а пользователь без доступа видит, к кому из сотрудников обратиться.
  • В 26.1400.0 исправлены фильтрация и пагинация списка папки, файловый picker научился сортировать по размеру. Документами, хлебными крошками и деревом папок теперь можно пользоваться с клавиатуры и скринридера.

Устаревшие и удалённые API в этой версии

Символ Статус Чем заменять
Bitrix\Disk\Configuration::isEnabledFileViewerFormats() Удалено —
Bitrix\Disk\Config\Feature\FileViewerFormatsFlag Удалено —
Bitrix\Disk\Configuration::isEnabledHtmlViewer() Удалено —
Bitrix\Disk\Document\Vibeoffice\EditSessionAdmissionTicket::commit() Удалено —
Bitrix\Disk\Document\Vibeoffice\EditSessionAdmissionTicket::cancel() Удалено —
Bitrix\Disk\Document\Vibeoffice\TerminalSessionFinalizer::releaseUserUsage() Удалено —

Новая версия вышла — разбор уже в Telegram

В канале @bxmax_updates публикуем каждый свежий разбор: что сломается, что устарело и что появилось в API. Узнаете до того, как обновите прод.

Подписаться

Читайте дальше

disk 26.1375.0 Безопасность Свежее

Disk 26.1250.0–26.1375.0: запрет скачивания при праве на чтение теперь проверяет сервер

Диск обновился с 26.1200.0 ([разбор](/bitrix-updates/disk/disk-26-1200-0)) сразу на четыре версии: 26.1250.0, 26.1300.0, 26.1350.0 и 26.1375.0. В 26.1300.0 сервер начал проверять запрет скачивания при праве на чтение, который раньше почти ничего не ограничивал, и отказ придёт по прямой ссылке, в арх…

1 мин
disk 26.1200.0 Ломающее

Disk 26.1200.0: единые ссылки на папки, капча на паролях публичных ссылок, версиями управляет право правки

Диск обновился с 26.1175.0 ([разбор](/bitrix-updates/disk/disk-26-1175-0)) до 26.1200.0 и пришёл в одном пакете с intranet 26.1475.0, который [разобран отдельно](/bitrix-updates/intranet/intranet-26-1700-0). Единые ссылки теперь работают для папок, форма пароля публичной ссылки после трёх ошибок про…

1 мин
disk 26.1175.0 Ломающее

Disk 26.1175.0: runPreviewGeneration отдаёт другой pull-тег, а TIFF, WAV и MKV спрятаны за фича-флагом

Диск обновился с 26.1150.0 ([разбор](/bitrix-updates/disk/disk-26-1150-0)) до 26.1175.0 и пришёл в коробку вместе с main 26.800.0, который мы разобрали [отдельно](/bitrix-updates/main/main-26-800-0). Вендор пишет про два исправления общих дисков, но больше всего кода ушло на предпросмотр TIFF и подд…

5 мин
disk 26.1150.0 Безопасность

Disk 26.1100.100 и 26.1150.0: SDK досок больше не шлёт JWT на любой origin, а секрет по умолчанию убран

Диск приехал в коробку двумя версиями одним днём, 21 сентября 2026 года (по официальному каналу «Битрикс24 changelog»). В 26.1100.100 поменялась одна строка, и заметно это только на порталах с сессиями в режиме `separated`. 26.1150.0 закрывает канал `postMessage` в SDK досок, через который JWT и ссы…

2 мин
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…

Можно закрыть чат и перейти на другую страницу. Когда ответ будет готов, на кнопке Домового появится отметка.

Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти