coyim / coyim

coyim - a safe and secure chat client

Home Page:https://coy.im

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

As a multi-user chat room participant I want the connection to my room with nickname and password to automatically be restored when I lose and regain connection in order to avoid manually having to enter again

olabiniV2 opened this issue · comments

Currently, if you lose connection and then regain it, you will get thrown out to the lobby, and you'll have to enter again. This is frustrating, but can also mean that you lose a lot of conversation if you're away from the computer for an extended amount of time.

This behavior ONLY covers rooms that are password protected. In this situation, when I regain connection, I would like Coy to automatically try to enter the room again with the same nickname and password I used before. If this fails, it's OK that I get put in the lobby to correct the problem.

From a security standpoint, the risk of keeping the room password in memory is not a deal-breaker. We do the same with other kinds of passwords, and the threat model of CoyIM is not set up to protect against attackers that can read the local process memory for Coy.

This is not working yet

Working in this issue we noticed some GTK-Critical warnings when switching from the room-lobby to the room-main view by using gtk_container_remove. Thereby the container keeps unnecessarily referencing the removed widgets (see: https://docs.gtk.org/gtk3/method.Container.remove.html).

Instead of adding/removing room components, we can initialize the room-window with both the room-lobby and room-main components and then handle their visibility with Show and Hide methods. Thus, the window-container will always reference the same room components.

Approved in user-test

OK