Skip to content

Calab 1.2.0

Choose a tag to compare

@github-actions github-actions released this 30 Sep 09:47
· 438 commits to main since this release

Calab 1.2.0 — вкладки режимов и имя пространства в шапке колонки, отдельные права на приглашения, временные комнаты для встреч с внешними людьми, версия клиента в профиле, детали внешних событий CalDAV, устранение вечного спиннера чата, кнопки под сообщениями ботов и файлы в S3 для развёртывания в несколько реплик.

Добавлено

  • Шапка колонки — вкладки режимов, имя пространства в титлбаре, «Создать задачу» (docs/09 #140): на месте имени пространства — вкладки «Голос · Календарь · Доски» (счётчики встреч/задач сохранены, ←/→/Home/End, у гостей вкладок нет); режимы взаимоисключающие. Заголовок окна: кнопки «‹ ›» убраны (сочетания клавиш остались), имя пространства с «⌄» — слева (меню: «Пригласить», «Настройки пространства», «Участники», «Уведомления», «Скрывать без уведомлений», «Покинуть»); без пространства — «Calab». «+» → «Создать задачу» (после «Добавить встречу») открывает доску и диалог новой задачи, при нескольких досках — подменю выбора. Календарь: дни недели «Пн Вт … Вс»; в строке фильтра «Люди» — «Только мои» (встречи, где я организатор или участник) при подключённом CalDAV, иначе оранжевая «Подключить свой календарь».
  • Права «Приглашать участников» / «Приглашать гостей» отдельно, на пространство и на комнату (ADR-0043, docs/09 #141): биты INVITE_MEMBERS / INVITE_GUESTS без импликации от MANAGE_* — в редакторе ролей своя группа «Приглашения», в переопределениях комнаты обе строки. «Пригласить» в шапке/«+»/меню пространства — INVITE_MEMBERS; «Пригласить» комнаты, приглашение в голосе и гостевая ссылка — права в комнате (с одним INVITE_MEMBERS ссылка выдаётся «только для участников»); «Ссылка для гостей» в настройках комнаты — INVITE_GUESTS. Права применяются без перелогина. Миграция выдаёт новые биты прежним держателям соответствующих прав.
  • Временные комнаты (ADR-0044, docs/09 #142): «+» → «Временная комната» — название, срок жизни (пресеты или «до даты»), видимость «все участники / только выбранные», гости по ссылке, «добавить встречу в календарь»; ссылка выдаётся сразу. Группа «Временные» внизу списка комнат с иконкой Timer и остатком времени (оранжевый цвет < 10 мин); меню — скопировать ссылку · продлить · удалить (комната уходит в архив, история остаётся доступной на чтение). Право CREATE_TEMP_ROOMS — участникам по умолчанию, с переключателем в настройках пространства; архив временных комнат — в настройках. Сценарий — замена Zoom для звонков с внешними людьми.
  • Версия клиента и платформа в карточке профиля (docs/09 #143): под местным временем — «Calab 1.1.0 · macOS» (для веба — тег web), офлайн — серым с подсказкой «Последняя известная версия»; ботам не показывается. Presence несёт клиентскую версию и платформу самой свежей живой сессии.
  • Внешние события CalDAV с деталями (ADR-0045, docs/09 #144): в своём дне — карточки внешних событий с названием, местом, участниками и кнопкой «Создать встречу в Calab» (сопоставление участников по e-mail); коллегам — по настройке аккаунта CalDAV «Что видят коллеги: Занято / Название / Название и участники» (по умолчанию «Занято») в фильтре «Люди» и подборе времени.
  • Кнопки под сообщениями ботов (ADR-0047, PR #24): бот может прикрепить к сообщению до 5 рядов по 5 кнопок, при желании — только для выбранных людей; нажатие приватно уходит только этому боту (gateway и webhook) с идемпотентной квитанцией — повтор по сети не дублирует действие; устаревшая клавиатура обновляется. В SDK — событие bot.on('callback') (docs/19).
  • Файлы в S3 (ADR-0011, этап 5; PR #23): новый драйвер STORAGE_DRIVER=s3 хранит файлы в S3-совместимом бакете (Yandex Object Storage, Garage, Ceph RGW) — нужен для запуска API несколькими репликами (Kubernetes). По умолчанию остаётся fs (локальный диск); проверяется в CI против Garage.

Изменено

  • Обновление веб-версии срабатывает надёжно: веб-сборка теперь помечена номером версии — синяя полоса обновления пропадает после перезагрузки страницы, а не остаётся до следующего изменения сервера.
  • Дни рождения, календарь: узкая строка фильтра «Люди» короче помещает «Подключить календарь», не обрезая её.
  • Меню доски: пункты меню больше не переносятся по словам — ширина меню растёт под самый длинный пункт.
  • Диалоги (в том числе «Временная комната») прокручивают только своё тело — у окна появляется край-подсказка, что есть ещё контент ниже.

Исправлено

  • Чат больше не виснет на спиннере навсегда (docs/09 #146): у каждой страницы загрузки сообщений теперь таймаут 15 с (с отменой запроса), после которого лента показывает «Не удалось загрузить сообщения · Повторить»; загрузка «в полёте» не блокирует повторное открытие комнаты дольше 10 с, устаревший ответ отбрасывается; READY/RESUMED перезапрашивает комнаты, оставшиеся в состоянии ошибки. Заодно у запросов десктопа через calaba-api:// в main-процессе появились предельные тайм-ауты на установление соединения и на простой.
  • Приглашения в пространство больше не создают гостевой аккаунт по ссылке «только для участников» (проверка INVITE_MEMBERS/INVITE_GUESTS — обзор ADR-0043).

Обновление

  • Миграции 00047 (invite_permissions), 00048 (temp_rooms), 00049 (external_event_details) и 00050 (inline_buttons) выполняются автоматически при запуске сервера новой версии; LiveKit не перезапускается; Caddyfile без изменений.
  • Новые переменные окружения (обе необязательные, поведение по умолчанию не меняется):
    • TEMP_ROOM_RETENTION_DAYS (по умолчанию 90, 1..3650) — через сколько дней после закрытия удаляется архивная временная комната вместе с историей (ADR-0044).
    • STORAGE_S3_* (STORAGE_S3_ENDPOINT, STORAGE_S3_REGION, STORAGE_S3_BUCKET, STORAGE_S3_ACCESS_KEY_ID, STORAGE_S3_SECRET_ACCESS_KEY, STORAGE_S3_KEY_PREFIX, STORAGE_S3_FORCE_PATH_STYLE) — обязательны только при STORAGE_DRIVER=s3; по умолчанию STORAGE_DRIVER=fs, существующие развёртывания не затронуты (docs/06 «Файлы в S3: драйвер s3»).
  • Старые клиенты ≤ 1.1.0 не видят вкладки режимов, временные комнаты, версию клиента в профиле, детали внешних событий и кнопки ботов; серверные права и лимиты применяются независимо от версии клиента.

Скачать: calab.ru · файлы и обновления: releases.calab.ru · все изменения