If you can see the puck.js advertisement, ie the EspruinoWebIDE shows the puck.js as a choice, but connect fails: check the battery ie use another.
My puck.js has had intensive testing over the last couple of weeks with led's turned on a lot as my daughter loves the click, change color, plus other tests. This has has resulted in a very tired battery.
I observed during sw testing, an advertisment but no connect: lucky I had a couple of new unopened puck.js's in my pocket and took a battery from one of those.
This morning, I have now replaced the good battery with the bad battery and can confirm the observation: advertisment but no connect, check battery
I think from Gordons comment, I may try and see if there is a battery service via BLE that one can query that can indicate that one's battery is almost gone.
This can give a 5 min warning about impending problems.