-
Notifications
You must be signed in to change notification settings - Fork 267
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(windows-client): run the GUI and tunnel in separate processes #4978
Conversation
I'm going to want a well-known dir that the Windows IPC service writes logs to, and that the Windows GUI can pick them up from. I don't know how I did this for Linux last week, but it should probably be in here too.
…one into chore/windows-service-poc
This has a known gap where theoretically the GUI could sign in while the service is hung in startup, and then the service would wipe out the GUI's DNS rules. The workaround for that would be to restart the GUI, but in practice I think this is almost impossible, Windows would have to give the service no CPU time while the user was signing in, then the user would have to immediately open Firezone before the service got running. Closes #4899
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left a few ideas and questions. Feel free to defer any of the refactoring if you don't feel like it!
There are some questions that I think we should answer before merging (like exit codes on error), hence not approving yet.
Yeah if possible let's defer the refactoring until next week so we can ship this. Quite a big PR already |
…ezone into chore/windows-ipc-service-2
@thomaseizinger I fixed the exit code on error case. I'm not sure if Windows does anything with that exit code but it looks better with it fixed, anyway. There's like 10+ refactorings I'm pushing off in #5022. I also found that it takes about 30 seconds to sign in on Windows, but I think that's due to the DNS control being slow after the last set of DNS fixes, not due to a regression related to IPC. I can test that next week. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you for working in the comments. Let me know if you want to pair on any of the codec stuff! :)
Approving modulo actually setting a non-zero exit code for the Windows service.
Ready for review.
Closes #3712.
Supersedes #4940.
Refs #4963.
I haven't figured out if it needs any new automated tests (unit, integration, etc.) but the code itself is ready for review. There is more refactoring that could be done, or could be left for later.
Tasks
Look into spuriouson_update_resources
(fad86babd7)Test max partition time on offline laptop(I ended up just setting a 30-day default in the code)