diff --git a/dash/long_callback/managers/diskcache_manager.py b/dash/long_callback/managers/diskcache_manager.py index e1a110f14f..c38eee012d 100644 --- a/dash/long_callback/managers/diskcache_manager.py +++ b/dash/long_callback/managers/diskcache_manager.py @@ -179,7 +179,15 @@ def _set_progress(progress_value): maybe_progress = [_set_progress] if progress else [] def _set_props(_id, props): - cache.set(f"{result_key}-set_props", {_id: props}) + set_props_key = f"{result_key}-set_props" + existing_props = cache.get(set_props_key, {}) + + if _id in existing_props: + existing_props[_id].update(props) # Merge instead of overwrite + else: + existing_props[_id] = props # First-time update + + cache.set(set_props_key, existing_props) ctx = copy_context()