Bangle.js needs to be 'connectable' and 'programmable'.
If you're not seeing Bangle.js in Gadgetbridge, maybe make sure you've given it access to 'Location' in Android - since it needs that to be able to access Bluetooth.
You may find that using 'pairing' is what's making the connection flaky. Can you try removing the device in Gadgetbridge and then re-adding and choosing 'no' when asked if you want to pair?
"Find phone" won't help you connect
For security I could add a 'whitelist' to the settings app as was suggested above - just added an issue here: https://github.com/espruino/BangleApps/issues/78 While this obviously needs doing, right now the phone will be connected to Bangle.js whenever it is in range which will stop anyone else from connecting to (or even seeing) Bangle.js
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Did you have any luck connecting?
To try and sum up though: