I'm using tempids (fulcro 3.7.9) and just noticed something strange. My client side db results in an id key sticking around but with a nil value (this doesn't happen if remote is not engaged). This is after doing a dissoc on the id table. For example :item/id {1 {:item/id 1 :item/val "foo"}} becomes :item/id {1 nil} after the mutation action (swap! state update :item/id dissoc 1). Everything else about my tempids works perfectly. Somethings happening after the mutation round trips to the server that's adding [id-key nil-value] to the client db. I'm not really sure where to look or how to diagnosis this further or if this is how tempids are supposed to work. Maybe its designed to return the id value from the server and then dissoc it afterwards?
Solved this by moving the dissoc to the ok-action. I'm still curious as to how fulcro was adding my id back to the client db after hitting the remote. I'm not entirely sure this is defined behaviour.