AceCentre / EyeCommander

An open source computer vision interface that tracks eye movements for individuals with severely-limited mobility.
https://docs.acecentre.org.uk/eyecommander
MIT License
53 stars 6 forks source link

Spaces in the Windows user can cause app not to launch #86

Closed gavinhenderson closed 1 year ago

gavinhenderson commented 1 year ago

Describe the bug On start of EyeCommander, they would see the Windows “How would you like to open this file?” prompt with no option of “Always use this program”.

To Reproduce Steps to reproduce the behavior:

  1. Create a user on windows with a space in the name
  2. Install EyeCommander
  3. Try and run it

Expected behavior It opens

Desktop (please complete the following information):

Additional context Update DG at Smartbox once this is fixed.

DG says:

I’ve seen similar before on another device where what appears to be a ,NET install log gets saved to C:\Users\ e.g. “C:\Users\AAC” in this case. The Windows user, and hence file path, was “AAC West”, so the user’s filepath was “C:\Users\AAC West\” On another device they had, with the username “AACWest”, with no space, there was no issue. I can only assume something in EyeCommander’s startup loading is missing some quote marks to handle paths with spaces?

gavinhenderson commented 1 year ago

@gavinhenderson + @willwade I have a feeling this is where the issue is coming from: https://github.com/AceCentre/EyeCommander/blob/9bf5814ba239093020b9c523225daa619ecb5447/src/backend/squirrel-events.js#L98

Because execPath is not escaped properly for windows. Should be an easy fix and when I push an update it will get the update