9c4c20e8bd
The banner fires when quote.UpdatedAt > job.QuoteSnapshotUpdatedAt. The snapshot was captured before saving quote.ConvertedToJobId, so the EF interceptor's automatic UpdatedAt stamp on that save always made the quote appear newer than the snapshot — triggering the banner on every freshly converted job even with no actual changes. Fix: after saving ConvertedToJobId, re-stamp QuoteSnapshotUpdatedAt to the quote's final UpdatedAt value and save the job once more. The snapshot now includes the conversion write, so the comparison is equal (not "after") and the banner stays hidden until the quote genuinely changes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>