Перейти до основного вмісту

Канали

Канали додають до Libre WebUI публічні й приватні кімнати та особисті повідомлення з гілками, реакціями, закріпленнями, непрочитаним, вкладеннями й відповідями @model на довговічній зашифрованій основі чату.

Типи й участь

ТипХто бачитьХто приєднується
publicУсіСамостійно
privateЛише учасникиЗапрошує власник
dmДвоєАвтоматично

Доступ визначає лише участь: усі читання, записи, завантаження й події перевіряють її; сторонні отримують 404 без розкриття існування. Глобальний адміністратор не має доступу до вмісту.

Власник перейменовує, архівує, запрошує, вилучає, модерує й видаляє. Він виходить лише видаленням каналу. DM дедуплікується для пари.

Хронологія

Довговічна впорядкована шкала з keyset-курсорами created_at та ID.

  • Ідемпотентні дописи за ID клієнта.
  • Видалення з надгробком очищає вміст, але зберігає позицію.
  • Редагування лише автором з editedAt.
  • Гілки одного рівня.
  • Реакції унікальні для пари користувача й емодзі.
  • Закріплення керуються учасниками.

Назви, описи й повідомлення шифруються.

Непрочитане

Кожна участь має монотонний курсор. Сервер рахує окремо для каналу; власні повідомлення не непрочитані. POST /api/channels/:channelId/read рухається лише вперед.

Реальний час

Зміни додаються до channel:<id> і SSE GET /api/channels/:channelId/events. Участь перевіряється перед кожною доставкою. SQL — джерело істини; пропущені події відновлюються перечитуванням.

Вкладення

POST /api/channels/:channelId/attachments, одноразова заявка на 15 хвилин. Байти належать завантажувачу, скачування щоразу перевіряє участь.

Відповіді @model

Відповідь одразу з’являється як очікувана й завершується довговічним завданням лише від імені учасника, що викликав: його доступ, credentials і routing. Перед генерацією участь перевіряється; помилки видимі.

Контекст — до 30 повідомлень. Одноразове completion; інструменти, знання й веб-пошук ще не під’єднані.

Ліміти

50 каналів на користувача, 200 учасників, 50 000 повідомлень, 8 000 символів, 5 × 10 MB вкладень, 200 реакцій.

Межі

Немає presence/typing, окремого експорту каналу або окремих налаштувань сповіщень, крім виходу.