The first page of the setup wizard now offers Restore from a backup next to
Get Started. It takes a backup made with Messages ticked and brings back the
accounts, channels, messages, settings and (when included) uploaded files,
so there is no new admin to create and then import over. Data already on the
computer is kept as .pre-restore copies, a bad or partial backup is refused
before anything is touched, and the new .env names the restored admin. The
restore itself is installer/restore-backup.js, using the same extractor as a
restore from Settings.
The server pass covered try/catch blocks; these were promise .catch(() => {})
calls it did not look at. Presence polls (Steam, Spotify, Last.fm), webhook
redelivery, the emoji data refresh and relay viewer changes now log a warning
when they fail. The two queue chains that swallow on purpose (Ferry sends,
relay restarts) say so, since the caller already sees the error. In the bundled
plugins and the installer each catch now gives its reason or logs, and three
try blocks around calls that cannot throw are gone. Test cleanup is unchanged.
4.5.0 taught the server to make its certificate itself, but Start Haven.bat, Install Haven.ps1 and the web installer still went looking for openssl.exe first and reported a skipped certificate as done. They now call the same generator through scripts/gen-cert.js, the certificate carries the CA and server-auth flags phones expect when you import it, and the guide and support page stop telling people to install OpenSSL. Reported by MutantRabbit767.