Update ghcr.io/ancsemi/haven Docker tag in stack haven from 4.14.0 to v4.15.0 #538

Merged
Kevin merged 1 commit from renovate/ghcr.io-ancsemi-haven-4.x into main 2026-09-28 07:54:25 -04:00
Collaborator

This PR contains the following updates:

Package Update Change
ghcr.io/ancsemi/haven minor 4.14.0 → 4.15.0

Release Notes

ancsemi/Haven (ghcr.io/ancsemi/haven)

v4.15.0

Compare Source

Haven gets ready for big communities. A new Large Server Setup page in admin
settings holds a built-in voice relay: install it with one button, switch it
on, and calls (screen shares especially) are no longer limited by everyone's
upload. Member lists, channel lists and notifications now cope with thousands
of people. Also: import a Discord server's history with your Ferry bot, and
files from encrypted DMs are cleaned up when the DM is deleted.

Added
  • Large Server Setup, a new page in admin settings for servers meant to grow big. Its centrepiece is the voice relay: switched on, each person in a call sends their voice and video once, to the server, which passes it on, so calls are no longer limited by everyone's upload (direct calls start struggling past about ten people). It runs inside Haven: one Install button downloads it (about 10 MB, once), it needs one port opened, and it finds the server's public address by itself. Microphone, camera and screen share all go through it. A screen share's video only goes to people who have it open, in full or half size depending on each viewer's connection; bots and apps that don't support it yet still connect directly in the same call, and calls recover on their own after a server restart. Relayed calls pass through the server, so unlike direct calls the person running it could in principle listen in; the page says so. Off by default. The page also points to the other settings a big server should look at. A LiveKit option for people who run their own LiveKit server is planned.
  • Import a Discord server's history with your Ferry bot: Settings, Import Discord History, Connect to Discord, "Use my Ferry bot". Nothing to paste, and it's within Discord's rules. Channels the bot can't see are skipped and named, and a bot missing Discord's Message Content setting gets told how to turn it on. The guide walks through it step by step.
Fixed
  • Files sent in encrypted DMs are removed when the message or the DM is deleted, instead of staying on the server's disk (#​5699). Deleted messages are also blanked out in the database file straight away.
  • Push notifications: a push service that stops answering no longer holds up everyone else's notifications, each account keeps up to 10 registered devices, and signing up for notifications from the web checks the address the same way the app always has.
  • Discord import: a reaction whose emoji has no name shows a question mark instead of garbled text.
Changed
  • The Docker image is now based on Debian slim instead of Alpine, so the voice relay can be installed in Docker too. Nothing to do when updating; to use the relay, uncomment its port lines in docker-compose.yml.
  • Big servers hold up far better. Measured with a new load tester (node scripts/loadtest.js --users 1000), which runs a throwaway server with fake people and reports how it copes:
    • Member lists now send only what changed ("Bob came online") instead of the whole list to everyone, and changes in a channel are gathered up and sent together. With 200 people, everyone arriving went from 700 MB of traffic to 10 MB, and 20 status changes from 195 MB to 1 MB. Older apps still get whole lists.
    • Refreshing everyone's channel list (when a channel is added, renamed or moved) no longer freezes the server: with 2500 people and 31 channels, the worst pause went from 6.8 seconds to 0.04.
    • Push notifications go out through a queue. With 3000 members away and a busy chat, the server used to fall half a minute behind and deliver nothing; now it keeps up and every away member is notified within about a second.
  • Signing in to the Discord import with your personal Discord login is now tucked away under "not recommended", behind a warning (it goes against Discord's rules, and a leaked token is a stolen account) and a box you tick to say you understand. The guide no longer describes it.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/ancsemi/haven](https://github.com/ancsemi/Haven) | minor | `4.14.0` → `4.15.0` | --- ### Release Notes <details> <summary>ancsemi/Haven (ghcr.io/ancsemi/haven)</summary> ### [`v4.15.0`](https://github.com/ancsemi/Haven/blob/HEAD/CHANGELOG.md#4150---2026-09-27) [Compare Source](https://github.com/ancsemi/Haven/compare/v4.14.0...v4.15.0) Haven gets ready for big communities. A new Large Server Setup page in admin settings holds a built-in voice relay: install it with one button, switch it on, and calls (screen shares especially) are no longer limited by everyone's upload. Member lists, channel lists and notifications now cope with thousands of people. Also: import a Discord server's history with your Ferry bot, and files from encrypted DMs are cleaned up when the DM is deleted. ##### Added - Large Server Setup, a new page in admin settings for servers meant to grow big. Its centrepiece is the voice relay: switched on, each person in a call sends their voice and video once, to the server, which passes it on, so calls are no longer limited by everyone's upload (direct calls start struggling past about ten people). It runs inside Haven: one Install button downloads it (about 10 MB, once), it needs one port opened, and it finds the server's public address by itself. Microphone, camera and screen share all go through it. A screen share's video only goes to people who have it open, in full or half size depending on each viewer's connection; bots and apps that don't support it yet still connect directly in the same call, and calls recover on their own after a server restart. Relayed calls pass through the server, so unlike direct calls the person running it could in principle listen in; the page says so. Off by default. The page also points to the other settings a big server should look at. A LiveKit option for people who run their own LiveKit server is planned. - Import a Discord server's history with your Ferry bot: Settings, Import Discord History, Connect to Discord, "Use my Ferry bot". Nothing to paste, and it's within Discord's rules. Channels the bot can't see are skipped and named, and a bot missing Discord's Message Content setting gets told how to turn it on. The guide walks through it step by step. ##### Fixed - Files sent in encrypted DMs are removed when the message or the DM is deleted, instead of staying on the server's disk ([#&#8203;5699](https://github.com/ancsemi/Haven/issues/5699)). Deleted messages are also blanked out in the database file straight away. - Push notifications: a push service that stops answering no longer holds up everyone else's notifications, each account keeps up to 10 registered devices, and signing up for notifications from the web checks the address the same way the app always has. - Discord import: a reaction whose emoji has no name shows a question mark instead of garbled text. ##### Changed - The Docker image is now based on Debian slim instead of Alpine, so the voice relay can be installed in Docker too. Nothing to do when updating; to use the relay, uncomment its port lines in docker-compose.yml. - Big servers hold up far better. Measured with a new load tester (`node scripts/loadtest.js --users 1000`), which runs a throwaway server with fake people and reports how it copes: - Member lists now send only what changed ("Bob came online") instead of the whole list to everyone, and changes in a channel are gathered up and sent together. With 200 people, everyone arriving went from 700 MB of traffic to 10 MB, and 20 status changes from 195 MB to 1 MB. Older apps still get whole lists. - Refreshing everyone's channel list (when a channel is added, renamed or moved) no longer freezes the server: with 2500 people and 31 channels, the worst pause went from 6.8 seconds to 0.04. - Push notifications go out through a queue. With 3000 members away and a busy chat, the server used to fall half a minute behind and deliver nothing; now it keeps up and every away member is notified within about a second. - Signing in to the Discord import with your personal Discord login is now tucked away under "not recommended", behind a warning (it goes against Discord's rules, and a leaked token is a stolen account) and a box you tick to say you understand. The guide no longer describes it. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJtaW5vciIsInJlbm92YXRlIl19-->
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-09-28 01:02:55 -04:00
Kevin merged commit f797c4da6f into main 2026-09-28 07:54:25 -04:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Kevin/docker-l2!538
No description provided.