Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.10 to 6.0.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/releases">vite's releases</a>.</em></p> <blockquote> <h2>v6.0.6</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.6/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.5</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.5/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.4</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.4/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.3</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.3/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.2</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.2/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>create-vite@6.0.1</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/create-vite@6.0.1/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.1</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.1/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>create-vite@6.0.0</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/create-vite@6.0.0/packages/create-vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>plugin-legacy@6.0.0</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/plugin-legacy@6.0.0/packages/plugin-legacy/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.0</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.0/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.0-beta.10</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.0-beta.10/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.0-beta.9</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.0-beta.9/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.0-beta.8</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.0-beta.8/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.0-beta.7</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.0-beta.7/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.0-beta.6</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.0-beta.6/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.0-beta.5</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.0-beta.5/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <h2>v6.0.0-beta.4</h2> <p>Please refer to <a href="https://github.com/vitejs/vite/blob/v6.0.0-beta.4/packages/vite/CHANGELOG.md">CHANGELOG.md</a> for details.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md">vite's changelog</a>.</em></p> <blockquote> <h2><!-- raw HTML omitted -->6.0.6 (2024-12-26)<!-- raw HTML omitted --></h2> <ul> <li>fix: replace runner-side path normalization with <code>fetchModule</code>-side resolve (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18361">#18361</a>) (<a href="9f10261e76">9f10261</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18361">#18361</a></li> <li>fix(css): resolve style tags in HTML files correctly for lightningcss (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19001">#19001</a>) (<a href="afff05c032">afff05c</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19001">#19001</a></li> <li>fix(css): show correct error when unknown placeholder is used for CSS modules pattern in lightningcs (<a href="9290d85b5d">9290d85</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19070">#19070</a></li> <li>fix(resolve): handle package.json with UTF-8 BOM (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19000">#19000</a>) (<a href="902567ac53">902567a</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19000">#19000</a></li> <li>fix(ssrTransform): preserve line offset when transforming imports (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19004">#19004</a>) (<a href="1aa434e801">1aa434e</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19004">#19004</a></li> <li>chore: fix typo in comment (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19067">#19067</a>) (<a href="eb06ec30bb">eb06ec3</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19067">#19067</a></li> <li>chore: update comment about <code>build.target</code> (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19047">#19047</a>) (<a href="0e9e81f622">0e9e81f</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19047">#19047</a></li> <li>revert: unpin esbuild version (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19043">#19043</a>) (<a href="8bfe247511">8bfe247</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19043">#19043</a></li> <li>test(ssr): test virtual module with query (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19044">#19044</a>) (<a href="a1f4b46896">a1f4b46</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19044">#19044</a></li> </ul> <h2><!-- raw HTML omitted -->6.0.5 (2024-12-20)<!-- raw HTML omitted --></h2> <ul> <li>fix: esbuild regression (pin to 0.24.0) (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19027">#19027</a>) (<a href="4359e0d5b3">4359e0d</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/19027">#19027</a></li> </ul> <h2><!-- raw HTML omitted -->6.0.4 (2024-12-19)<!-- raw HTML omitted --></h2> <ul> <li>fix: <code>this.resolve</code> skipSelf should not skip for different <code>id</code> or <code>import</code> (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18903">#18903</a>) (<a href="472732057c">4727320</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18903">#18903</a></li> <li>fix: fallback terser to main thread when function options are used (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18987">#18987</a>) (<a href="12b612d8be">12b612d</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18987">#18987</a></li> <li>fix: merge client and ssr values for <code>pluginContainer.getModuleInfo</code> (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18895">#18895</a>) (<a href="258cdd637d">258cdd6</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18895">#18895</a></li> <li>fix(css): escape double quotes in <code>url()</code> when lightningcss is used (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18997">#18997</a>) (<a href="3734f8099e">3734f80</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18997">#18997</a></li> <li>fix(css): root relative import in sass modern API on Windows (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18945">#18945</a>) (<a href="c4b532cc90">c4b532c</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18945">#18945</a></li> <li>fix(css): skip non css in custom sass importer (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18970">#18970</a>) (<a href="21680bdf9c">21680bd</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18970">#18970</a></li> <li>fix(deps): update all non-major dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18967">#18967</a>) (<a href="d88d0004a8">d88d000</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18967">#18967</a></li> <li>fix(deps): update all non-major dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18996">#18996</a>) (<a href="2b4f115129">2b4f115</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18996">#18996</a></li> <li>fix(optimizer): keep NODE_ENV as-is when keepProcessEnv is <code>true</code> (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18899">#18899</a>) (<a href="8a6bb4e11d">8a6bb4e</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18899">#18899</a></li> <li>fix(ssr): recreate ssrCompatModuleRunner on restart (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18973">#18973</a>) (<a href="7d6dd5d1d6">7d6dd5d</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18973">#18973</a></li> <li>chore: better validation error message for dts build (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18948">#18948</a>) (<a href="63b82f1e29">63b82f1</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18948">#18948</a></li> <li>chore(deps): update all non-major dependencies (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18916">#18916</a>) (<a href="ef7a6a35e6">ef7a6a3</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18916">#18916</a></li> <li>chore(deps): update dependency <code>@rollup/plugin-node-resolve</code> to v16 (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18968">#18968</a>) (<a href="62fad6d79f">62fad6d</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18968">#18968</a></li> <li>refactor: make internal invoke event to use the same interface with <code>handleInvoke</code> (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18902">#18902</a>) (<a href="27f691b0c7">27f691b</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18902">#18902</a></li> <li>refactor: simplify manifest plugin code (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18890">#18890</a>) (<a href="1bfe21b944">1bfe21b</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18890">#18890</a></li> <li>test: test <code>ModuleRunnerTransport</code> <code>invoke</code> API (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18865">#18865</a>) (<a href="e5f5301924">e5f5301</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18865">#18865</a></li> <li>test: test output hash changes (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18898">#18898</a>) (<a href="bfbb130fcc">bfbb130</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18898">#18898</a></li> </ul> <h2><!-- raw HTML omitted -->6.0.3 (2024-12-05)<!-- raw HTML omitted --></h2> <ul> <li>fix: handle postcss load unhandled rejections (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18886">#18886</a>) (<a href="d5fb653c15">d5fb653</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18886">#18886</a></li> <li>fix: make handleInvoke interface compatible with invoke (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18876">#18876</a>) (<a href="a1dd396da8">a1dd396</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18876">#18876</a></li> <li>fix: make result interfaces for <code>ModuleRunnerTransport#invoke</code> more explicit (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18851">#18851</a>) (<a href="a75fc3193d">a75fc31</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18851">#18851</a></li> <li>fix: merge <code>environments.ssr.resolve</code> with root <code>ssr</code> config (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18857">#18857</a>) (<a href="310433106e">3104331</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18857">#18857</a></li> <li>fix: no permission to create vite config file (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18844">#18844</a>) (<a href="ff47778004">ff47778</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18844">#18844</a></li> <li>fix: remove CSS import in CJS correctly in some cases (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/18885">#18885</a>) (<a href="690a36ffdb">690a36f</a>), closes <a href="https://redirect.github.com/vitejs/vite/issues/18885">#18885</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="5c2b4a089a"><code>5c2b4a0</code></a> release: v6.0.6</li> <li><a href="9290d85b5d"><code>9290d85</code></a> fix(css): show correct error when unknown placeholder is used for CSS modules...</li> <li><a href="afff05c032"><code>afff05c</code></a> fix(css): resolve style tags in HTML files correctly for lightningcss (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19001">#19001</a>)</li> <li><a href="eb06ec30bb"><code>eb06ec3</code></a> chore: fix typo in comment (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19067">#19067</a>)</li> <li><a href="1aa434e801"><code>1aa434e</code></a> fix(ssrTransform): preserve line offset when transforming imports (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19004">#19004</a>)</li> <li><a href="902567ac53"><code>902567a</code></a> fix(resolve): handle package.json with UTF-8 BOM (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19000">#19000</a>)</li> <li><a href="9f10261e76"><code>9f10261</code></a> fix: replace runner-side path normalization with <code>fetchModule</code>-side resolve (...</li> <li><a href="8bfe247511"><code>8bfe247</code></a> revert: unpin esbuild version (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19043">#19043</a>)</li> <li><a href="0e9e81f622"><code>0e9e81f</code></a> chore: update comment about <code>build.target</code> (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19047">#19047</a>)</li> <li><a href="a1f4b46896"><code>a1f4b46</code></a> test(ssr): test virtual module with query (<a href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19044">#19044</a>)</li> <li>Additional commits viewable in <a href="https://github.com/vitejs/vite/commits/v6.0.6/packages/vite">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
gui-client
This crate houses a GUI client for Linux and Windows.
Setup (Ubuntu)
To compile natively for x86_64 Linux:
- Install rustup
- Install pnpm
sudo apt-get install build-essential curl file libayatana-appindicator3-dev librsvg2-dev libssl-dev libwebkit2gtk-4.1-dev libxdo-dev wget
Setup (Windows)
To compile natively for x86_64 Windows:
- Install rustup
- Install pnpm
Recommended IDE Setup
(From Tauri's default README)
Building
Builds are best started from the frontend tool pnpm. This ensures typescript
and css is compiled properly before bundling the application.
See the package.json script for more details as to what's
going on under the hood.
# Builds a release exe
pnpm build
# Linux:
# The release exe and deb package are up in the workspace.
stat ../target/release/firezone
stat ../target/release/bundle/deb/*.deb
# Windows:
# The release exe and MSI installer should be up in the workspace.
# The exe can run without being installed
stat ../target/release/Firezone.exe
stat ../target/release/bundle/msi/Firezone_0.0.0_x64_en-US.msi
Signing the Windows MSI in GitHub CI
The MSI is signed in GitHub CI using the firezone/firezone repository's
secrets. This was originally set up using these guides for inspiration:
- https://melatonin.dev/blog/how-to-code-sign-windows-installers-with-an-ev-cert-on-github-actions/
- https://support.globalsign.com/code-signing/code-signing-using-azure-key-vault
Renewing / issuing a new code signing certificate and associated Azure entities is outside the scope of this section. Use the guides above if this needs to be done.
Instead, you'll most likely simply need to rotate the Azure CodeSigning Application's client secret.
To do so, login to the Azure portal using your @firezoneprod.onmicrosoft.com account.
Try to access it via the following deep-link.
If that doesn't work:
- Go to the
Microsoft Entra IDservice - Click on
App Registrations - Make sure the tab
All applicationsis selected - Find and navigate to the
CodeSigningapp registration - Client on
client credentials - Click
New client secret - Note down the secret value. This should be entered into the GitHub repository's secrets as
AZURE_CLIENT_SECRET.
Installing on CentOS 9
These instructions will move to the knowledge base once the first release supporting CentOS 9 is cut.
Install system tray
GNOME Shell 40 in CentOS 9 does not have a system tray by default. Use these steps to install it.
For other desktops like xfce4 or KDE, the system tray may already work properly.
sudo dnf install epel-release(Needed to get GNOME extensions)sudo dnf install gnome-shell-extension-appindicator- Log out and back in to restart GNOME
gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com(This will tab-complete.)
Install Firezone
- Download the RPM
sudo dnf install systemd-resolved(Installing it explicitly prevents it from being auto-removed if Firezone is removed)sudo dnf install ./firezone-client-gui-*.rpmsudo usermod -aG firezone-client $USERsudo systemctl enable firezone-client-ipc.service(See https://www.freedesktop.org/software/systemd/man/latest/systemd.preset.html, "It is not recommended to ship preset files within the respective software packages implementing the units". The Fedora family of distros also seem to have their own policy that installing a service should not auto-start or enable it.)- Reboot to finish adding yourself to the group. Logging out and back in is not enough. This also starts the new services for us.
sudo cp /etc/resolv.conf /etc/resolv.conf.before-firezoneBack up your resolv.conf file. If anything goes wrong with your DNS, you can copy this back into place.sudo ln --force --symbolic /run/systemd/resolve/stub-resolv.conf /etc/resolv.confThis putssystemd-resolved, and therefore Firezone, in control of the system's DNS.systemd-resolveddoes not do this automatically, since it's under/etc.- Run
firezone-client-guifrom the app menu.
Running
From this dir:
# This will start the frontend tools in watch mode and then run `tauri dev`
pnpm dev
# You can call debug subcommands on the exe from this directory too
# e.g. this is equivalent to `cargo run -- debug hostname`
cargo tauri dev -- -- debug hostname
# The exe is up in the workspace
stat ../target/debug/Firezone.exe
The app's config and logs will be stored at
C:\Users\$USER\AppData\Local\dev.firezone.client.
Platform support
Ubuntu 22.04 and newer is supported.
Tauri says it should work on Windows 10, Version 1803 and up. Older versions may work if you manually install WebView2
x86_64 architecture is supported for Windows. aarch64 and x86_64 are supported for Linux.
Threat model
See Security