Jinwoo Hong
8f15f217a2
Preserve user-set workspace names across branch changes ( #17448 )
...
* fix(worktrees): preserve user workspace names across branch changes
* test(worktrees): cover pinned rename metadata
* fix(workspaces): address display-name review edge cases
* fix(workspaces): keep automatic names fresh across refreshes
* fix(workspaces): preserve legacy CLI labels
* fix(workspaces): preserve display-name provenance across hosts
* fix(workspaces): honor legacy display-name provenance
* fix(workspaces): fence display-name refresh races
* fix(workspaces): accept peer renames from provenance-less hosts
The old-host preserve fence kept a pinned local label on every refresh,
which also suppressed a legitimate rename another client persisted
through the same host until app restart. Narrow it to labels the host
re-derived itself (branch short name, or path basename when detached);
any other changed label in a mode-less response is explicit meta a peer
wrote there. Stale prior-label responses stay covered by the downstream
staleness fence, in-flight writes by the pending fence.
* refactor(workspaces): unify display-name pin derivation
Three call sites (renderer optimistic update, local IPC updateMeta
handler, remote worktree.set handler) each restated the same formula;
a future edit to one would silently skew provenance between paths.
2026-08-31 19:08:05 -04:00
..
2026-08-31 19:08:05 -04:00
2026-08-31 19:08:05 -04:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-08-30 14:10:36 -07:00
2026-07-20 18:55:45 -07:00
2026-08-13 20:44:16 -07:00
2026-08-30 14:10:36 -07:00
2026-08-09 14:55:31 -07:00
2026-08-13 20:44:16 -07:00
2026-05-21 20:26:07 -07:00
2026-05-21 20:26:07 -07:00
2026-08-13 22:48:24 -07:00
2026-08-09 14:55:31 -07:00
2026-08-09 14:55:31 -07:00
2026-08-09 14:55:31 -07:00
2026-08-09 14:55:31 -07:00
2026-05-21 20:26:07 -07:00
2026-05-21 20:26:07 -07:00
2026-06-03 11:06:43 -07:00
2026-06-03 11:06:43 -07:00
2026-08-30 19:02:14 -07:00
2026-08-13 22:48:24 -07:00
2026-05-21 20:26:07 -07:00
2026-07-13 15:38:02 -07:00
2026-07-30 13:29:41 -07:00
2026-08-13 22:48:24 -07:00
2026-07-13 15:38:02 -07:00
2026-07-13 15:38:02 -07:00
2026-05-31 02:27:58 -07:00
2026-05-31 02:27:58 -07:00
2026-08-05 13:32:58 -07:00
2026-08-04 16:06:37 -07:00
2026-05-30 11:05:58 -07:00
2026-07-13 15:38:02 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-31 19:08:05 -04:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 19:02:14 -07:00
2026-05-30 11:05:58 -07:00
2026-06-07 19:57:52 -07:00
2026-06-07 19:57:52 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-13 22:48:24 -07:00
2026-08-13 22:48:24 -07:00
2026-07-13 15:38:02 -07:00
2026-08-13 22:48:24 -07:00
2026-08-28 15:45:54 -07:00
2026-07-20 18:55:45 -07:00
2026-08-13 22:48:24 -07:00
2026-07-13 15:38:02 -07:00
2026-08-13 22:48:24 -07:00
2026-08-31 19:08:05 -04:00
2026-08-31 19:08:05 -04:00
2026-05-21 20:26:07 -07:00
2026-05-21 20:26:07 -07:00
2026-08-09 14:55:31 -07:00
2026-08-09 14:55:31 -07:00
2026-08-13 22:48:24 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-31 19:08:05 -04:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-30 14:10:36 -07:00
2026-08-04 16:06:37 -07:00
2026-08-28 15:45:54 -07:00
2026-07-13 15:38:02 -07:00
2026-07-13 15:38:02 -07:00
2026-05-30 18:58:55 -07:00
2026-08-13 22:48:24 -07:00
2026-08-31 19:08:05 -04:00
2026-08-31 19:08:05 -04:00
2026-05-21 20:26:07 -07:00
2026-05-21 20:26:07 -07:00
2026-05-31 21:32:37 -07:00
2026-08-27 16:02:38 -07:00
2026-08-27 16:02:38 -07:00
2026-08-27 16:02:38 -07:00
2026-08-31 19:08:05 -04:00
2026-08-31 19:08:05 -04:00