msarilar / EDEngineer

An overlay to track Elite Dangerous blueprints progress in real time
MIT License
504 stars 173 forks source link

Adding custom protocol for pass data to EDEngineer #566

Open kylewill0725 opened 3 years ago

kylewill0725 commented 3 years ago

I tried using the Coriolis Materials needed for build feature to add needed mats to the EDEngineer shopping list but Firefox appears to not be supported due to default security settings. Is there interest in adding a protocol such as edengineering://{data_here}?

From some testing it's pretty easy to add a registry key in HKCU/Software/Classes to enable the protocol. This doesn't need Admin permissions. When edengineering://{data} is visited, it would start a new instance of EDEngineering which would send data to the main instance through a named pipe and then close itself. In order to handle ClickOnce updates, the registry would need to be checked and updated at startup so that it always points to the current executable.

One issue though is removing protocol if EDEngineer is uninstalled.

A proof of concept for using custom protocols in ClickOnce: https://github.com/kylewill0725/ClickOnceProtocolTest

BanditSan commented 3 years ago

I tried using the Coriolis Materials needed for build feature to add needed mats to the EDEngineer shopping list but Firefox appears to not be supported due to default security settings. Is there interest in adding a protocol such as edengineering://{data_here}?

From some testing it's pretty easy to add a registry key in HKCU/Software/Classes to enable the protocol. This doesn't need Admin permissions. When edengineering://{data} is visited, it would start a new instance of EDEngineering which would send data to the main instance through a named pipe and then close itself. In order to handle ClickOnce updates, the registry would need to be checked and updated at startup so that it always points to the current executable.

One issue though is removing protocol if EDEngineer is uninstalled.

A proof of concept for using custom protocols in ClickOnce: https://github.com/kylewill0725/ClickOnceProtocolTest

Don't know what is the deal with that firefox not supported message. Might be some left over from old times cause i just tested coriolis by running it locally with that check disabled and seems to add shopping list just fine.