I am looking at merge/merge-component! and I see that this function obviates the need for many of the front-end only mutations that modify the state of a component in some fashion, but since this is not transaction based, does this make updates that are hidden from transaction history of the app?
Yeah, I got a little lazy on that one. Technically I should have made a merge-component mutation, but this was the early days. There’s a mutation helper merge-component that you can use in your mutations, and you can therefore trivially write a merge-component mutation and a ! version that transacts on the mutation.
Yes, if you call merge-component! from outside of a transaction it will be the same as manually manipulating the state atom outside of a transaction. Without a transaction you won't see an entry in the transaction history.