Сповіщення
Особиста скринька доставляє згадки, DM, спільний доступ, помилки автоматизацій і нагадування навіть при закритій сторінці.
Спливні повідомлення про стан
Короткі повідомлення про стан, наприклад про збережену зміну або завершену операцію Git, з’являються вгорі сторінки. Кнопка Закрити прибирає таке повідомлення як вказівником, так і з клавіатури. Поки вказівник наведено на повідомлення, воно не зникає, тож його можна дочитати. Закриття лише прибирає повідомлення, а сама операція зберігає свій поточний стан.
Скринька
Зашифровані рядки бази, максимум 500, старі видаляються; ключ джерела дедуплікує. RESTful перелічує, рахує, позначає й видаляє.
Жива доставка через notify:<userId> і GET /api/notifications/events (SSE). Ідентичність із сесії; SQL — джерело істини.
Джерела
channel-dm, channel-mention (коли хтось @mentions вас у каналі або відповідає на ваше повідомлення), channel-invite, share, automation-failed, calendar-reminder, work-run-finished, work-run-attention, work-takeover, work-approval, system. Лише для відповідного користувача.
Сповіщення можуть також запускати автоматизації: автоматизація
з тригером event спрацьовує щоразу, коли сповіщення обраного типу
надходить її власнику, з обмеженням — не частіше одного разу на хвилину для
кожної автоматизації.
Webhook
- Точний URL, без перенаправлень і private/link-local, якщо host не дозволений у
TOOLS_PRIVATE_NETWORK_ALLOWLIST. - Підпис
X-Libre-Signature: sha256=<hmac>точного тіла. - Зовні лише тип, заголовок, ID і час; не текст, промпт або документ.
- Обмежені повтори: 5xx повторюється, 4xx завершує.
- Конкретні типи або
*.
Push браузера
- VAPID RFC 8292: ES256, збережена зашифрована пара або
VAPID_PUBLIC_KEY/VAPID_PRIVATE_KEY, контактVAPID_SUBJECT. - RFC 8291: aes128gcm ключами пристрою.
- Для кожного пристрою й сесії; вихід видаляє реєстрацію. Endpoint зашифрований і має бути публічним HTTPS.
- Обмежені повтори; 404/410 видаляє підписку.
- Payload містить заголовок, текст, тип і посилання.
Потрібні виробничий застосунок і безпечне походження. Service worker забезпечує встановлення й автономну оболонку; API не кешується.
Пошта
Пошта — третій канал доставки, і єдиний, що потребує налаштування
адміністратором. Settings → User Management → Доступ і політики →
Сповіщення електронною поштою містить один сервер вихідної пошти SMTP:
хост, порт, безпеку з’єднання (STARTTLS, неявний TLS або none для довіреної
мережі), необов’язкові облікові дані, адресу відправника та публічний URL
для посилань. Змінні середовища SMTP_* зі Змінних середовища
задають ті самі поля для контейнерних розгортань; значення, збережене в
інтерфейсі, має пріоритет. Пароль зберігається зашифрованим і ніколи не
повертається в браузер. Надіслати тест доставляє повідомлення на власну
адресу адміністратора (або будь-яку введену адресу), тож проходження шляху
підтверджується ще до того, як на нього почнуть покладатися користувачі.
Адміністратори також вибирають шаблон листа Світлий або Темний і переглядають його перед збереженням. Типово використовується Світлий. Збережений пресет застосовується до кожного сповіщення й тестового листа цього екземпляра, зокрема до результатів у Markdown; він не залежить від теми інтерфейсу кожного користувача. Попередній перегляд відтворює зразок вмісту без звернення до SMTP, надсилання пошти чи постановки завдання в чергу. Читати або змінювати пресет і запитувати попередній перегляд можуть лише адміністратори. Вбудовані пресети зберігають читабельність тексту, посилань, блоків коду й кнопок; власні HTML-шаблони не приймаються. Поштові клієнти все одно можуть змінювати кольори відповідно до власних налаштувань відображення.
Щойно перемикач увімкнено, кожен користувач обирає, що потрапляє в його пошту, в розділі Settings → Notifications → Сповіщення електронною поштою:
- Згадки в каналі: повідомлення, що згадує вас у каналі, з попереднім переглядом і посиланням на канал.
- Результати автоматизацій: результат кожного запуску ваших автоматизацій, успішного чи ні. Чат-запуск несе саму відповідь асистента (до кількох тисяч символів); запуск Work — однорядковий статус завдання; невдача — текст помилки. Посилання відкриває відповідний чат або завдання.
Обидва перемикачі лишаються вимкненими, доки користувач їх не увімкне, і
працюють лише для облікових записів з електронною адресою, яку власник
задає під час реєстрації або яку додає адміністратор у розділі Users.
Повідомлення надсилаються через те саме постійне середовище виконання
завдань, що й Web Push, з обмеженою кількістю повторів для тимчасових збоїв
ретранслятора, а клієнт SMTP — невелика вбудована реалізація (EHLO,
STARTTLS, AUTH PLAIN або LOGIN), яка ніколи не надсилає облікові дані
незашифрованим з’єднанням, якщо режим явно не none. Кожне повідомлення
має текстову частину й альтернативу HTML у стилі сайту: словесний знак
Libre WebUI, одну картку з вмістом, коралову кнопку до цілі та підвал із
посиланням назад до Settings → Notifications. Результат автоматизації
рендериться з Markdown (заголовки, списки, виділення, код, посилання лише
на цілі http(s)); усе інше екранується, і єдине зовнішнє зображення —
логотип, що подається з librewebui.org. Без стеження.
Межі
Налаштувань за окремими типами ще немає; вихід із каналу зупиняє його сповіщення.