it’s a bit challenging to understand what could be wrong with just the snippets you pasted. The fact that it starts working when you add a console.log seems alarming.
The only suspicious thing I see is that you’re changing the total.value from within total.onValueChanged(), which by itself looks like a feedback loop.
It would be great if you could show a complete reproduction, preferably a small one. Also, please include the Fuse version, OS you’re on and the target you’re testing (local, Android, iOS?).
Im sorry I wont be able to reproduce the issue, however I realized changing the total.value from within total.onvaluechanged was a bad time so I changed it and now it works perfect.
This is to avoid setting the total.value to zero and then changing it multiple times. Each of those operations would notify all subscribers of that Observable of the change. This way, you replace the total.value only once the new value is calculated.