prop/lib
Graham McIntire 3cb367c898
fix(import): handle Radio.create_contact :duplicate return in worker
apply_valid_rows only matched {:ok, _} and {:error, %Changeset{}}, so when
Radio.create_contact returned {:error, :duplicate, existing} — the race
window where preview flagged a row as new but another writer inserts the
same contact before the worker picks up the chunk — the reduce callback
crashed with FunctionClauseError. Oban retried the chunk, rolling back
the Postgrex transaction and surfacing the DBConnection errors the
operator was seeing.

Treat :duplicate as a silent skip: the row is already in the DB, there
is nothing to insert, and the counter should not double-count the existing
contact as an error either.
2026-04-17 09:54:17 -05:00
..
microwaveprop fix(import): handle Radio.create_contact :duplicate return in worker 2026-04-17 09:54:17 -05:00
microwaveprop_web feat(import): live /imports/:id progress page + gate upload bars on submit 2026-04-17 09:31:22 -05:00
mix/tasks Drop dead Era5*/CDS code paths 2026-04-16 08:26:29 -05:00
microwaveprop.ex initial 2026-03-28 11:28:47 -05:00
microwaveprop_web.ex Merge auth links into main nav and lower password min to 8 2026-04-08 10:39:51 -05:00