Edit history

Earlier versions of Flatpak+AppImage: Being moved to another voice channel causes disconnect (Connection terminated {reason: 'error'}), newest first.

Current version | Edited by Rex
Changes
The failure occurs ~1 second after `[VoiceConnectionManager] Initializing voice connection`. Subscriptions and tracking are immediately cleaned up, followed by `Connection terminated {reason: 'error'}`. A stray `publishing track` then fires with `trackID: undefined` on a different roomID. Tested `flatpak run --device=all` and that does not fix the issue. The web client handles the same `aVOICE_SERVER_UPDATE` flow without any errors.Removed: ### ChecksRemoved: Removed: - ☑ I searched for existing issues and didn't find a duplicate.Removed:
Show

Flatpak+AppImage: Being moved to another voice channel causes disconnect (Connection terminated {reason: 'error'})

Summary

When any user (and bots) with Move Members permission moves me to another voice channel, the Flatpak+AppImage client disconnects from VC entirely instead of reconnecting to the new channel. The web version handles this correctly. This is reproducible with any server-initiated move by a user.

Steps to reproduce

  1. Join a voice channel on the Flatpak or AppImage client
  2. Have another user with Move Members permission drag you to a different voice channel
  3. Client disconnects entirely instead of joining the new channel

Environment (optional)

  • OS: KDE Plasma + CachyOS
  • Client: Fluxer Desktop (Flatpak build + AppImage)
  • Web Version (web.fluxer.app): works correctly

Logs or screenshots (optional)

Logger.tsx:131 [11:42:27] [VoiceConnectionManager] [Info] VOICE_SERVER_UPDATE: server-initiated channel move {expectedChannelId: '1484051274592260409', incomingChannelId: '1484051529215836948', connectionId: 'nilgiri-barometric'}
Logger.tsx:131 [11:42:27] [VoiceSubscriptionManager] [Info] All subscriptions cleaned up
Logger.tsx:131 [11:42:27] [MediaEngineFacade] [Info] All tracking stopped
Logger.tsx:131 [11:42:27] [VoiceConnectionManager] [Info] Attempting to connect to LiveKit {endpoint: 'wss://601565d.nue.fluxer.media', guildId: '1484051274592260405', channelId: '1484051529215836948'}
console.js:36 disconnect from room {room: 'guild_1484051274592260405_channel_1484051274592260409', roomID: 'RM_7jHyzaqLzc2B', participant: 'user_1471908307644801048_nilgiri-barometric', pID: 'PA_FXjWPBi5SfSu'}
Logger.tsx:131 [11:42:28] [VoiceParticipantManager] [Info] Hydrated participants {count: 1}
Logger.tsx:131 [11:42:28] [VoicePermissionManager] [Info] Complete {deafened: false, participantCount: 0}
Logger.tsx:131 [11:42:28] [VoiceConnectionManager] [Info] Connection established
Logger.tsx:131 [11:42:28] [RouterUtils] [Info] transitionTo /channels/1484051274592260405/1484051529215836948
Logger.tsx:131 [11:42:28] [VoiceSubscriptionManager] [Info] All subscriptions cleaned up
Logger.tsx:131 [11:42:28] [VoiceSubscriptionManager] [Info] Room set {participantCount: 0}
Logger.tsx:131 [11:42:28] [VoicePermissionManager] [Info] Complete {participantCount: 0}
Logger.tsx:131 [11:42:28] [MediaEngineFacade] [Info] All tracking started
Logger.tsx:131 [11:42:28] [VoiceConnectionManager] [Info] LiveKit connection succeeded
Logger.tsx:131 [11:42:28] [VoiceConnectionManager] [Info] Initializing voice connection
console.js:36 publishing track {room: 'guild_1484051274592260405_channel_1484051529215836948', roomID: 'RM_rKBRuhcZUgFJ', participant: 'user_1471908307644801048_nilgiri-barometric', pID: 'PA_JrGMZPN4xSpd', trackID: undefined, …}
Logger.tsx:131 [11:42:28] [VoiceSubscriptionManager] [Info] All subscriptions cleaned up
Logger.tsx:131 [11:42:28] [MediaEngineFacade] [Info] All tracking stopped
Logger.tsx:131 [11:42:28] [VoiceConnectionManager] [Info] Connection terminated {reason: 'error'}
Logger.tsx:131 [11:42:28] [VoiceMediaManager] [Info] Successfully enabled microphone
Logger.tsx:131 [11:42:28] [VoicePermissionManager] [Info] Started permission watching {guildId: '1484051274592260405', channelId: '1484051529215836948'}
The failure occurs ~1 second after [VoiceConnectionManager] Initializing voice connection. Subscriptions and tracking are immediately cleaned up, followed by Connection terminated {reason: 'error'}. A stray publishing track then fires with trackID: undefined on a different roomID. Tested flatpak run --device=all and that does not fix the issue. The web client handles the same aVOICE_SERVER_UPDATE flow without any errors.
Original by Rex
Show

Flatpak+AppImage: Being moved to another voice channel causes disconnect (Connection terminated {reason: 'error'})

Summary

When any user (and bots) with Move Members permission moves me to another voice channel, the Flatpak+AppImage client disconnects from VC entirely instead of reconnecting to the new channel. The web version handles this correctly. This is reproducible with any server-initiated move by a user.

Steps to reproduce

  1. Join a voice channel on the Flatpak or AppImage client
  2. Have another user with Move Members permission drag you to a different voice channel
  3. Client disconnects entirely instead of joining the new channel

Environment (optional)

  • OS: KDE Plasma + CachyOS
  • Client: Fluxer Desktop (Flatpak build + AppImage)
  • Web Version (web.fluxer.app): works correctly

Logs or screenshots (optional)

Logger.tsx:131 [11:42:27] [VoiceConnectionManager] [Info] VOICE_SERVER_UPDATE: server-initiated channel move {expectedChannelId: '1484051274592260409', incomingChannelId: '1484051529215836948', connectionId: 'nilgiri-barometric'}
Logger.tsx:131 [11:42:27] [VoiceSubscriptionManager] [Info] All subscriptions cleaned up
Logger.tsx:131 [11:42:27] [MediaEngineFacade] [Info] All tracking stopped
Logger.tsx:131 [11:42:27] [VoiceConnectionManager] [Info] Attempting to connect to LiveKit {endpoint: 'wss://601565d.nue.fluxer.media', guildId: '1484051274592260405', channelId: '1484051529215836948'}
console.js:36 disconnect from room {room: 'guild_1484051274592260405_channel_1484051274592260409', roomID: 'RM_7jHyzaqLzc2B', participant: 'user_1471908307644801048_nilgiri-barometric', pID: 'PA_FXjWPBi5SfSu'}
Logger.tsx:131 [11:42:28] [VoiceParticipantManager] [Info] Hydrated participants {count: 1}
Logger.tsx:131 [11:42:28] [VoicePermissionManager] [Info] Complete {deafened: false, participantCount: 0}
Logger.tsx:131 [11:42:28] [VoiceConnectionManager] [Info] Connection established
Logger.tsx:131 [11:42:28] [RouterUtils] [Info] transitionTo /channels/1484051274592260405/1484051529215836948
Logger.tsx:131 [11:42:28] [VoiceSubscriptionManager] [Info] All subscriptions cleaned up
Logger.tsx:131 [11:42:28] [VoiceSubscriptionManager] [Info] Room set {participantCount: 0}
Logger.tsx:131 [11:42:28] [VoicePermissionManager] [Info] Complete {participantCount: 0}
Logger.tsx:131 [11:42:28] [MediaEngineFacade] [Info] All tracking started
Logger.tsx:131 [11:42:28] [VoiceConnectionManager] [Info] LiveKit connection succeeded
Logger.tsx:131 [11:42:28] [VoiceConnectionManager] [Info] Initializing voice connection
console.js:36 publishing track {room: 'guild_1484051274592260405_channel_1484051529215836948', roomID: 'RM_rKBRuhcZUgFJ', participant: 'user_1471908307644801048_nilgiri-barometric', pID: 'PA_JrGMZPN4xSpd', trackID: undefined, …}
Logger.tsx:131 [11:42:28] [VoiceSubscriptionManager] [Info] All subscriptions cleaned up
Logger.tsx:131 [11:42:28] [MediaEngineFacade] [Info] All tracking stopped
Logger.tsx:131 [11:42:28] [VoiceConnectionManager] [Info] Connection terminated {reason: 'error'}
Logger.tsx:131 [11:42:28] [VoiceMediaManager] [Info] Successfully enabled microphone
Logger.tsx:131 [11:42:28] [VoicePermissionManager] [Info] Started permission watching {guildId: '1484051274592260405', channelId: '1484051529215836948'}
The failure occurs ~1 second after [VoiceConnectionManager] Initializing voice connection. Subscriptions and tracking are immediately cleaned up, followed by Connection terminated {reason: 'error'}. A stray publishing track then fires with trackID: undefined on a different roomID. Tested flatpak run --device=all and that does not fix the issue. The web client handles the same aVOICE_SERVER_UPDATE flow without any errors.

Checks

  • ☑ I searched for existing issues and didn't find a duplicate.