client actions results in unloaded depends on the client side
This a bit convoluted to reproduce so I'll give a small example.
Let's consider a simple model:
class A:
a = fields.Char('a', depends=['b'])
b = fields.Char('b', depends=['c'])
c = fields.Char('c')
Let's say the first form view of A consists of only displaying "a" and the second consists of displaying both "a" and "b".
If a button in the first form view will trigger a switch to the second view then the value of "c" will stay unset. Which could be an issue if the visibility of "b" depends on it.
What happens is that the first view is loaded and the fields_view_get returns only the fields "a" and "b", they are both loaded. When the second view is loaded "c" is added to the group but since only "a" and "b" have a widget the display on the form will load them and since they are already loaded no RPC call will happen.
I think the way to solve this is to add the depends of the fields with a widget when displaying a form.