This is kind of a wild one. Turns out that the triggers I was using
actually fire before the transaction is closed and I was primarily
getting lucky that the job was present on the other side of the
connection rather than having things built correctly.
I've fixed this by removing the trigger entirely and instead manually
triggering as part of the transaction. This makes the NOTIFY call happen
as soon as the transaction closes, just at the cost of making my
application be in charge of ensuring the NOTIFY gets called. Seems like
a win.
Part of doing this is porting the existing job creation code over to use
Jet. It's something I want to do anyway, so it's a win all around.
- Add ErrorNotification component above the contact form
- Replace console.error with user-visible error messages in
handleSubmit for both HTTP error responses and exceptions
- Add isSubmitting ref with :disabled binding to prevent
double-submission (consistent with Nuisance/Water forms)
- Clear errorMessage on each submission attempt
Issue: #8
* Create a nwe AddressAndMapLocator which abstracts out the behavior of
selecting a location
* Fix the overlay causing render errors on the MapLocator by getting
rid of the overlay and just using a lock indicator
* Fix MapLocator zooming in to the wrong place by not framing the
markers
* Remove Latlng from platform and just use Location with optional
accuracy
* Use nested types with form-encoded POST
* Fix styles on water report page
This makes it possible to start hydrating the types into valid data
types like Dates which means I can get type safety guarantees when
displaying information.