That's what I thought too. But actually trying to use it shows how badly battery optimized it (and surely also my code) are.

It wouldn't hold longer than a few hours when WiFi was actually active

with smaller battery-powered electronics, you typically want to sleep for as long as possible, and only wake to check if anything new has happened as quickly as possible before going back to sleep, the longer this duty cycle is acceptable for, the more battery life you'll get