Releases: ancsemi/Haven
Releases · ancsemi/Haven
Release list
v2.2.2 FORCE_HTTP, Auto-Assign Roles, Docker ARM Fix
Added
- FORCE_HTTP mode set
FORCE_HTTP=truein.envto skip built-in SSL entirely, making reverse proxy setups (Caddy, nginx, Traefik) painless. Startup scripts also skip cert generation when enabled. - Auto-assign default roles roles can now be flagged as auto-assign in the admin panel. Flagged roles are automatically given to new users on registration and when joining a channel.
Fixed
- Docker ARM build failing replaced QEMU-based cross-compilation with native ARM runners and a manifest merge step so the multi-arch image builds reliably.
- HSTS header sent in HTTP mode Strict-Transport-Security is now disabled when FORCE_HTTP is active.
- window.app not exposed globally the main app instance is now assigned to
window.app, fixing integration hooks.
Changed
- Website and docs updated to v2.2.2.
v2.2.1 Mobile UI Fixes, TURN Credential Fix, File Upload Fix
Fixed
- Channel code hidden on mobile the channel code tag is now visible on tablet and phone.
- Logout icon broken on Android replaced Unicode power symbol with inline SVG.
- Mobile menu buttons missing on first load added early media query for hamburger/sidebar buttons.
- Status picker clipped on mobile switched to fixed positioning with JS-based placement.
- TURN credentials never fetched fixed localStorage key mismatch so voice chat works across networks.
- File upload type restrictions removed server no longer blocks by MIME type; client-side warning for risky extensions instead.
Changed
- Website and docs updated to v2.2.1.
v2.2.0 CRT Fishbowl Vignette, Inline YouTube Embeds, Emoji Quickbar Fix
Added
- CRT fishbowl vignette overlay simulates the convex glass of a classic CRT with parabolic vignette, curved edges, phosphor glow, and glass reflection highlight
- CRT vignette darkness slider controls how far darkness encroaches from edges and how dark it gets (0 = almost invisible, 100 = heavy CRT tunnel)
- CRT scanline intensity slider controls scanline opacity (080%) with lines that fade toward center via radial mask
- CRT flicker frequency range speed slider now maps to a wider flicker range (half the previous slowest, double the fastest)
- Inline YouTube embeds YouTube links in chat render an inline video player directly in the message (youtube.com, youtu.be, /shorts/, /embed/, music.youtube.com)
- Emoji quickbar flip-below quick-react picker detects viewport clipping and flips below the message
Fixed
- CRT vignette/scanline sliders not appearing sliders now injected directly into the effect speed editor block
- CRT vignette slider not working flicker animation no longer overrides inline opacity; vignette controls gradient directly
- Reaction picker clipping emoji quickbar for messages near top of chat no longer gets cut off
Changed
- Website, docs, README, CHANGELOG updated to v2.2.0
v2.1.0 E2E encryption fix, channel organizer improvements
Fixed
- E2E encryption multi-device key sync encrypted DM keys now stay in sync across multiple browsers and devices. Previously, logging in on a second device could cause key conflicts and break encryption for both sessions.
- E2E encryption infinite sync loop resolved a condition where two devices could repeatedly conflict with each other's keys, causing an endless cycle.
- Channel organizer category/tag sorting the Up/Down buttons for reordering category headers in the Organize modal now work correctly.
- Channel organizer channel sorting within groups moving channels up/down now correctly swaps within the visible tag group.
- Settings crash fixed a TypeError in server settings that could cause intermittent UI issues.
Changed
- E2E architecture improvements smarter key backup strategy prevents accidental overwrites when multiple devices are active. Cross-device sync notifications ensure all sessions stay current.
- Cache-busting client JS files now use version-based cache keys to prevent stale code after updates.
v2.0.1
Fixed
- Security: removed GUI installer wizard the cross-platform GUI installer (PR #26) could open browser tabs and break running servers on the host machine. Reverted entirely.
This is a security hotfix. If you installed v2.0.0, please update immediately.
Haven v2.0.0
NEW Import Your Discord History
Haven can now import your entire Discord server's message history directly from the app. No external tools, no command-line exports, no hassle.
Open Settings Import, connect with your Discord token, pick a server, select channels & threads, and import. Your community's history comes with you.
Added
- Discord history import Direct Connect paste your token, pick a server, select channels/threads, import. Supports text, announcement, forum, media channels, active + archived threads, and forum tags. Preserves messages, embeds, attachments, reactions, replies, pins, and Discord avatars.
- Discord history import File upload upload a DiscordChatExporter JSON or ZIP to import channel history.
- Tabbed import modal Upload File and Connect to Discord tabs.
- Discord avatar preservation imported messages show the original author's Discord avatar.
- Full server structure import announcement, forum, media channels plus threads with tag resolution.
- Channel type indicators # text, announcement, forum, media, thread.
Fixed
- E2E key loss on password change changing your password no longer orphans your encrypted DM backup. The key is automatically re-wrapped with the new password.
- Scroll-to-bottom loop images loading no longer yanks you back to the bottom when scrolled up.
- ARM64 Docker support (#34) Docker image builds and runs on ARM64 (Raspberry Pi, Apple Silicon).
Haven v1.9.2
Added
- Image lightbox click any image to view full-screen. Click anywhere or Escape to close.
- Image display mode compact thumbnails (default) or full-width Discord-style embeds in Settings > Layout.
- Emoji autocomplete type
:+ 2 chars to search emojis by name. Custom server emojis appear first. - Animated GIF avatars upload a GIF as your profile picture. Animates everywhere.
- Voice chat profile clicks click a username in the voice panel to open their profile popup.
- Auto-focus message input text box is automatically focused on channel/DM switch.
- Docker image publishing pre-built images pushed to
ghcr.io/ancsemi/haven:lateston every release.
Fixed
- Auto-cleanup deleting server assets (#32) cleanup now protects server icons, avatars, emojis, sounds, and webhook avatars.
v1.9.1 Custom Emojis, DM Deletion, Settings Nav, Quickbar Fixes
What's New in 1.9.1
Added
- Custom server emojis admins can upload PNG/GIF/WebP images as custom emojis (:emoji_name: syntax). Works in messages, reactions, and the emoji picker.
- Emoji quickbar customization click the gear icon on the reaction picker to swap any of the 8 quick-react slots with any emoji (including custom ones). Saved per-user in localStorage.
- DM deletion right-click (or click '...') on any DM conversation to delete it. Removes from your sidebar only.
- Reply banner click-to-scroll clicking the reply preview above a message now smooth-scrolls to the original message and highlights it briefly.
- Settings navigation sidebar the settings modal now has a left-side index with clickable categories (Layout, Sounds, Push, Password, and all admin subsections). Hidden on mobile.
- Popout modals for sounds & emojis Custom Sounds and Custom Emojis management moved out of the inline settings panel into their own dedicated modals (like Bots/Roles). Keeps the settings menu lean.
- JWT identity cross-check tokens are now validated against the actual database user, preventing token reuse across accounts (security hardening).
Fixed
- Docker entrypoint CRLF crash added .gitattributes to force LF line endings on shell scripts, plus a sed fallback in the Dockerfile.
- Quick emoji editor immediately closing click events inside the editor propagated to the document-level close handler. Added stopPropagation() to all interactive elements.
- Gear icon placement moved the customization button to the right of the more-emojis button so frequent clicks aren't blocked.
Full changelog: CHANGELOG.md
v1.9.0 Setup Wizard, One-Click Launcher, E2E Fix, Reactions
What's New in 1.9.0
Features
- First-time admin setup wizard 4-step guided onboarding: server name, create a channel, port check, invite code summary
- One-click Windows launcher
Start Haven.bathandles Node.js auto-install (v22 LTS), npm deps, SSL certs, and server start - Port reachability check admin endpoint tests if the server is accessible from the internet
- Full emoji reaction picker click the
...button on the reaction bar for a searchable panel with all emoji categories - Unified upload button merged image and file upload into one button (images preview, files upload directly)
- Input actions toolbar upload/emoji/GIF buttons wrapped in a styled backdrop with dividers
- Node.js version guard blocks Node >= 24 to prevent native module build failures
Fixes
- E2E encryption decrypt failures partner keys cached forever; now always re-fetched with stale cache invalidation
- DM messages pushed to right side lock icon layout bug in compact messages
- Reactions position inconsistent compact messages now use same structure as full messages
- Reactions lost on message promotion wrong CSS selector fixed
- Batch launcher crashes missing
callkeyword for npm, nested if blocks, dotenv check - Node v24 build failures installer pinned to Node 22 LTS (prebuilt binaries available)
Changed
- README restructured for non-technical users (Docker-first, FAQ sections)
- Website comparison table: added Fluxer column + updated screenshot
Full changelog: CHANGELOG.md
Haven v1.8.2
Fixed
- PiP reverted to native browser the in-page overlay is gone; native Picture-in-Picture is back (draggable to other screens). Overlay only used as fallback.
- YouTube playlist controls next, previous, shuffle now work for playlists. Embed URL preserves the list parameter so the IFrame API has context.
- YouTube auto-advance when a video ends in a playlist, the next one plays automatically instead of showing end-screen suggestions.
- Bot Updated toast was red was emitting through the error channel. Now uses a green success toast.
- Toast hidden behind modals z-index raised so notifications always show on top.
- Bot channel dropdown unordered channels now appear in server order with sub-channels indented.
- Uncategorized DMs not collapsible now collapses on click with state saved, matching tagged categories.
- HTTPS redirect hardcoded to localhost remote users were redirected to their own machine instead of the server host.
- Duplicate avatar upload route removed dead duplicate handler, added missing 2 MB size check.
- Duplicate get-webhooks handler global and per-channel handlers no longer conflict.
- E2E safety number only 30 digits switched from SHA-256 to SHA-512 for the full 60-digit verification code.
- Repo bloat from SWF files in history purged ~37 MB of Flash ROM files from git history. Repo zip is back to ~5 MB.
Added
- Release tarball with fixed directory name each release now includes a haven.tar.gz that always extracts to haven/ with no version in the path (closes #22).