# WebSocket Notifications Real-time notifications for resource changes using the solid-0.1 protocol (SolidOS compatible). ```bash jss start --notifications ``` ## Discovery Clients discover the WebSocket URL via the `Updates-Via` header: ```bash curl -I http://localhost:4443/alice/public/ # Updates-Via: ws://localhost:4443/.notifications ``` ## Protocol ``` Server: protocol solid-0.1 Client: sub http://localhost:4443/alice/public/data.json Server: ack http://localhost:4443/alice/public/data.json Server: pub http://localhost:4443/alice/public/data.json (on change) ``` ## How It Works 1. Client connects to the WebSocket URL from `Updates-Via` 2. Server sends `protocol solid-0.1` greeting 3. Client subscribes: `sub ` 4. Server acknowledges: `ack ` 5. On any change (PUT, PATCH, DELETE), server broadcasts: `pub ` 6. Container subscriptions also fire when child resources change ## ACL Enforcement - Anonymous clients can subscribe to public resources - Private resource subscriptions require authentication - Cross-origin subscriptions are rejected ## Live Reload For development, `--live-reload` injects a script that auto-refreshes the browser when files change on disk: ```bash jss start --live-reload --notifications ``` File system changes (editing files directly) also trigger WebSocket notifications.