This is why I propose that computed is renamed to a longer (and scarier) impureComputed or autorun (like in mobx), possibly changing it's signature dividing "register dependencies" and "produce side-effects" parts. And pureComputed is renamed to computed to make it the go-to option for less experienced knockout.js developers. Of course this would break compatibility, so this is probably only feasible for the next major release.
If we could make documentation advise towards pureComputed and against computed when in doubt, that would be great.
If it were possible to ban any non-local mutation in pureComputed's read and write functions (except writing other observables in write), I'd also root for that.
From https://github.com/knockout/tko.computed/issues/1
From https://github.com/knockout/knockout/issues/2167 by @futpib
I'm moving this here since this is where it could be accepted (for ko-4).
Make
pureComputed
the defaultcomputed
and makecomputed
impureComputed
or even `autorun