Repository navigation
Releases: Azmekk/Den
Releases · Azmekk/Den
Release list
0.5.10
0.5.9
v0.5.9 Fix desktop app not hearing voice participants by bypassing Web Audio…
0.5.7
v0.5.7 Fix DM notifications triggering for own messages
0.5.4
Fix one-way audio by subscribing late joiners to existing tracks Replace static forwarder with dynamic activeForwarder that supports adding subscribers while running. AddParticipant now subscribes new users to all existing published tracks in the room.
0.5.3
v0.5.3 Fix cross-network voice by adding PUBLIC_IP NAT traversal and compreh…
0.5.2
v0.5.2 Add unified settings page with improved 2FA, change password, and QR …
0.5.1
Fix screen share renegotiation, add deafen and server-wide voice state - Fix screen share not working mid-call by triggering SDP renegotiation after addTrack/removeTrack - Fix speaking indicators broadcast to target voice channel participants instead of text channel subscribers - Track muted/deafened/streaming per-user in hub voice state and broadcast globally so all clients see status - Add deafen toggle that mutes incoming audio and auto-mutes outgoing, with headphone icon in UI
0.4.1
v0.4.1 Disable per-request logging middleware to reduce log noise
0.3.3
Fix presence and voice state race condition on WebSocket connect The $effect safety net in +layout.svelte could trigger websocket.connect() during auth.init() (when session is set but fetchDenUser() is still awaiting), causing presence_initial and voice_state_initial messages to arrive before any listeners were registered, silently dropping them. Fix by registering all global WebSocket listeners (presence + voice state) at the top of onMount before auth.init(), and guarding the $effect with a ready check to prevent premature connections.
0.3.2
Add mandatory full-screen update page for desktop app Replace the broken update banner with a dedicated update.html that takes over the entire app when an update is detected. Caches update state in the main process and re-sends it on page load to fix the race condition where events fired before listeners were registered.