fix(models): let a snapshot race resolve to the version that won

Two sends of the same request can both miss the content-hash lookup and race to
insert. The unique index settles it; the loser wants exactly what the winner
wrote, not an error that costs its response a version link.
This commit is contained in:
Gregory Schier
2026-09-05 21:24:41 -07:00
parent e47088b507
commit 646f5a09b0
2 changed files with 17 additions and 6 deletions
@@ -21,8 +21,8 @@ interface Props {
* existed have no version and stay quiet forever.
*/
export function RequestVersionDropdown({ response }: Props) {
const comparison = useRequestVersion(response.versionId, response.requestId);
if (comparison.data == null || !comparison.data.differs) {
const { data: comparison } = useRequestVersion(response.versionId, response.requestId);
if (comparison == null || !comparison.differs) {
return null;
}
@@ -32,12 +32,12 @@ export function RequestVersionDropdown({ response }: Props) {
{
label: "View Diff",
leftSlot: <Icon icon="git_branch" />,
onSelect: () => showRequestVersionDiff(comparison.data!),
onSelect: () => showRequestVersionDiff(comparison),
},
{
label: "Restore This Version",
leftSlot: <Icon icon="history" />,
onSelect: () => restoreRequestVersion(comparison.data!.version),
onSelect: () => restoreRequestVersion(comparison.version),
},
]}
>