Notifications
Keep your community in the loop. Zander shows players a notification bell for things like punishment updates, replies to their support tickets, and event announcements - similar to notifications on any social media site. It can also send browser push notifications, so players get an alert even when they don't have your website open.
📸 Screenshot: The /notifications page showing a list of unread notifications with timestamps and a mark-all-read button
For Players​
Viewing Notifications​
All your notifications are listed at /notifications (the 50 most recent, plus your unread count). The page shows each notification with a timestamp and a link to the relevant page. Clicking a notification marks it as read and takes you to the source.
A summary of up to 5 recent notifications (with unread count) is also available at /notifications/summary - this is used by the notification badge in the site header.
This inbox doesn't generate notifications on its own - it's a shared mailbox that other parts of Zander drop messages into whenever something happens that a player should know about, like a reply on their support ticket.
Browser Push Notifications​
You can opt in to browser push notifications to receive alerts even when the site is not open:
- Log in to your account.
- Go to your profile settings.
- Allow notifications when your browser prompts you.
Once subscribed, Zander will deliver push notifications directly to your browser for relevant activity on your account.
Push notifications require a modern browser with the Web Push API supported (Chrome, Firefox, Edge, Safari 16+). They also require VAPID_SUBJECT, VAPID_PUBLIC_KEY, and VAPID_PRIVATE_KEY to be configured in .env.
Managing Notifications​
From /notifications you can:
- Click any notification to mark it as read and navigate to the source
- Use Mark All as Read to clear the unread badge
- Dismiss individual notifications to remove them permanently, or use Clear All to remove everything at once
For Staff​
Configuration​
To turn on browser push notifications, you need to generate a set of security keys (called VAPID keys) that prove push messages are really coming from your site, and add them to your .env file:
| Variable | Description |
|---|---|
VAPID_SUBJECT | Contact email or URL (e.g. mailto:admin@example.com) |
VAPID_PUBLIC_KEY | VAPID public key - shared with browsers |
VAPID_PRIVATE_KEY | VAPID private key - kept secret on the server |
Generate a key pair using:
npx web-push generate-vapid-keys
Copy the output values into your .env file. VAPID keys are stable - you only need to generate them once per deployment.
Changing your VAPID keys invalidates all existing push subscriptions. Players will need to re-subscribe in their profile settings.
If you skip setting up the VAPID keys, players can still try to subscribe, but no push notifications will actually be sent. Subscriptions that go stale or get rejected (e.g. because a player uninstalled their browser or blocked notifications) are automatically cleaned up.
There's no admin dashboard page for notifications and no on/off switch for the feature as a whole - it's always available to logged-in players. Other Zander features create notifications automatically; there's nothing else for you to set up beyond the VAPID keys above.
The Watch/Creator Content module has its own, unrelated Discord-webhook notification path used to announce new streams/videos. Despite the similar name, it's a separate system from the in-app inbox described here - see Creator Content.