Files
firezone/rust/gui-client
dependabot[bot] 7957d671c5 build(deps-dev): bump tailwindcss from 4.0.3 to 4.0.9 in /rust/gui-client (#8326)
Bumps
[tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss)
from 4.0.3 to 4.0.9.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tailwindlabs/tailwindcss/releases">tailwindcss's
releases</a>.</em></p>
<blockquote>
<h2>v4.0.9</h2>
<h3>Fixed</h3>
<ul>
<li>Make JS APIs available to plugins and configs in the Standalone CLI
(<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15934">#15934</a>)</li>
<li>Vite: Don't crash when importing a virtual module from JavaScript
that ends in <code>.css</code> (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16780">#16780</a>)</li>
<li>Fix an issue where <code>@reference &quot;…&quot;</code> would
sometimes omit keyframe animations (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16774">#16774</a>)</li>
<li>Ensure <code>z-*!</code> utilities are properly marked as
<code>!important</code> (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16795">#16795</a>)</li>
<li>Read UTF-8 CSS files that start with a byte-order mark (BOM) (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16800">#16800</a>)</li>
<li>Ensure nested functions in selectors used with JavaScript plugins
are not truncated (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16802">#16802</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Emit variable fallbacks when using <code>@reference
&quot;…&quot;</code> instead of duplicate CSS variable declarations (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16774">#16774</a>)</li>
</ul>
<h2>v4.0.8</h2>
<h3>Added</h3>
<ul>
<li>Allow <code>@import</code> with <code>theme(…)</code> options for
stylesheets that contain more than just <code>@theme</code> rules (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16514">#16514</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Don't add <code>!important</code> to CSS variable declarations when
using the important modifier (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16668">#16668</a>)</li>
<li>Vite: Ignore files and directories specified in your
<code>.gitignore</code> file when using automatic source detection(<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631">#16631</a>)</li>
<li>Vite: Don't rely on the module graph for detecting candidates to
ensure setups with multiple Vite builds work as expected (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631">#16631</a>)</li>
<li>Vite: Ensure Astro production builds always contain classes used in
client-only components (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631">#16631</a>)</li>
<li>Vite: Always scan raw file contents for utility classes before any
other transforms have been applied to ensure utility classes are scanned
without any additional escaping (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631">#16631</a>)</li>
<li>Ensure utilities with more declarations are always sorted before
utilities with fewer declarations when utilities only define CSS
variables (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16715">#16715</a>)</li>
<li>Only include <code>translate-z-px</code> utilities once in compiled
CSS (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16718">#16718</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Don't include theme variables that aren't used in compiled CSS (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211">#16211</a>,
<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16676">#16676</a>)</li>
</ul>
<h2>v4.0.7</h2>
<h3>Fixed</h3>
<ul>
<li>Export <code>tailwindcss/lib/util/flattenColorPalette.js</code> for
backward compatibility (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16411">#16411</a>)</li>
<li>Fix sorting of numeric utility suggestions when they have different
magnitudes (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16414">#16414</a>)</li>
<li>Show suggestions for fractions in IntelliSense (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16353">#16353</a>)</li>
<li>Don’t replace <code>_</code> in suggested theme keys (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16433">#16433</a>)</li>
<li>Ensure <code>--default-outline-width</code> can be used to change
the <code>outline-width</code> value of the <code>outline</code> utility
(<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16469">#16469</a>)</li>
<li>Ensure drop shadow utilities don't inherit unexpectedly (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16471">#16471</a>)</li>
<li>Export config and plugin types from <code>tailwindcss/plugin</code>
for backward compatibility (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16505">#16505</a>)</li>
<li>Ensure JavaScript plugins that emit nested rules referencing the
utility name work as expected (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16539">#16539</a>)</li>
<li>Statically link Visual Studio redistributables in
<code>@tailwindcss/oxide</code> Windows builds (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16602">#16602</a>)</li>
<li>Ensure that Next.js splat routes are scanned for classes (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16457">#16457</a>)</li>
<li>Pin exact version of <code>tailwindcss</code> in
<code>@tailwindcss/*</code> packages (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16623">#16623</a>)</li>
<li>Upgrade: Report errors when updating dependencies (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16504">#16504</a>)</li>
<li>Upgrade: Ensure a <code>darkMode</code> JS config setting with block
syntax converts to use <code>@slot</code> (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16507">#16507</a>)</li>
<li>Upgrade: Ensure the latest version of <code>tailwindcss</code> and
<code>@tailwindcss/postcss</code> are installed when upgrading (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16620">#16620</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md">tailwindcss's
changelog</a>.</em></p>
<blockquote>
<h2>[4.0.9] - 2025-02-25</h2>
<h3>Fixed</h3>
<ul>
<li>Make JS APIs available to plugins and configs in the Standalone CLI
(<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15934">#15934</a>)</li>
<li>Vite: Don't crash when importing a virtual module from JavaScript
that ends in <code>.css</code> (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16780">#16780</a>)</li>
<li>Fix an issue where <code>@reference &quot;…&quot;</code> would
sometimes omit keyframe animations (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16774">#16774</a>)</li>
<li>Ensure <code>z-*!</code> utilities are properly marked as
<code>!important</code> (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16795">#16795</a>)</li>
<li>Read UTF-8 CSS files that start with a byte-order mark (BOM) (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16800">#16800</a>)</li>
<li>Ensure nested functions in selectors used with JavaScript plugins
are not truncated (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16802">#16802</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Emit variable fallbacks when using <code>@reference
&quot;…&quot;</code> instead of duplicate CSS variable declarations (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16774">#16774</a>)</li>
</ul>
<h2>[4.0.8] - 2025-02-21</h2>
<h3>Added</h3>
<ul>
<li>Allow <code>@import</code> with <code>theme(…)</code> options for
stylesheets that contain more than just <code>@theme</code> rules (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16514">#16514</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Don't add <code>!important</code> to CSS variable declarations when
using the important modifier (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16668">#16668</a>)</li>
<li>Vite: Ignore files and directories specified in your
<code>.gitignore</code> file when using automatic source detection(<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631">#16631</a>)</li>
<li>Vite: Don't rely on the module graph for detecting candidates to
ensure setups with multiple Vite builds work as expected (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631">#16631</a>)</li>
<li>Vite: Ensure Astro production builds always contain classes used in
client-only components (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631">#16631</a>)</li>
<li>Vite: Always scan raw file contents for utility classes before any
other transforms have been applied to ensure utility classes are scanned
without any additional escaping (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16631">#16631</a>)</li>
<li>Ensure utilities with more declarations are always sorted before
utilities with fewer declarations when utilities only define CSS
variables (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16715">#16715</a>)</li>
<li>Only include <code>translate-z-px</code> utilities once in compiled
CSS (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16718">#16718</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Don't include theme variables that aren't used in compiled CSS (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16211">#16211</a>,
<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16676">#16676</a>)</li>
</ul>
<h2>[4.0.7] - 2025-02-18</h2>
<h3>Fixed</h3>
<ul>
<li>Export <code>tailwindcss/lib/util/flattenColorPalette.js</code> for
backward compatibility (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16411">#16411</a>)</li>
<li>Fix sorting of numeric utility suggestions when they have different
magnitudes (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16414">#16414</a>)</li>
<li>Show suggestions for fractions in IntelliSense (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16353">#16353</a>)</li>
<li>Don’t replace <code>_</code> in suggested theme keys (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16433">#16433</a>)</li>
<li>Ensure <code>--default-outline-width</code> can be used to change
the <code>outline-width</code> value of the <code>outline</code> utility
(<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16469">#16469</a>)</li>
<li>Ensure drop shadow utilities don't inherit unexpectedly (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16471">#16471</a>)</li>
<li>Export config and plugin types from <code>tailwindcss/plugin</code>
for backward compatibility (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16505">#16505</a>)</li>
<li>Ensure JavaScript plugins that emit nested rules referencing the
utility name work as expected (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16539">#16539</a>)</li>
<li>Statically link Visual Studio redistributables in
<code>@tailwindcss/oxide</code> Windows builds (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16602">#16602</a>)</li>
<li>Ensure that Next.js splat routes are scanned for classes (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16457">#16457</a>)</li>
<li>Pin exact version of <code>tailwindcss</code> in
<code>@tailwindcss/*</code> packages (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/16623">#16623</a>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="85d7375b59"><code>85d7375</code></a>
Prepare v4.0.9 release (<a
href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/16804">#16804</a>)</li>
<li><a
href="b56f12e6e7"><code>b56f12e</code></a>
Ensure nested functions in selectors used with JavaScript plugins are
not tru...</li>
<li><a
href="294952f170"><code>294952f</code></a>
Handle BOM (<a
href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/16800">#16800</a>)</li>
<li><a
href="ef57e6ea4d"><code>ef57e6e</code></a>
Fix <code>z-*!</code> utilities (<a
href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/16795">#16795</a>)</li>
<li><a
href="b38948337d"><code>b389483</code></a>
Make <code>@reference</code> emit variable fallbacks instead of CSS
variable declaration...</li>
<li><a
href="751eb747d4"><code>751eb74</code></a>
Add <code>inverted-colors</code> variant (<a
href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/11693">#11693</a>)</li>
<li><a
href="62d3e74694"><code>62d3e74</code></a>
Add <code>wrap-anywhere</code> utility (<a
href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/12128">#12128</a>)</li>
<li><a
href="419b3dc473"><code>419b3dc</code></a>
Prepare v4.0.8 release (<a
href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/16713">#16713</a>)</li>
<li><a
href="b47b6d2290"><code>b47b6d2</code></a>
Remove double <code>translate-z-px</code> values (<a
href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/16718">#16718</a>)</li>
<li><a
href="113142a0e4"><code>113142a</code></a>
Use amount of properties when sorting (<a
href="https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss/issues/16715">#16715</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tailwindlabs/tailwindcss/commits/v4.0.9/packages/tailwindcss">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tailwindcss&package-manager=npm_and_yarn&previous-version=4.0.3&new-version=4.0.9)](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>
2025-03-02 10:48:36 +00:00
..
2024-11-01 18:06:09 +00:00

gui-client

This crate houses a GUI client for Linux and Windows.

Setup (Ubuntu)

To compile natively for x86_64 Linux:

  1. Install rustup
  2. Install pnpm
  3. 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:

  1. Install rustup
  2. Install pnpm

(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:

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 ID service
  • Click on App Registrations
  • Make sure the tab All applications is selected
  • Find and navigate to the CodeSigning app 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.

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

Testing

See Intended behavior