state.lastAction was hardcoded null on web, so every property reading it was silently vacuous: a correct property passed without ever firing.