Commit Graph

21 Commits

Author SHA1 Message Date
Jamil
f5362ce009 docs: Remove known DoH issue with Firefox (#6832)
This has been a long-standing issue.

The base PR fixes the issue for Firefox, and apparently all other
browsers will _not_ change your DNS server, only opportunistically
enable DoH if it finds your current servers to support it.
2024-10-09 19:31:38 +00:00
Reactor Scram
b5a67cd2d7 fix(rust/gui-client): when the Client starts with a token but no Internet, wait for Internet and then connect (#6414)
Closes #6389 

I added a retry button since the network change detection is flaky
inside Parallels. On bare metal Windows it works fine.

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-08-27 20:14:08 +00:00
Reactor Scram
482ded889e fix(rust/gui-client): throw error when failing to connect to Firezone (#6409)
Refs #6389 

```[tasklist]
- [x] Update changelog
- [x] Update manual test cases
```

This changes the behavior from "fail silently" to "fail loudly" so at
least the user knows something is wrong and they can restart Firezone
after they gain Internet.

<img width="439" alt="image"
src="https://github.com/user-attachments/assets/d5bbac66-9a5f-40a6-8b4c-71d8ab8abd6d">

<img width="554" alt="image"
src="https://github.com/user-attachments/assets/bcee1f87-bd29-4a44-b41f-a01217e3248e">
2024-08-23 15:37:57 +00:00
Reactor Scram
4ddec81f28 fix(gui-client/windows): allow GUI to run as admin again (#6308)
Closes #6305 too

I couldn't find the ticket for this so I'm not sure which customers are
affected.

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-08-15 22:36:18 +00:00
Reactor Scram
e6cbb5fa8a feat(gui-client/linux): network roaming (#5978)
Closes #5846 

Will be moved down to the IPC service eventually.

The goal for connection roaming is not for totally transparent "Change
Wi-Fi networks without dropping SSH" handoffs, but just for Firezone to
re-connect itself as quickly as possible so that everything above us can
re-connect as quickly as it times out, and won't be hung up with a
broken tunnel.
2024-07-30 16:01:45 +00:00
Jamil
6ae494904e docs: Update 'user guides' -> 'client apps' (#5940)
- This terminology / naming makes things more clear for most
admins/users.
- Fixes layout of /kb/client-apps to align better

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Not Applicable <ReactorScram@users.noreply.github.com>
2024-07-23 14:04:07 +00:00
Reactor Scram
03089c0bde docs(gui-client): update dev docs (#5858)
The docs for DNS control and process splitting no longer have any
information more useful, accurate, or fresh than the code itself
2024-07-16 14:49:00 +00:00
Jamil
0ff45c34f9 fix(style): Set prettier prosewrap to preserve to let authors write MD in their own style (#5722)
Prettier has three options for prose-wrap:

- `always`: Format prose (markdown) to the line-length (current)
- `never`: Use a single line for all prose (proposed)
- `preserve`: Don't lint prose

Settled on `preserve` due to discussion.


Fixes #5686

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-07-08 14:26:58 +00:00
Reactor Scram
2416d4f45c docs(client): update Linux and Windows Client docs (#5007)
Closes #4995
Closes #4925
Closes #4997
Closes #5047 
Supersedes #4965 and #5004.

NOT changing:

- Page description for other Clients. That is still "Firezone
Documentation"

Need these Clients:

- Windows GUI
- Linux headless 
- Linux GUI

to have these things documented: (with exact terms)

- Prerequisites
- Installation
- Usage
  - Signing in
  - Accessing a Resource
  - Signing out
  - Quitting
- Upgrading
- Diagnostic logs
- Uninstalling
- Troubleshooting
  - DNS not reverted after exit
  - DNS Resource not accessible
- Known issues

```[tasklist]
### Before merging
- [x] Test Windows GUI instructions
- [x] Add troubleshooting for #5027
- [x] Fill in troubleshooting sections
- [x] Test Linux GUI instructions
- [x] Linux headless - Make sure SIGTERM or Ctrl+C or whatever reverts resolv.conf
- [x] Test Linux Headless instructions
- [x] Page descriptions should be "How to install and use the Firezone $OS $UI client."
- [x] ~~Linux headless - Confirm behaviors and default values of all env vars~~ (skipping - The ones that are used are exercised)
- [x] Grep for TODOs
- [x] Change "un-install" to "uninstall"
- [x] Capitalize "Client" where needed
- [x] Change "IPC service" to "Tunnel service" or something
- [x] Change "SplitDNS" to "Split DNS"
- [ ] Wait for next Client release to be cut
```

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2024-05-22 20:22:46 +00:00
Reactor Scram
d59c3fef0a build(gui-client): add post-install and pre-remove scripts to the deb package (#5011)
Closes #4987

```[tasklist]
### Before merging
- [x] Get an x64 test VM on the Windows laptop and test a CI-built deb
```
2024-05-16 23:03:21 +00:00
Reactor Scram
770bb3432e chore(client): update internal docs for Windows and Linux GUI Clients (#5003)
Copied out of #4978
2024-05-15 22:19:04 +00:00
Reactor Scram
5814efc036 chore(windows-client): proof of concept for installing a system service with WiX (#4903)
```[tasklist]
### Before merging
- [x] Make sure the service auto-starts
- [x] Make the process idle and report its status to Windows properly using https://github.com/mullvad/windows-service-rs
- [x] DRY log dir code
- [x] Figure out where service logs will go and how the GUI will zip them
- [x] Make sure the service gets a shut down signal from Windows (this is hard to catch in the Tauri GUI)
- [x] Make sure the service restarts when Firezone is updated
- [x] Make sure the service is stopped and un-installed when Firezone is un-installed
- [x] Add test to install the MSI and check that the service runs
- [x] (will move to another PR) ~~Clean up function names~~
- [x] Make sure the Linux GUI was not broken by refactoring
```
2024-05-13 14:08:21 +00:00
Reactor Scram
cdebfa6901 chore(gui-client/linux): fix group name, firezone should be firezone-client (#4889)
Also improved the manual testing checklist a little
2024-05-06 14:09:30 +00:00
Reactor Scram
93f7c86f55 chore(gui-client/linux): add smoke test checklist (#4882)
This is what I've been doing on the testing VMs to exercise the
first-run behavior.

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-05-02 19:33:14 +00:00
Reactor Scram
3a67eacfbe refactor(linux-client): replace client-tunnel with headless-client which is the same thing (#4516)
Unfortunately I had to keep `linux-client` to get the compatibility
tests to pass. #4578 aims to remove that package.

Please add to this list if you think of anything:

```[tasklist]
# Things that may break that CI/CD won't catch
- [ ] Github release artifacts
- [ ] Knowledge base 
- [ ] Docker images
- [ ] Docker containers
- [ ] Existing `linux-client` users
- [ ] Anything that downloads ghcr artifacts
- [ ] Nix (Not sure if it's built in CI. It had a merge conflict)
```

Refs #4515, and #3712, #3782

I think this is what Thomas and I agreed on in Slack / Github

---------

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-04-10 22:01:55 +00:00
Reactor Scram
84938379ac chore(gui-client): update process split doc (#4269)
On ice until after GA

```[tasklist]
# Before merging
- [x] Re-frame it as upgrading the Linux CLI to add IPC / systemd autostart support instead of replacing the CLI (thanks Thomas)
```
2024-03-26 21:48:31 +00:00
Reactor Scram
8bad6a39d0 chore: propose process splitting for Linux (#4153) 2024-03-18 16:24:19 +00:00
Reactor Scram
abf3402e50 chore(linux): document DNS control methods (#4147)
Internal (Not private, just un-interesting to most users) docs and
research to explain the DNS control methods.

I think Jamil was right, we should revert `/etc/resolv.conf` on exit in
case it's used on some minimal Debian kitten. We can keep that and the
`systemd-resolved` method around to support desktop Ubuntu. Everything
else is going to be "When someone needs it".
2024-03-15 18:43:43 +00:00
Reactor Scram
52cde610e1 feat(linux): make deep link auth work (#4102)
Right now it only works on my dev VM, not on my test VMs, due to #4053
and #4103, but it passes tests and should be safe to merge.

There's one doc fix and one script fix which are unrelated and could be
their own PRs, but they'd be tiny, so I left them in here.

Ref #4106 and #3713 for the plan to fix all this by splitting the tunnel
process off so that the GUI runs as a normal user.
2024-03-13 18:11:04 +00:00
Reactor Scram
96ad6115f9 fix(tauri clients): apply auth base URL and API URL settings without app restart (#3868)
Closes #3862

I refactored the settings code, removing `_settings_` from some function
names where it was redundant.

The log level is more difficult to change live, so I added a
`tracing::info!` noting that it will apply on next app start.

```[tasklist]
### Before merging
- [x] Document whether pressing Enter on a field to apply settings is intended behavior
- [x] Document that log levels don't apply until next app start
- [x] Document that auth and API URL apply on next sign-in
```
2024-03-01 19:14:15 +00:00
Reactor Scram
4106419ef1 refactor: rename windows-client to gui-client (#3721)
This may cause conflicts with all my other PRs but it has to happen.

```[tasklist]
- [ ] Update test names in branch protection (I don't think I have perms for this)
```
2024-02-22 20:21:27 +00:00