Files
James George b279849d5e fix(common): extend team generation guard to move ancestry and external pending-path writes [skip ci]
Closes remaining coherence gaps around async writes that bypassed the
generation token introduced in 350d852cd:

- `teamRequestMoved` subscription captures the team generation before
  awaiting `buildDestinationAncestorChain`, then re-checks it before
  mutating tab `saveContext` or calling
  `updateInheritedPropertiesForAffectedRequests`. A team switch landing
  mid-fetch no longer routes the old-team's destination chain into the
  new team's tabs.
- `buildDestinationAncestorChain` accepts an explicit generation and
  bails out of the backend-fetch loop if it diverges, so the previous
  team's ancestors can't be hydrated into the new team's cache.
- Add `getTeamGeneration()`, `isCurrentTeamGeneration()`, and
  `setPendingTeamCollectionPathForGeneration()` on the service. The
  collection-properties edit path in `components/collections/index.vue`
  snapshots the generation before dispatching `updateTeamCollection`
  and routes the success write through the service, so a completion
  that races past a team switch is dropped instead of queuing a stale
  path for the new team's loading watcher.
2026-04-21 20:47:14 +05:30
..
2026-02-23 17:47:58 +05:30