Will Miao
b90d60f043
fix(sidecars): carry the identity map through a sidecar root move
...
A model root that moved earlier is mirrored under a pinned name derived
from its old path. If anything resolved against the new sidecar path before
the relocation ran, the destination got a map naming the mirror after the
*current* path. migrate_root's keep-newer transfer then dropped the source
map, so the moved metadata stayed orphaned under the pinned component while
reads followed the new name and rebuilt defaults — losing favorites, notes
and tags a second time.
The identity map is now relocated by relocate_root_map() instead of the
generic transfer: entries recorded under the old sidecar root win for the
roots they describe, destination-only entries are preserved, and the cache
is dropped so the next resolution reloads the merged map. A merge that
cannot be written is reported as a migration error rather than silently
stranding the moved metadata.
Reported by the Codex review on #1131 .
2026-09-28 21:25:48 +08:00
..
2026-09-28 21:25:48 +08:00
2026-09-02 14:33:44 +08:00
2026-09-14 21:24:57 +08:00
2026-09-25 18:44:06 +08:00
2026-09-01 21:14:30 +08:00
2026-08-08 20:12:59 +08:00
2026-08-08 20:12:59 +08:00
2026-09-14 20:39:10 +08:00
2026-09-25 23:29:30 +08:00
2026-08-27 10:08:32 +08:00
2026-08-08 20:12:59 +08:00
2026-03-18 21:10:56 +08:00
2026-09-28 21:11:38 +08:00
2026-08-08 20:12:59 +08:00
2026-08-08 20:12:59 +08:00
2026-09-11 23:03:24 +08:00
2026-08-08 20:12:59 +08:00
2026-08-27 07:58:48 +08:00
2026-08-08 20:12:59 +08:00
2026-09-06 22:23:48 +08:00
2026-08-28 22:24:07 +08:00
2026-09-15 09:07:56 +08:00
2026-08-27 07:58:48 +08:00
2026-04-20 15:54:30 +08:00
2025-10-13 21:30:23 +08:00
2026-09-19 09:04:24 +08:00
2026-08-08 15:20:43 +08:00
2026-09-23 13:33:59 +08:00
2026-08-08 20:12:59 +08:00
2026-08-29 11:31:16 +08:00
2026-09-13 11:30:57 +08:00
2026-08-25 08:19:54 +08:00
2026-09-12 15:56:47 +08:00
2026-08-25 17:38:09 +08:00
2026-03-26 18:00:04 +08:00
2026-08-22 19:33:01 +08:00
2026-02-03 21:32:15 +08:00
2026-08-08 20:12:59 +08:00
2026-08-08 20:12:59 +08:00
2026-09-12 15:56:47 +08:00
2026-04-12 20:29:01 +08:00
2026-08-08 20:12:59 +08:00
2026-08-08 20:12:59 +08:00
2026-08-08 20:12:59 +08:00
2026-09-14 10:27:33 +08:00
2026-09-19 05:49:01 +08:00
2026-05-26 06:02:17 +08:00
2025-11-29 08:13:55 +08:00
2026-08-08 20:12:59 +08:00
2026-09-16 08:23:13 +08:00
2025-10-18 21:19:09 +08:00
2026-08-19 17:51:31 +08:00
2026-09-26 12:07:03 +08:00
2026-09-01 21:14:30 +08:00
2026-09-19 09:04:24 +08:00
2026-09-06 22:23:48 +08:00
2026-08-23 10:09:55 +08:00
2026-08-08 20:12:59 +08:00
2026-08-08 20:12:59 +08:00
2026-02-02 08:30:59 +08:00
2026-09-25 23:29:30 +08:00
2025-10-11 22:42:24 +08:00
2026-08-03 15:02:49 +08:00
2026-09-25 23:29:30 +08:00
2026-08-25 20:36:46 +08:00
2026-09-17 07:47:07 +08:00
2026-08-08 20:12:59 +08:00
2026-09-13 07:59:28 +08:00
2026-08-27 19:32:17 +08:00
2026-08-08 20:12:59 +08:00
2026-09-18 00:05:47 +08:00
2026-09-25 23:29:30 +08:00
2026-08-08 20:12:59 +08:00
2026-08-27 10:08:32 +08:00
2026-09-18 00:09:34 +08:00
2026-08-31 10:01:18 +08:00
2026-01-22 10:25:03 +08:00
2026-08-30 16:28:41 +08:00
2026-08-24 17:23:20 +08:00
2026-08-27 19:32:17 +08:00
2026-08-25 17:38:17 +08:00
2026-09-13 07:59:28 +08:00
2026-08-31 10:01:18 +08:00
2025-10-24 15:17:12 +08:00
2026-09-15 09:07:56 +08:00
2026-09-02 22:01:44 +08:00
2026-08-08 20:12:59 +08:00
2026-08-08 20:12:59 +08:00
2026-09-12 11:25:51 +08:00
2026-08-08 20:12:59 +08:00
2026-09-23 13:33:59 +08:00
2026-07-04 14:06:50 +08:00
2026-08-08 20:12:59 +08:00
2026-05-20 22:48:44 +08:00
2026-02-05 22:36:30 +08:00
2026-09-19 10:44:43 +08:00
2026-09-05 16:56:20 +08:00
2026-07-26 18:33:31 +08:00