I know the reason for this, and I know how to fix it, but it comes with its own quirks.
So, during bootup, we configure reef-pi to start without relying on any dependencies. Which means reef-pi starts way before network stack (because it starts fast and it has no dependency). As a result when reef-pi starts the network stack may not be ready yet, and the IP is not available, causing this failure. We can change this to make sure reef-pi only starts after networking is up by adding this in '/etc/systemd/system/reef-pi.service'
Code:
After=network-online.target
Wants=network-online.target
But then , it also means reef-pi will not be starting till network is up, and will not start if your dhcp or anything thats causes networking to fail. That was not a thing i wanted. In fact, reef-pi should work just fine if network is down, you wont see the UI, but the controller should be running just fine. Let me know what you all think about this. Its one of the thing we have to debate and decide as a community. My default position on this is to keep the happy path safer while making the more involved path possible.