Skip to content

Releases: ancsemi/Haven

v2.2.2 FORCE_HTTP, Auto-Assign Roles, Docker ARM Fix

Choose a tag to compare

@ancsemi ancsemi released this 21 Feb 18:31

Added

  • FORCE_HTTP mode set FORCE_HTTP=true in .env to 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

Choose a tag to compare

@ancsemi ancsemi released this 21 Feb 18:31

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

Choose a tag to compare

@ancsemi ancsemi released this 20 Feb 07:02

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

Choose a tag to compare

@ancsemi ancsemi released this 20 Feb 01:02

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

Choose a tag to compare

@ancsemi ancsemi released this 19 Feb 06:18

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

Choose a tag to compare

@ancsemi ancsemi released this 19 Feb 02:08

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

Choose a tag to compare

@ancsemi ancsemi released this 18 Feb 18:53

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:latest on 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

Choose a tag to compare

@ancsemi ancsemi released this 18 Feb 15:39
00be48d

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

Choose a tag to compare

@ancsemi ancsemi released this 18 Feb 00:40

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.bat handles 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 call keyword 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

Choose a tag to compare

@ancsemi ancsemi released this 17 Feb 08:23

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).