diff options
| author | Ophestra <cat@gensokyo.uk> | 2025-12-06 21:09:55 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2025-12-06 21:09:55 +0900 |
| commit | bb1fc4c7bcd9730b774f2afb079b814c928c0b5a (patch) | |
| tree | 0400e5461a27233608d97a2b45ff2662b88cc17e | |
| parent | f44923da296720360e359016ac83c6a56deeb0f1 (diff) | |
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 <cat@gensokyo.uk>
| -rw-r--r-- | internal/pipewire/core.go | 6 | ||||
| -rw-r--r-- | 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 4642bdba..6a8af0ba 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 06f7fc6a..907f8543 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 |
