Headless Pi solved a host of issues
First post...thanks for all of your efforts, Kyle. Your documentation is as impressive as the code. Kudos.
I loaded Mycodo on a RPi4b 8Gb about a week ago (initially, latest raspbian 5.4 desktop, SSD boot, latest Mycodo) with monitor and keyboard (for setup and configuration) and experienced a host of issues: hung daemon, dropped/hung browser sessions, stuttering/missing Picam feed, etc.
All issues disappeared when I disconnected the monitor and went headless.
Search of Pi forums showed these problems were probably due to RPi WiFi flakiness caused by--take your pick--hdmi interference/hdmi hardware port flaw/wifi firmware problem/moon phase. Debate continues, with raspbian updates released and success declared, only to have the problem recur.
Moving the pi next to the wireless gateway, using raspbian lite, reverting back to card boot vs SSD, and cursing with threats of incineration had no effect. Unplug the monitor--eureka! Note that after this discovery, mitigation attempts--swapping in a short, well-shielded mini-hdmi to hdmi cable (eliminating the mini hdmi adapter), swapping in a new Samsung monitor, distancing the Pi from rf interference...all had no effect.
It might be just this Pi (another is on the way so I can see) but there seem to be a fair number of wifi/hdmi issues being reported. So if you're having SSH/browser issues and you have a monitor attached, unplug it. For me the point is kinda moot as going headless is painless and this is all going to sit in 10m of saltwater anyway, so no harm/no foul.
Thanks for sharing what you found. The vast majority of my Pis are set up and ran headless, however I haven't experienced the issues you mention with the few that have touch displays (although, these are both Pi 3s). I'm sure you've done this, but I figure I should ask, have you updated to the latest firmware with "sudo rpi-update"?