From bb1fc4c7bcd9730b774f2afb079b814c928c0b5a Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 6 Dec 2025 21:09:55 +0900 Subject: [PATCH] internal/pipewire: check pending ids after done This is not guaranteed to have completed after a roundtrip. This is leftover from when Roundtrip also sent and waited for sync. Signed-off-by: Ophestra --- internal/pipewire/core.go | 6 ++++++ internal/pipewire/pipewire.go | 8 -------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/internal/pipewire/core.go b/internal/pipewire/core.go index 4642bdb..6a8af0b 100644 --- a/internal/pipewire/core.go +++ b/internal/pipewire/core.go @@ -3,6 +3,8 @@ package pipewire import ( "errors" "fmt" + "maps" + "slices" "strconv" "time" ) @@ -373,6 +375,10 @@ func (core *Core) Sync() error { } } + if len(core.ctx.pendingIds) != 0 { + core.ctx.closeReceivedFiles() + return &ProxyFatalError{Err: UnacknowledgedProxyError(slices.Collect(maps.Keys(core.ctx.pendingIds))), ProxyErrs: core.ctx.cloneAsProxyErrors()} + } return core.ctx.doSyncComplete() } diff --git a/internal/pipewire/pipewire.go b/internal/pipewire/pipewire.go index 06f7fc6..907f854 100644 --- a/internal/pipewire/pipewire.go +++ b/internal/pipewire/pipewire.go @@ -18,7 +18,6 @@ import ( "encoding/binary" "fmt" "io" - "maps" "os" "runtime" "slices" @@ -601,13 +600,6 @@ func (ctx *Context) roundtrip() (err error) { err = &ProxyFatalError{Err: danglingFiles, ProxyErrs: ctx.cloneAsProxyErrors()} return } - - // this check must happen after everything else passes - if len(ctx.pendingIds) != 0 { - ctx.closeReceivedFiles() - err = &ProxyFatalError{Err: UnacknowledgedProxyError(slices.Collect(maps.Keys(ctx.pendingIds))), ProxyErrs: ctx.cloneAsProxyErrors()} - return - } }() var remaining []byte