Ewald ALOEBOETOE
4407289e42
Fix duplicate-stack render loop and wrong duplicate grouping
...
- Clicking a duplicate-stack badge could freeze ComfyUI: displayAssets,
the per-card ref callback (syncRenderedDuplicateCards) and the live
upsert dedupe each rewrote _mjrDupStack/_mjrDupMembers on reactive
assets read by the grid template, with a new array every pass and
conflicting representatives. The ref callback ran on every render, so
each write scheduled another render (no recursion limit in prod Vue).
- Compute duplicate stacks only in buildDisplayAssets with change-guarded
writes and stable member arrays; keep one ref callback per card; stop
the other passes from touching duplicate fields.
- A duplicate is now the same name in the same source/root/subfolder:
files sharing a name in different folders are no longer stacked,
hidden from the grid or given another file's generation time.
- The duplicates view lists every copy using cycle-free member copies.
- Add regression tests (render-loop idempotence, folder scoping).
2026-11-04 08:11:01 +00:00
..
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-07-09 11:18:28 +02:00
2026-11-04 07:38:14 +00:00
2026-07-09 11:18:28 +02:00
2026-05-26 13:04:05 +02:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-09-26 18:29:31 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-08-13 10:02:39 +02:00
2026-08-13 10:02:39 +02:00
2026-11-03 21:16:34 +00:00
2026-10-23 11:21:08 +02:00
2026-08-13 10:02:39 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-06-04 21:18:48 +02:00
2026-05-26 13:04:05 +02:00
2026-06-30 22:58:41 +02:00
2026-05-26 13:04:05 +02:00
2026-08-13 10:02:39 +02:00
2026-06-22 16:03:28 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-04 08:11:01 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-06-12 10:19:33 +02:00
2026-09-30 16:55:50 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-09-26 18:03:06 +00:00
2026-06-16 17:17:19 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-06-29 18:07:21 +02:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-07-02 17:38:46 +02:00
2026-06-09 10:28:25 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-10-23 11:21:08 +02:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-04 08:01:26 +00:00
2026-10-01 13:02:04 +02:00
2026-05-26 13:04:05 +02:00
2026-06-09 10:28:25 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-10-24 16:46:36 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-08-12 11:16:06 +02:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-08-06 20:22:59 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-31 20:03:25 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-10-25 09:32:55 +00:00
2026-06-09 10:28:25 +02:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-04 07:38:14 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-05-26 13:04:05 +02:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-06-12 10:19:33 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-05-26 13:04:05 +02:00
2026-05-26 13:04:05 +02:00
2026-05-26 13:04:05 +02:00
2026-06-11 10:20:33 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-07-09 11:18:28 +02:00
2026-07-09 11:18:28 +02:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00
2026-11-03 21:16:34 +00:00