Please add timeout to System.connect()/Spark.connect()

What FW version are you running?
In my experience this is not the case for SEMI_AUTOMATIC, Spark.connect() returns near immediately but different stages of the connection process add some lage to the code flow, but never block forever.

There you can find some test code for this "theory" (for 0.4.3 which should have been your FW at the time of your first post)
Photon/P1 loop()/user code blocking in SEMI_AUTOMATIC mode - #4 by ScruffR

But I'd second your proposal for timeouts :+1: