Ripcord Dev Logo Ripcord Development — View Ticket Login or Create Account
Ticket UUID: 77438a839e27afc8390ef1d796e2d878d93fa3a1
Title: Terminating the Ripcord process while in a voice channel leaves a ghost
Status: Open Type: Bug
Severity: Minor Priority: Low
Subsystem: Discord Resolution: Open
Last Modified: 2019-04-30 11:58:59
Version Found In: 0.4.2
wyse2019-04-24 00:05:24

When you are in a Discord voice channel and terminate the Ripcord process through external means (Windows task manager end process, SIGKILL, OS restart/shutdown, etc.) it leaves a ghost in the channel which apparently can only be seen by Ripcord itself; eventually, after a few minutes, the ghost will timeout.

However if you attempt to re-join the voice channel while your ghost is still active everyone in the channel won't be able to hear you, even though you can hear them just fine. This can be circumvented either by using a different channel or waiting for the ghost to timeout.

Personally I find this quite annoying when rebooting to a different partition to switch OS.

Steps to reproduce (Windows):

  • Start Ripcord
  • Join a Discord voice channel
  • End Ripcord process through task manager
  • Start Ripcord again
  • You (or rather, your ghost) will still show as connected in the voice channel
  • Re-join the voice channel
  • The user count icon will show "2", even though it's just you and your ghost
  • If any other users are connected to the same voice channel they will be able to tell that you joined, they won't see your ghost, but they won't hear you, while you will still be able to hear them.
boowah2019-04-30 11:58:59

Just to note here: the "ghost" thing is intended per Discord voice API, that's for cases when you get disconnects, in about two minutes your client can seamlessly resume the connection, so nobody in the channel will get a blink sound. https://discordapp.com/developers/docs/topics/voice-connections#resuming-voice-connection

The killing of process is no different from the network disconnect from Discord's side, in both cases the connection terminates unexpectedly and Discord counts two minutes waiting till new connection is established, leaving the ghost in channel.

Turns out the Ripcord does not resume connection correctly ('cause the different event is received?) after restart and that's why nobody can hear you until you connect to the other channel, which will force the previous voice session on the same guild to terminate, or wait till the ghost times out, which means the previous session is expired due to no heartbeat.