jamulussoftware / jamulussoftware/jamulus

Connection status client and gui can get out of sync.

Open
#2,519 3 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C
Stars
1.1k
Forks
248
Avg merge
2d 3h
Merged PRs (30d)
9

Description

**Describe the bug**

There are several occasions where Client connection and GUI can get out of sync.
If this is the case the gui will show connected state (and disconnect button) while still connected or the gui will show disconnected state (and connect button) while not connected.
Also there are cases where GUI shows the "Disconnect" button, but opens the "Connect" dialog when pressed.

**To Reproduce**

This mostly happens when you change to an invalid device while connected.
It also happens in other cases of device errors but these are harder to reproduce.

**Expected behavior**

GUI should always show the correct state.

**Screenshots**

**Operating system**

**Version of Jamulus**
All Jamulus versions

**Additional context**

I finally found the problem (after a long time), And there are two causes:
1: Connect/Disconnect is implemented in the CClientDlg code, with a lot of calls to CClient (Doesn't belong here, since this is not GUI functionality.)
2: Some functions in CCLient have ambiguous names, so wrong functions are used to check if connected (actually checking Sound.IsStarted)

This issue will be solved in my "sound re-design" repo.

Contributor guide

Open the contributing guide

Research direction

Start by tracing connection and disconnect handling between CClientDlg and CClient, focusing on invalid-device and other device-error paths. Verify which connection checks drive the GUI state and buttons; done means the GUI consistently reflects the actual connection and opens the correct connect or disconnect action. The issue notes that work has moved to a sound re-design repo.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.