EdgeTX / buddy

The next generation tool for EdgeTX. A cross platform app, with browser compatibility.
https://buddy.edgetx.org
MIT License
37 stars 19 forks source link

Changing tab on the top will reset the flashing process, resulting in a brick #45

Open voltangle opened 1 year ago

voltangle commented 1 year ago

image If i select a tab over here while I am flashing my radio, it will reset, resulting in a bricked radio I would suggest just disabling those tabs while flashing, with a hover tooltip explaining why it's disabled

freshollie commented 1 year ago

This is a good point. I need to fix the deploy process for our new hosting but happy to get this in as a feature. For the bricked radio, is it possible to unbrick?

voltangle commented 1 year ago

Yea, I can easily unbrick it by just flashing again, bootloader is not affected on error

raphaelcoeffic commented 4 months ago

Just an idea at this point: what about folding the title bar while flashing and unfolding it once flashing is done?

pfeerick commented 4 months ago

I can't say I'm a fan of that idea (I don't like UIs that hide stuff and then give it back later). If going that way, I probably would have prefered a popup, which implies exclusive focus.

This is the relevant creation block for that menu: https://github.com/EdgeTX/buddy/blob/f912b8e1caf4219091063d111cf496727bbf4b2c/src/renderer/Layout.tsx#L187-L204

I'm also relatively clueless regarding nodejs/electron, but am wondering if another style parameter can be added it that tracks a variable so that it can be disabled while at say the DeviceSelectionStep and OverviewStep steps (or perhaps just the latter?).

i.e. if pointer-events: none; can be injected, it will disabled the header buttons, but leave the GitHub and settings cog active (which should be safe, as one only changes options in place, and the other opens a new browser window). Setting pointer-events to auto will restore interaction with the menu options. Just can't readily see how to add that myself :zany_face:

freshollie commented 4 months ago

Yes, that could be an easy option. Another way is to just add a useBlocker on the flashing status page to prevent navigation whilst flashing is taking place: https://reactrouter.com/en/main/hooks/use-blocker

raphaelcoeffic commented 4 months ago

Yes, that could be an easy option. Another way is to just add a useBlocker on the flashing status page to prevent navigation whilst flashing is taking place: https://reactrouter.com/en/main/hooks/use-blocker

Thx for the hint! I'll look into this!