Oznámení
Libre WebUI uchovává trvalou schránku oznámení pro jednotlivé uživatele, takže se k lidem dostane týmová aktivita — zmínky, přímé zprávy, sdílení, selhání automatizace a kalendářní připomínky — i když je příslušná stránka zavřená.
Stavová vyskakovací okna
Krátké stavové zprávy, například o uložené změně nebo dokončené operaci Git, se zobrazují u horního okraje stránky. Tlačítkem Zavřít okno zavřete myší i klávesnicí. Když na zprávu najedete ukazatelem, zůstane zobrazená, abyste si ji mohli přečíst. Zavřením zprávu skryjete, samotná operace si ale zachová svůj aktuální stav.
Schránka
Oznámení jsou především řádky databáze: název a tělo jsou při uložení zašifrované, na uživatele se uchovává nejvýše 500 položek (nejstarší se odstraní) a volitelný klíč zdroje odstraňuje duplicity, aby se opakované publikování sloučilo do jediné položky místo zahlcení zvonku. Rozhraní REST položky uvádí, počítá nepřečtené, označuje jednu nebo všechny jako přečtené a maže je.
Živé doručování používá trvalý proud událostí pro uživatele notify:<userId> přes
GET /api/notifications/events (SSE). Identita proudu pochází z ověřené relace,
nikoli z klientského vstupu, a schránka SQL zůstává zdrojem pravdy. Zmeškaná událost
se obnoví načtením seznamu, ne přehráním proudu.
Co vytváří oznámení
| Typ | Kdy se vytvoří |
|---|---|
channel-dm | Někdo vám pošle přímou zprávu |
channel-mention | Někdo vás v kanálu @mentions nebo odpoví na vaši zprávu |
channel-invite | Jste přidáni do kanálu |
share | Někdo s vámi sdílí prostředek |
automation-failed | Jedna z vašich automatizací selže (pokud neodmítla oznámení) |
calendar-reminder | Událost s připomínkou dosáhne jejího času |
work-run-finished | Jeden z vašich najatých agentů Work dokončí běh |
work-run-attention | Najatý agent se zastaví kvůli vstupu nebo chybě |
work-takeover | Agent Work vás požádá o převzetí obrazovky |
work-approval | Běh Work čeká, až schválíte akci s vedlejším účinkem |
system | Oznámení na úrovni instance |
Oznámení se vždy publikují pouze dotčenému uživateli. Zmínka uživatelského jména, které není členem kanálu, nic nevytvoří.
Oznámení mohou spouštět i automatizace: automatizace se
spouštěčem event se spustí pokaždé, když jejímu vlastníkovi přijde oznámení
zvoleného typu, s omezením na jedno spuštění za minutu na automatizaci.
Odchozí webhooky
Správci mohou registrovat cíle webhooků, které přijímají týmové události.
- Chráněný odchod. Cíle podléhají stejné zásadě destinací jako servery nástrojů:
přesná adresa URL, žádná přesměrování a žádné soukromé ani link-local adresy, pokud
správce hostitele výslovně nepovolí pomocí
TOOLS_PRIVATE_NETWORK_ALLOWLIST. Názvy hostitelů se při každém doručení znovu přeloží a ověří. - Podepsané. S nakonfigurovaným tajemstvím nese každé doručení
X-Libre-Signature: sha256=<hmac>vypočtený z přesného těla. - Redigované. Obálka obsahuje druh události, typ oznámení, název, identifikátory a časová razítka. Těla oznámení, obsah zpráv, prompty a dokumenty instanci nikdy neopustí.
- Trvalé. Doručení běží jako trvalé úlohy s omezeným počtem opakování. Odpověď 5xx od příjemce se zopakuje, 4xx se považuje za rozhodnutí příjemce a úlohu uzavře.
- Omezené. Každý cíl odebírá konkrétní typy oznámení (nebo
*).
Push v prohlížeči
Settings → Notifications zaregistruje tento prohlížeč pro Web Push, takže se zmínky, sdílení, připomínky a dokončená práce dostanou do zařízení i při zavřené kartě. Implementace je standardní a samostatná:
- VAPID (RFC 8292). Server každé doručení podepisuje párem klíčů ES256, který se
jednou vygeneruje a uloží zašifrovaný, nebo se nastaví pomocí
VAPID_PUBLIC_KEY/VAPID_PRIVATE_KEY(VAPID_SUBJECTurčuje kontaktní claim). Kromě push koncového bodu dodavatele prohlížeče se nepoužívá žádná knihovna ani účet služby třetí strany. - Šifrovaný obsah (RFC 8291). Každá zpráva se před opuštěním instance zašifruje pro vlastní klíče zařízení pomocí aes128gcm. Push služba přenáší šifrovaná data, která nemůže číst.
- Pro zařízení a relaci. Odběr patří prohlížeči, který ho vytvořil, a jeho ověřené relaci. Odhlášení z relace (nebo „sign out other sessions“) odstraní i registraci push. Koncové body se ukládají zašifrované s klíčovaným vyhledávacím tokenem a musí být veřejné destinace HTTPS — stejná hygiena odchozího provozu jako u webhooků.
- Trvalé. Push doručení běží jako trvalé úlohy s omezeným počtem opakování. Když push služba oznámí zaniklý odběr (404/410), odstraní se.
- Obsah nese název oznámení, volitelné tělo, typ a cílový odkaz — se stejným redigováním jako schránka.
Push vyžaduje produkční aplikaci (service worker se registruje pouze tam) a bezpečný origin. Stejný service worker poskytuje offline shell a instalovatelnost: manifest aplikace umožní instalaci Libre WebUI, navigace offline přejde na uložený shell a hashované prostředky sestavení se ukládají neměnně. Provoz API se nikdy necachuje.
E-mail
E-mail je třetí doručovací kanál a jediný, který vyžaduje nastavení správcem.
Settings → User Management → Access & policies → Email notifications
obsahuje jeden odchozí server SMTP: hostitele, port, zabezpečení spojení
(STARTTLS, implicitní TLS nebo žádné pro důvěryhodnou síť), volitelné
přihlašovací údaje, adresu odesílatele a veřejnou adresu URL použitou pro
odkazy. Proměnné prostředí SMTP_* v
Proměnných prostředí naplňují stejná pole pro
kontejnerová nasazení; hodnota uložená v UI má přednost. Heslo se ukládá
zašifrované a do prohlížeče se nikdy nevrací. Send test doručí zprávu na
vlastní adresu správce (nebo na kteroukoli zadanou adresu), takže se funkčnost
ověří dřív, než se na ni uživatelé spolehnou.
Správci také volí šablonu e-mailu Světlá nebo Tmavá a před uložením si ji prohlédnou v náhledu. Výchozí je Světlá. Uložená předvolba platí pro všechna oznámení a testovací e-maily této instance, včetně výsledků v Markdownu; nezávisí na motivu rozhraní jednotlivých uživatelů. Náhled vykreslí ukázkový obsah bez kontaktu se SMTP, bez odeslání pošty a bez zařazení úlohy. Předvolbu mohou číst a měnit a o náhled žádat jen správci. Vestavěné předvolby udržují text, odkazy, bloky kódu a tlačítka čitelné; vlastní šablony HTML se nepřijímají. E-mailoví klienti mohou barvy přesto upravit podle vlastního nastavení zobrazení.
Jakmile je přepínač zapnutý, každý uživatel si pod Settings → Notifications → Email notifications zvolí, co se dostane do jeho schránky:
- Channel mentions: zpráva, která vás zmíní v kanálu, s náhledem a odkazem na kanál.
- Automation results: výsledek každého běhu vaší automatizace, úspěch i selhání. Chatový běh nese přímo odpověď asistenta (až několik tisíc znaků), běh Work nese stavový řádek úlohy a selhání nese chybu. Odkaz otevře výsledný chat nebo úlohu.
Oba přepínače zůstávají vypnuté, dokud je uživatel nezapne, a fungují jen pro
účty, které mají e-mailovou adresu — tu si držitel účtu nastaví při registraci
nebo mu ji doplní správce v Users. Zprávy odcházejí stejným trvalým úlohovým
runtime jako Web Push, s omezeným počtem opakování při dočasném selhání
přenosu, a SMTP klient je malá vestavěná implementace (EHLO, STARTTLS, AUTH
PLAIN nebo LOGIN), která nikdy neposílá přihlašovací údaje přes nešifrované
spojení, pokud režim není výslovně none. Každá zpráva má textovou i HTML
variantu v grafice webu: slovní značka Libre WebUI, jedna karta s obsahem,
korálové tlačítko na cíl a patička odkazující zpět na Settings →
Notifications. Výsledek automatizace se vykresluje z Markdownu (nadpisy,
seznamy, zvýraznění, kód, odkazy jen na cíle http(s)); vše ostatní se escapuje
a jediný externí obrázek je logo servírované z librewebui.org. Žádné
sledování.
Omezení
- Uživatelské předvolby pro jednotlivé typy zatím nejsou implementovány. Automatizace respektují vlastní nastavení oznámení a opuštění kanálu jeho oznámení zastaví.