Genesys Cloud SDK microphone mute state not updating

The mute method on the CallSession object returns successfully, but the UI still shows the mic as active. We are using the Embeddable Client App SDK to build a custom agent desktop. Here is the code block triggering the action:

const callSession = this.client.call.callSession;
try {
 await callSession.mute(true);
 console.log('Mute sent');
} catch (e) {
 console.error(e);
}

The promise resolves without error. We see the callState change to mute in the debug logs, yet the visual indicator doesn’t flip. Is there a specific event listener we need to hook into for the SDK to reflect the local mute state? The documentation mentions onMute, but it doesn’t seem to fire for local actions. We’ve tried forcing a re-render of the component but it’s messy. What is the clean way to sync the UI with the SDK state here?