[{"data":1,"prerenderedAt":173},["ShallowReactive",2],{"doc:guides\u002Fnotifications":3},{"title":4,"description":5,"url":6,"markdownPath":7,"file":8,"section":9,"sectionTitle":10,"html":11,"toc":12,"navigation":32,"previous":171,"next":172},"Notifications","Turn on push notifications for an L4 Server on each device, and learn which mentions, messages, calls, mail and reminders notify you.","\u002Fdocs\u002Fguides\u002Fnotifications","\u002Fdocs\u002Fguides\u002Fnotifications.md","docs\u002Fguides\u002Fnotifications.md","guides","Guides","\u003Cp>L4 sends browser push notifications for things that need you. Notifications are set per Server and per device: turn them on in each browser or installed app where you want them.\u003C\u002Fp>\n\u003Ch2 id=\"turn-on-push-notifications\">\u003Ca class=\"heading-anchor\" href=\"#turn-on-push-notifications\">Turn on push notifications\u003C\u002Fa>\u003C\u002Fh2>\n\u003Col>\n\u003Cli>Open the Server and select your avatar at the bottom of the rail to open \u003Cstrong>User Settings\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Choose \u003Cstrong>Notifications\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>Next to \u003Cstrong>Push notifications\u003C\u002Fstrong>, select \u003Cstrong>Enable\u003C\u002Fstrong> and allow notifications when your browser asks.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cfigure class=\"doc-shot doc-shot-missing\">\u003Cdiv class=\"doc-shot-frame\" role=\"img\" aria-label=\"User Settings → Notifications with the Push notifications row and its Enable button, and the Message sounds switch\">\u003Cspan class=\"doc-shot-label\">Screenshot coming soon\u003C\u002Fspan>\u003Cspan class=\"doc-shot-alt\">User Settings → Notifications with the Push notifications row and its Enable button, and the Message sounds switch\u003C\u002Fspan>\u003C\u002Fdiv>\u003Cfigcaption>Turn on push notifications\u003C\u002Ffigcaption>\u003C\u002Ffigure>\u003C\u002Fp>\n\u003Cp>Turn the switch off to stop notifications on this device. \u003Cstrong>Message sounds\u003C\u002Fstrong> plays a sound when a message arrives while the tab is in the background.\u003C\u002Fp>\n\u003Cp>If the row shows a badge instead of \u003Cstrong>Enable\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cdiv class=\"table-wrap\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Badge\u003C\u002Fth>\n\u003Cth>Meaning\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>Blocked\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Notifications are blocked for this site in your browser settings. Allow them there, then reopen the page.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Unavailable\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>The Server has no Web Push configuration. Ask the Server operator.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>Unsupported\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>This browser does not support web push.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cblockquote class=\"callout callout-tip\">\u003Cp class=\"callout-title\">Tip\u003C\u002Fp>\u003Cp>On iPhone and iPad, Apple allows web push only for sites added to the Home Screen. Open the Server in Safari, add it to the Home Screen, open it from there and then enable notifications.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Ch2 id=\"what-notifies-you\">\u003Ca class=\"heading-anchor\" href=\"#what-notifies-you\">What notifies you\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cdiv class=\"table-wrap\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Event\u003C\u002Fth>\n\u003Cth>Who is notified\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>A direct mention\u003C\u002Ftd>\n\u003Ctd>The person mentioned, if they can read the conversation.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A role mention, \u003Ccode>@channel\u003C\u002Fcode> or \u003Ccode>@here\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>The people it reaches who can read the conversation, up to 500. See \u003Ca href=\"\u002Fdocs\u002Fguides\u002Fchat#mentions\">mentions\u003C\u002Fa>.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A message in a Direct Message\u003C\u002Ftd>\n\u003Ctd>Every other participant.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A new Live session\u003C\u002Ftd>\n\u003Ctd>Other Members who can open its channel or Direct Message.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A call in a one-to-one Direct Message\u003C\u002Ftd>\n\u003Ctd>The other person.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>New email in a Mailbox&#39;s Inbox\u003C\u002Ftd>\n\u003Ctd>Everyone with a grant on the Mailbox and \u003Cstrong>Read email\u003C\u002Fstrong> or \u003Cstrong>Send email\u003C\u002Fstrong>. Spam and Trash stay quiet.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>A reminder you scheduled\u003C\u002Ftd>\n\u003Ctd>You. The reminder also stays unread for you.\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\u003C\u002Fdiv>\n\u003Cp>Ordinary channel messages that do not mention you do not send push notifications; they appear as unread in Chat and in your \u003Ca href=\"\u002Fdocs\u002Fguides\u002Fchat#inbox\">Inbox\u003C\u002Fa>. Joining, leaving and ending a Live session do not notify anyone. People who cannot read a conversation are never notified about it.\u003C\u002Fp>\n\u003Ch2 id=\"app-badge\">\u003Ca class=\"heading-anchor\" href=\"#app-badge\">App badge\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>When you install a Server as an app from its own address, each push also updates the app icon&#39;s badge with your count of unread conversations. Opening the app recalculates it. A message you read on another device updates the badge on the next push or launch.\u003C\u002Fp>\n\u003Ch2 id=\"notifications-and-the-shell\">\u003Ca class=\"heading-anchor\" href=\"#notifications-and-the-shell\">Notifications and the Shell\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Each Server sends its own notifications. Adding a Server to the \u003Ca href=\"\u002Fdocs\u002Fconcepts\u002Fserver-and-shell\">llll.gg Shell\u003C\u002Fa> does not change who is notified, and the Shell receives no message content.\u003C\u002Fp>\n\u003Ch2 id=\"for-operators\">\u003Ca class=\"heading-anchor\" href=\"#for-operators\">For operators\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>A Server&#39;s Web Push identity must stay stable: if it changes, existing subscriptions stop working and people need to select \u003Cstrong>Enable\u003C\u002Fstrong> again. You can configure the identity for the deployment yourself (\u003Ccode>VAPID_SUBJECT\u003C\u002Fcode>, \u003Ccode>VAPID_PUBLIC_KEY\u003C\u002Fcode> and \u003Ccode>VAPID_PRIVATE_KEY\u003C\u002Fcode>, all three). Recent Servers without that configuration create their own identity when notification settings are first opened, provided the Server has an HTTPS address or an administrator email, and store it encrypted with \u003Ccode>AUTH_SECRET\u003C\u002Fcode>. Keep that secret with your \u003Ca href=\"\u002Fdocs\u002Fcloudflare\u002Fbackups\">Backups\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2 id=\"related\">\u003Ca class=\"heading-anchor\" href=\"#related\">Related\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fguides\u002Fchat\">Chat\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fguides\u002Fcalls\">Calls and Live\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"\u002Fdocs\u002Fagents\u002Fschedules\">Schedules\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n",[13,17,20,23,26,29],{"id":14,"text":15,"depth":16},"turn-on-push-notifications","Turn on push notifications",2,{"id":18,"text":19,"depth":16},"what-notifies-you","What notifies you",{"id":21,"text":22,"depth":16},"app-badge","App badge",{"id":24,"text":25,"depth":16},"notifications-and-the-shell","Notifications and the Shell",{"id":27,"text":28,"depth":16},"for-operators","For operators",{"id":30,"text":31,"depth":16},"related","Related",[33,58,86,102,121,143,161],{"id":34,"title":35,"pages":36},"get-started","Get started",[37,40,43,46,49,52,55],{"title":38,"url":39},"What is L4","\u002Fdocs\u002Fget-started\u002Fwhat-is-l4",{"title":41,"url":42},"Choose how to run your Server","\u002Fdocs\u002Fget-started\u002Fchoose-how-to-run",{"title":44,"url":45},"Create a Server on Cloudflare","\u002Fdocs\u002Fget-started\u002Fcreate-on-cloudflare",{"title":47,"url":48},"Install on a VPS","\u002Fdocs\u002Fget-started\u002Finstall-on-a-vps",{"title":50,"url":51},"Connect to a Server","\u002Fdocs\u002Fget-started\u002Fconnect-a-server",{"title":53,"url":54},"Invite your team","\u002Fdocs\u002Fget-started\u002Finvite-your-team",{"title":56,"url":57},"Create your first Agent","\u002Fdocs\u002Fget-started\u002Ffirst-agent",{"id":59,"title":60,"pages":61},"cloudflare","Cloudflare",[62,65,68,71,74,77,80,83],{"title":63,"url":64},"L4 on Cloudflare","\u002Fdocs\u002Fcloudflare\u002Foverview",{"title":66,"url":67},"Cloudflare access","\u002Fdocs\u002Fcloudflare\u002Faccess",{"title":69,"url":70},"Costs and limits","\u002Fdocs\u002Fcloudflare\u002Fcosts-and-limits",{"title":72,"url":73},"Custom domain","\u002Fdocs\u002Fcloudflare\u002Fcustom-domain",{"title":75,"url":76},"Mail on Cloudflare","\u002Fdocs\u002Fcloudflare\u002Fmail",{"title":78,"url":79},"Update a Cloudflare Server","\u002Fdocs\u002Fcloudflare\u002Fupdates",{"title":81,"url":82},"Backups on Cloudflare","\u002Fdocs\u002Fcloudflare\u002Fbackups",{"title":84,"url":85},"Remove a Cloudflare Server","\u002Fdocs\u002Fcloudflare\u002Fremove-a-server",{"id":87,"title":88,"pages":89},"self-host","Self-host",[90,93,96,99],{"title":91,"url":92},"Run a Server on a VPS","\u002Fdocs\u002Fself-host\u002Fvps",{"title":94,"url":95},"Run a Server with Docker Compose","\u002Fdocs\u002Fself-host\u002Fdocker",{"title":97,"url":98},"Run a Server on Coolify","\u002Fdocs\u002Fself-host\u002Fcoolify",{"title":100,"url":101},"Compute Nodes","\u002Fdocs\u002Fself-host\u002Fcompute-nodes",{"id":103,"title":104,"pages":105},"concepts","Concepts",[106,109,112,115,118],{"title":107,"url":108},"Servers and the Shell","\u002Fdocs\u002Fconcepts\u002Fserver-and-shell",{"title":110,"url":111},"Accounts, Members and Roles","\u002Fdocs\u002Fconcepts\u002Faccounts-members-roles",{"title":113,"url":114},"Agents, Tasks and Runs","\u002Fdocs\u002Fconcepts\u002Fagents-tasks-runs",{"title":116,"url":117},"Files and backups","\u002Fdocs\u002Fconcepts\u002Ffiles-and-backups",{"title":119,"url":120},"Releases and updates","\u002Fdocs\u002Fconcepts\u002Freleases-and-updates",{"id":122,"title":123,"pages":124},"agents","Agents and MCP",[125,128,131,134,137,140],{"title":126,"url":127},"Agents overview","\u002Fdocs\u002Fagents\u002Foverview",{"title":129,"url":130},"Models and Providers","\u002Fdocs\u002Fagents\u002Fmodels-and-providers",{"title":132,"url":133},"Connect an MCP client","\u002Fdocs\u002Fagents\u002Fmcp",{"title":135,"url":136},"External agents","\u002Fdocs\u002Fagents\u002Fexternal-agents",{"title":138,"url":139},"Repositories and code work","\u002Fdocs\u002Fagents\u002Frepositories",{"title":141,"url":142},"Schedules","\u002Fdocs\u002Fagents\u002Fschedules",{"id":9,"title":10,"pages":144},[145,148,151,154,157,158],{"title":146,"url":147},"Chat","\u002Fdocs\u002Fguides\u002Fchat",{"title":149,"url":150},"Projects and Tasks","\u002Fdocs\u002Fguides\u002Fprojects-and-tasks",{"title":152,"url":153},"Mail","\u002Fdocs\u002Fguides\u002Fmail",{"title":155,"url":156},"Calls and Live","\u002Fdocs\u002Fguides\u002Fcalls",{"title":4,"url":6},{"title":159,"url":160},"Telegram","\u002Fdocs\u002Fguides\u002Ftelegram",{"id":162,"title":163,"pages":164},"reference","Reference",[165,168],{"title":166,"url":167},"Glossary","\u002Fdocs\u002Freference\u002Fglossary",{"title":169,"url":170},"Troubleshooting","\u002Fdocs\u002Freference\u002Ftroubleshooting",{"title":155,"url":156},{"title":159,"url":160},1793335826348]