Compare commits

..

1 Commits

Author SHA1 Message Date
Daniel Lorch f439ec8444
Merge af6636ce81 into 8527b1eff1 2025-08-19 15:44:08 +00:00
2 changed files with 2 additions and 15 deletions

View File

@ -30,7 +30,7 @@ export function JigglerSetting({
}, },
); );
const { send } = useJsonRpc(); const [send] = useJsonRpc();
const [timezones, setTimezones] = useState<string[]>([]); const [timezones, setTimezones] = useState<string[]>([]);
useEffect(() => { useEffect(() => {

View File

@ -23,7 +23,6 @@ type Session struct {
HidChannel *webrtc.DataChannel HidChannel *webrtc.DataChannel
DiskChannel *webrtc.DataChannel DiskChannel *webrtc.DataChannel
shouldUmountVirtualMedia bool shouldUmountVirtualMedia bool
rpcQueue chan webrtc.DataChannelMessage
} }
type SessionConfig struct { type SessionConfig struct {
@ -106,12 +105,6 @@ func newSession(config SessionConfig) (*Session, error) {
return nil, err return nil, err
} }
session := &Session{peerConnection: peerConnection} session := &Session{peerConnection: peerConnection}
session.rpcQueue = make(chan webrtc.DataChannelMessage, 256)
go func() {
for msg := range session.rpcQueue {
onRPCMessage(msg, session)
}
}()
peerConnection.OnDataChannel(func(d *webrtc.DataChannel) { peerConnection.OnDataChannel(func(d *webrtc.DataChannel) {
scopedLogger.Info().Str("label", d.Label()).Uint16("id", *d.ID()).Msg("New DataChannel") scopedLogger.Info().Str("label", d.Label()).Uint16("id", *d.ID()).Msg("New DataChannel")
@ -119,8 +112,7 @@ func newSession(config SessionConfig) (*Session, error) {
case "rpc": case "rpc":
session.RPCChannel = d session.RPCChannel = d
d.OnMessage(func(msg webrtc.DataChannelMessage) { d.OnMessage(func(msg webrtc.DataChannelMessage) {
// Enqueue to ensure ordered processing go onRPCMessage(msg, session)
session.rpcQueue <- msg
}) })
triggerOTAStateUpdate() triggerOTAStateUpdate()
triggerVideoStateUpdate() triggerVideoStateUpdate()
@ -194,11 +186,6 @@ func newSession(config SessionConfig) (*Session, error) {
if session == currentSession { if session == currentSession {
currentSession = nil currentSession = nil
} }
// Stop RPC processor
if session.rpcQueue != nil {
close(session.rpcQueue)
session.rpcQueue = nil
}
if session.shouldUmountVirtualMedia { if session.shouldUmountVirtualMedia {
err := rpcUnmountImage() err := rpcUnmountImage()
scopedLogger.Warn().Err(err).Msg("unmount image failed on connection close") scopedLogger.Warn().Err(err).Msg("unmount image failed on connection close")