mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 22:10:34 +00:00
The listing's per-branch [ahead behind conflicts] summary is cached in memory keyed by (base-snapshot-id, source-revn, branch-revn), which names exactly the inputs the computation reads. A stale key cannot exist, so the cache needs no invalidation logic: a repeat listing with no intervening save performs no comparison work, and a cache miss is the old behaviour. Failed computations are not stored, so a broken branch keeps degrading to zeros with a warning.