From ef18838417487b6b74485634d7fe8bdefa733dfc Mon Sep 17 00:00:00 2001 From: santoshkumarradha Date: Mon, 2 Nov 2026 05:50:12 -0500 Subject: [PATCH 1/2] syncsetup: a window that takes its released chat back is a writer again When another computer takes a chat and then releases it (a failed install), this window's ownership check first meets the other holder and marks the hold lost. The next send reads the released lease, ConfirmWork reacquires it and clears the viewer line, but it left lost set, and Gate still refused every tool and send with 'another device continued this chat'. The lost flag came with the dev merge (#2099) next to an older reacquire path that only knew the viewer line. Reacquiring now clears both, as resumeViewer already does. --- internal/syncsetup/confirm_work.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/syncsetup/confirm_work.go b/internal/syncsetup/confirm_work.go index a1d661a3f8..31082b19d1 100644 --- a/internal/syncsetup/confirm_work.go +++ b/internal/syncsetup/confirm_work.go @@ -49,7 +49,7 @@ func (d *Drive) ConfirmWork(ctx context.Context) (bool, error) { return false, err } d.mu.Lock() - d.viewer = Viewer{} + d.viewer, d.lost = Viewer{}, false d.mu.Unlock() if err := d.recordSendLease(); err != nil { d.available() From 9e5b7feb3878acd92948bbdac7bb6205bf52cafd Mon Sep 17 00:00:00 2001 From: santoshkumarradha Date: Mon, 2 Nov 2026 05:50:40 -0500 Subject: [PATCH 2/2] docs: change entry for this pull request --- docs/changes/unreleased/2186-take-recovery-lost.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 docs/changes/unreleased/2186-take-recovery-lost.md diff --git a/docs/changes/unreleased/2186-take-recovery-lost.md b/docs/changes/unreleased/2186-take-recovery-lost.md new file mode 100644 index 0000000000..e5c2692bed --- /dev/null +++ b/docs/changes/unreleased/2186-take-recovery-lost.md @@ -0,0 +1,6 @@ +--- +kind: fixed +title: A window that takes its released chat back after a failed move accepts work again +pr: 2186 +surface: [app, chat] +---