Files
sim/apps
Vikhyath MondretiandClaude Opus 5 402f862210 fix(forking): make the trigger URL preview reflect the user's actual picks (#6290)
Two Cursor findings on #6272, both in the preview layer - the sync's write path
was correct in each case, but the UI stated an outcome that did not match it.

- The heads-up and overwrite confirm read `triggerUrlChanges` straight off the
  diff, which the server computes with its DEFAULT resolution before the user
  chooses anything. Selecting "Generate new URL" for a trigger that would have
  adopted a URL therefore killed that URL with no warning, in the one modal whose
  job is to state irreversible consequences (it also over-warned in the reverse
  case). The diff now returns the RAW retiring set and the client subtracts the
  live choices, so the rows, the heads-up and the confirm cannot disagree.
- The picker let two triggers select the same retiring URL and showed both as
  keeping it. Two blocks cannot serve one path (`path_deployment_unique`) and the
  resolver awards it to the first slot, so the loser silently got a new URL. A
  path another row claimed is now disabled and named, and each row displays its
  RESOLVED outcome rather than its raw pick.

The choice resolution is a pure module mirroring `resolveForkTriggerPaths`
(offered-paths guard, first-claim-wins), so the preview and the server agree by
construction rather than by two hand-kept implementations.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 10:44:44 -07:00
..
…