Commit Graph

1885 Commits

Author SHA1 Message Date
dependabot[bot]
7d7b781caa build(deps): Bump png from 0.17.14 to 0.17.16 in /rust (#7676)
Bumps [png](https://github.com/image-rs/image-png) from 0.17.14 to
0.17.16.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/image-rs/image-png/blob/master/CHANGES.md">png's
changelog</a>.</em></p>
<blockquote>
<h2>0.17.15</h2>
<h3>Added</h3>
<ul>
<li>Add a public API to advance to the next frame in APNG decoder (<a
href="https://redirect.github.com/image-rs/image-png/issues/518">#518</a>)</li>
<li>Add APIs to write ICC and EXIF chunks (<a
href="https://redirect.github.com/image-rs/image-png/issues/526">#526</a>)</li>
<li>Add support for parsing the sBIT chunk (<a
href="https://redirect.github.com/image-rs/image-png/issues/524">#524</a>)</li>
<li>Add support for parsing the bKGD chunk (<a
href="https://redirect.github.com/image-rs/image-png/issues/538">#538</a>)</li>
<li>Add support for parsing the cICP chunk (<a
href="https://redirect.github.com/image-rs/image-png/issues/529">#529</a>)</li>
<li>Add support for parsing mDCv and cLLi chunks (<a
href="https://redirect.github.com/image-rs/image-png/issues/528">#528</a>,
(<a
href="https://redirect.github.com/image-rs/image-png/issues/543">#543</a>))</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Improve performance of Paeth filter during decoding (<a
href="https://redirect.github.com/image-rs/image-png/issues/512">#512</a>,
<a
href="https://redirect.github.com/image-rs/image-png/issues/539">#539</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Avoid an infinite loop when retrying after a fatal error using
<code>StreamingDecoder</code> (<a
href="https://redirect.github.com/image-rs/image-png/issues/520">#520</a>)</li>
<li>Fixed chunk order in encoded files (<a
href="https://redirect.github.com/image-rs/image-png/issues/526">#526</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/image-rs/image-png/issues/495">#495</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/495">image-rs/image-png#495</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/496">#496</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/496">image-rs/image-png#496</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/512">#512</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/512">image-rs/image-png#512</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/518">#518</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/518">image-rs/image-png#518</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/520">#520</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/520">image-rs/image-png#520</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/524">#524</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/524">image-rs/image-png#524</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/526">#526</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/526">image-rs/image-png#526</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/528">#528</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/528">image-rs/image-png#528</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/529">#529</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/529">image-rs/image-png#529</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/538">#538</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/538">image-rs/image-png#538</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/539">#539</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/539">image-rs/image-png#539</a>
<a
href="https://redirect.github.com/image-rs/image-png/issues/543">#543</a>:
<a
href="https://redirect.github.com/image-rs/image-png/pull/543">image-rs/image-png#543</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="fbf256669f"><code>fbf2566</code></a>
Merge pull request <a
href="https://redirect.github.com/image-rs/image-png/issues/550">#550</a>
from image-rs/lets-go</li>
<li><a
href="060925e5a4"><code>060925e</code></a>
Deprecate Info::encode</li>
<li><a
href="2d6ca8d4e9"><code>2d6ca8d</code></a>
Bump version</li>
<li><a
href="4baeb7063f"><code>4baeb70</code></a>
Bump dev dep</li>
<li><a
href="ab45766424"><code>ab45766</code></a>
Allow cfg(fuzzing)</li>
<li><a
href="4a1b982f13"><code>4a1b982</code></a>
Make gAMA and cHRM fallback optional for sRGB</li>
<li><a
href="3ef4af6abf"><code>3ef4af6</code></a>
Fix iCCP chunk encoding (<a
href="https://redirect.github.com/image-rs/image-png/issues/548">#548</a>)</li>
<li><a
href="2232f83f59"><code>2232f83</code></a>
Pass through nightly feature to crc32fast crate to get SIMD crc32 on
Aarch64</li>
<li><a
href="10644dbff4"><code>10644db</code></a>
Merge pull request <a
href="https://redirect.github.com/image-rs/image-png/issues/542">#542</a>
from Shnatsel/release-v0.17.15</li>
<li><a
href="fb660c23f5"><code>fb660c2</code></a>
Small refactoring of paeth filter logic (<a
href="https://redirect.github.com/image-rs/image-png/issues/544">#544</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/image-rs/image-png/compare/v0.17.14...v0.17.16">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=png&package-manager=cargo&previous-version=0.17.14&new-version=0.17.16)](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-01-06 17:11:56 +00:00
dependabot[bot]
70b9d2f2c9 build(deps): Bump serde from 1.0.215 to 1.0.217 in /rust (#7677)
Bumps [serde](https://github.com/serde-rs/serde) from 1.0.215 to
1.0.217.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/serde-rs/serde/releases">serde's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.217</h2>
<ul>
<li>Support serializing externally tagged unit variant inside flattened
field (<a
href="https://redirect.github.com/serde-rs/serde/issues/2786">#2786</a>,
thanks <a
href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
</ul>
<h2>v1.0.216</h2>
<ul>
<li>Mark all generated impls with #[automatically_derived] to exclude
from code coverage (<a
href="https://redirect.github.com/serde-rs/serde/issues/2866">#2866</a>,
<a
href="https://redirect.github.com/serde-rs/serde/issues/2868">#2868</a>,
thanks <a
href="https://github.com/tdittr"><code>@​tdittr</code></a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="930401b0dd"><code>930401b</code></a>
Release 1.0.217</li>
<li><a
href="cb6eaea151"><code>cb6eaea</code></a>
Fix roundtrip inconsistency:</li>
<li><a
href="b6f339ca36"><code>b6f339c</code></a>
Resolve repr_packed_without_abi clippy lint in tests</li>
<li><a
href="2a5caea1a8"><code>2a5caea</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2872">#2872</a>
from dtolnay/ehpersonality</li>
<li><a
href="b9f93f99aa"><code>b9f93f9</code></a>
Add no-std CI on stable compiler</li>
<li><a
href="eb5cd476ba"><code>eb5cd47</code></a>
Drop #[lang = &quot;eh_personality&quot;] from no-std test</li>
<li><a
href="8478a3b7dd"><code>8478a3b</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2871">#2871</a>
from dtolnay/nostdstart</li>
<li><a
href="dbb909136e"><code>dbb9091</code></a>
Replace #[start] with extern fn main</li>
<li><a
href="ad8dd4148b"><code>ad8dd41</code></a>
Release 1.0.216</li>
<li><a
href="f91d2ed9ae"><code>f91d2ed</code></a>
Merge pull request <a
href="https://redirect.github.com/serde-rs/serde/issues/2868">#2868</a>
from dtolnay/automaticallyderived</li>
<li>Additional commits viewable in <a
href="https://github.com/serde-rs/serde/compare/v1.0.215...v1.0.217">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=serde&package-manager=cargo&previous-version=1.0.215&new-version=1.0.217)](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-01-06 17:11:40 +00:00
dependabot[bot]
3b7b83dfd2 build(deps): Bump os_info from 3.8.2 to 3.9.2 in /rust (#7679)
Bumps [os_info](https://github.com/stanislav-tkach/os_info) from 3.8.2
to 3.9.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/stanislav-tkach/os_info/releases">os_info's
releases</a>.</em></p>
<blockquote>
<h2>os_info 3.9.2</h2>
<ul>
<li>Fix <code>uname</code> usage on NetBSD. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/392">#392</a>)</li>
</ul>
<h2>os_info 3.9.1</h2>
<ul>
<li>Reduce the published crate size by excluding the test data. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/390">#390</a>)</li>
</ul>
<h2>os_info 3.9.0</h2>
<ul>
<li>
<p>Nobara Linux support has been added. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/379">#379</a>)</p>
</li>
<li>
<p>UOS support has been added. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/380">#380</a>)</p>
</li>
<li>
<p>Fix <code>uname</code> usage on AIX. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/381">#381</a>)</p>
</li>
<li>
<p>CachyOS support has been added. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/386">#386</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/stanislav-tkach/os_info/blob/master/CHANGELOG.md">os_info's
changelog</a>.</em></p>
<blockquote>
<h2>[3.9.2] (2025-01-05)</h2>
<ul>
<li>Fix <code>uname</code> usage on NetBSD. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/392">#392</a>)</li>
</ul>
<h2>[3.9.1] (2024-12-22)</h2>
<ul>
<li>Reduce the published crate size by excluding the test data. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/390">#390</a>)</li>
</ul>
<h2>[3.9.0] (2024-11-30)</h2>
<ul>
<li>
<p>Nobara Linux support has been added. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/379">#379</a>)</p>
</li>
<li>
<p>UOS support has been added. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/380">#380</a>)</p>
</li>
<li>
<p>Fix <code>uname</code> usage on AIX. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/381">#381</a>)</p>
</li>
<li>
<p>CachyOS support has been added. (<a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/386">#386</a>)</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="983ee17a14"><code>983ee17</code></a>
Merge pull request <a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/393">#393</a>
from stanislav-tkach/release-3-9-2</li>
<li><a
href="1c939f17b5"><code>1c939f1</code></a>
Release the 3.9.2 version</li>
<li><a
href="b69ff882ef"><code>b69ff88</code></a>
Merge pull request <a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/392">#392</a>
from 0-wiz-0/master</li>
<li><a
href="708a474714"><code>708a474</code></a>
Fix NetBSD support.</li>
<li><a
href="7d1b62f47e"><code>7d1b62f</code></a>
Merge pull request <a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/391">#391</a>
from stanislav-tkach/3-9-1-release</li>
<li><a
href="2b1bd58589"><code>2b1bd58</code></a>
Release the 3.9.1 version</li>
<li><a
href="d824f1ff58"><code>d824f1f</code></a>
Merge pull request <a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/390">#390</a>
from GiGainfosystems/master</li>
<li><a
href="15ce4fb210"><code>15ce4fb</code></a>
Exclude testdata from published crate</li>
<li><a
href="ad36540a98"><code>ad36540</code></a>
Merge pull request <a
href="https://redirect.github.com/stanislav-tkach/os_info/issues/388">#388</a>
from stanislav-tkach/release-3-9-0</li>
<li><a
href="a8231926e3"><code>a823192</code></a>
Release the 3.9.0 version</li>
<li>Additional commits viewable in <a
href="https://github.com/stanislav-tkach/os_info/compare/v3.8.2...v3.9.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=os_info&package-manager=cargo&previous-version=3.8.2&new-version=3.9.2)](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-01-06 17:11:28 +00:00
dependabot[bot]
68b0b85579 build(deps): Bump mio from 1.0.2 to 1.0.3 in /rust (#7678)
Bumps [mio](https://github.com/tokio-rs/mio) from 1.0.2 to 1.0.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/mio/blob/master/CHANGELOG.md">mio's
changelog</a>.</em></p>
<blockquote>
<h1>1.0.3</h1>
<ul>
<li>Implement more I/O safety traits
(<a
href="https://redirect.github.com/tokio-rs/mio/pull/1831">tokio-rs/mio#1831</a>).</li>
<li>Remove hermit-abi dependency, now using libc
(<a
href="https://redirect.github.com/tokio-rs/mio/pull/1830">tokio-rs/mio#1830</a>).</li>
<li>Use <code>poll(2)</code> implementation on AIX, removing the need
for using
<code>mio_unsupported_force_poll_poll</code>
(<a
href="https://redirect.github.com/tokio-rs/mio/pull/1833">tokio-rs/mio#1833</a>).</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="f45f4928da"><code>f45f492</code></a>
Release v1.0.3 (<a
href="https://redirect.github.com/tokio-rs/mio/issues/1843">#1843</a>)</li>
<li><a
href="cbb53c71a2"><code>cbb53c7</code></a>
Use poll(2) implementation on AIX</li>
<li><a
href="d8d68ac637"><code>d8d68ac</code></a>
Implement more I/O safety traits</li>
<li><a
href="8b6c4b5d21"><code>8b6c4b5</code></a>
Remove dependency to hermit-abi (<a
href="https://redirect.github.com/tokio-rs/mio/issues/1830">#1830</a>)</li>
<li>See full diff in <a
href="https://github.com/tokio-rs/mio/compare/v1.0.2...v1.0.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mio&package-manager=cargo&previous-version=1.0.2&new-version=1.0.3)](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-01-06 17:11:25 +00:00
dependabot[bot]
088f51b80f build(deps): Bump anyhow from 1.0.93 to 1.0.95 in /rust (#7661)
Bumps [anyhow](https://github.com/dtolnay/anyhow) from 1.0.93 to 1.0.95.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/dtolnay/anyhow/releases">anyhow's
releases</a>.</em></p>
<blockquote>
<h2>1.0.95</h2>
<ul>
<li>Add <a
href="https://docs.rs/anyhow/1/anyhow/struct.Error.html#method.from_boxed"><code>Error::from_boxed</code></a>
(<a
href="https://redirect.github.com/dtolnay/anyhow/issues/401">#401</a>,
<a
href="https://redirect.github.com/dtolnay/anyhow/issues/402">#402</a>)</li>
</ul>
<h2>1.0.94</h2>
<ul>
<li>Documentation improvements</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="48be1caa24"><code>48be1ca</code></a>
Release 1.0.95</li>
<li><a
href="a03d6d60f9"><code>a03d6d6</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/402">#402</a>
from dtolnay/fromboxed</li>
<li><a
href="52e4abb1f2"><code>52e4abb</code></a>
Add Error::from_boxed with documentation about bidirectional
<code>?</code></li>
<li><a
href="ffecefcfe0"><code>ffecefc</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/401">#401</a>
from dtolnay/construct</li>
<li><a
href="671f700dd3"><code>671f700</code></a>
Add construct_ prefix to name of private construct functions</li>
<li><a
href="8ceb5e988f"><code>8ceb5e9</code></a>
Release 1.0.94</li>
<li><a
href="b9009abc16"><code>b9009ab</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/399">#399</a>
from dtolnay/okvalue</li>
<li><a
href="863791a66d"><code>863791a</code></a>
Align naming between Ok function argument and its documentation</li>
<li><a
href="2081692170"><code>2081692</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/anyhow/issues/398">#398</a>
from zertosh/ok_doc_format</li>
<li><a
href="cc2cecb428"><code>cc2cecb</code></a>
Fix anyhow::Ok rustdoc code formatting</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/anyhow/compare/1.0.93...1.0.95">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=anyhow&package-manager=cargo&previous-version=1.0.93&new-version=1.0.95)](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-01-05 20:47:45 +00:00
Thomas Eizinger
037a2e64b6 fix(connlib): attempt to detect runtime shutdown within TUN task (#7605)
Reading and writing to the TUN device within `connlib` happens in a
separate thread. The task running within these threads is connected to
the rest of `connlib` via channels. When the application shuts down,
these threads also need to exit. Currently, we attempt to detect this
from within the task when these channels close. It appears that there is
a race condition here because we first attempt to read from the TUN
device before reading from the channels. We treat read & write errors on
the TUN device as non-fatal so we loop around and attempt to read from
it again, causing an infinite-loop and log spam.

To fix this, we swap the order in which we evaluate the two concurrent
tasks: The first task to be polled is now the channel for outbound
packets and only if that one is empty, we attempt to read new packets
from the TUN device. This is also better from a backpressure point of
view: We should attempt to flush out our local buffers of already
processed packets before taking on "new work".

As a defense-in-depth strategy, we also attempt to detect the particular
error from the tokio runtime when it is being shut down and exit the
task.

Resolves: #7601.
Related: https://github.com/tokio-rs/tokio/issues/7056.
2025-01-05 20:41:24 +00:00
Thomas Eizinger
c595bb872d chore(telemetry): use same DSN for GUI and IPC service (#7667)
The application-split itself doesn't really warrant having two different
Sentry projects.

1. The location of the panic / log already tells us, which component is
failing.
2. Both of the projects are built with Rust so the same "platform"
setting applies.
3. Reducing the number of Sentry projects makes things easier to manage.
4. The binaries are started as independent processes, so the two Sentry
contexts don't interfere.

What we should keep in mind is that one instance of an application will
now log into Sentry twice using the same DSN. I _think_ this means that
the number of sessions listed in Sentry will be double the number of
actual client-runs. The same is true for the Apple client though and
once we integrate Sentry for Android, the same will apply there so
relative to each other, those numbers still make sense.
2025-01-05 18:26:45 +00:00
Jamil
b6aed36c2c feat(apple): Set account slug from Swift -> Rust to hydrate Sentry with (#7662)
- Refactor Telemetry module to expose firezoneId and accountSlug for
easier access in the Adapter module
- Set accountSlug to WrappedSession.connect for hydrating the Rust
sentry context
2025-01-04 02:48:06 +00:00
dependabot[bot]
c423c34aa7 build(deps): Bump the tauri group in /rust with 4 updates (#7657)
Bumps the tauri group in /rust with 3 updates:
[tauri](https://github.com/tauri-apps/tauri),
[tauri-runtime](https://github.com/tauri-apps/tauri) and
[tauri-utils](https://github.com/tauri-apps/tauri).

Updates `tauri` from 2.0.4 to 2.0.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases">tauri's
releases</a>.</em></p>
<blockquote>
<h2>tauri v2.0.5</h2>
<!-- raw HTML omitted -->
<pre><code>Updating git repository
`https://github.com/tauri-apps/schemars.git`
    Updating crates.io index
     Locking 1027 packages to latest compatible versions
      Adding ahash v0.7.8 (latest: v0.8.11)
      Adding aligned-vec v0.5.0 (latest: v0.6.1)
      Adding asn1-rs v0.5.2 (latest: v0.6.2)
      Adding asn1-rs-derive v0.4.0 (latest: v0.5.1)
      Adding asn1-rs-impl v0.1.0 (latest: v0.2.0)
      Adding base16ct v0.1.1 (latest: v0.2.0)
      Adding base64 v0.13.1 (latest: v0.22.1)
      Adding base64 v0.21.7 (latest: v0.22.1)
      Adding bit-set v0.5.3 (latest: v0.8.0)
      Adding bit-vec v0.6.3 (latest: v0.8.0)
      Adding bitfield v0.14.0 (latest: v0.17.0)
      Adding bitflags v1.3.2 (latest: v2.6.0)
      Adding bytecheck v0.6.12 (latest: v0.8.0)
      Adding bytecheck_derive v0.6.12 (latest: v0.8.0)
      Adding cairo-rs v0.18.5 (latest: v0.20.1)
      Adding cairo-sys-rs v0.18.2 (latest: v0.20.0)
      Adding cargo_toml v0.17.2 (latest: v0.20.5)
      Adding cfb v0.7.3 (latest: v0.10.0)
      Adding cfg-expr v0.15.8 (latest: v0.17.0)
      Adding convert_case v0.4.0 (latest: v0.6.0)
      Adding core-foundation v0.9.4 (latest: v0.10.0)
      Adding crypto-bigint v0.4.9 (latest: v0.5.5)
      Adding cssparser v0.27.2 (latest: v0.34.0)
      Adding der v0.6.1 (latest: v0.7.9)
      Adding derive_more v0.99.18 (latest: v1.0.0)
      Adding ecdsa v0.14.8 (latest: v0.16.9)
      Adding elliptic-curve v0.12.3 (latest: v0.13.8)
      Adding encode_unicode v0.3.6 (latest: v1.0.0)
      Adding env_logger v0.8.4 (latest: v0.11.5)
      Adding env_logger v0.10.2 (latest: v0.11.5)
      Adding ff v0.12.1 (latest: v0.13.0)
      Adding float-cmp v0.9.0 (latest: v0.10.0)
      Adding fluent-uri v0.1.4 (latest: v0.3.2)
      Adding fontdb v0.21.0 (latest: v0.23.0)
      Adding foreign-types v0.3.2 (latest: v0.5.0)
      Adding foreign-types-shared v0.1.1 (latest: v0.3.1)
      Adding gdk-pixbuf v0.18.5 (latest: v0.20.4)
      Adding gdk-pixbuf-sys v0.18.0 (latest: v0.20.4)
      Adding generic-array v0.14.7 (latest: v1.1.0)
      Adding getrandom v0.1.16 (latest: v0.2.15)
      Adding gio v0.18.4 (latest: v0.20.4)
      Adding gio-sys v0.18.1 (latest: v0.20.4)
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="1367ff5ec6"><code>1367ff5</code></a>
apply version updates (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11373">#11373</a>)</li>
<li><a
href="fbb45c674c"><code>fbb45c6</code></a>
fix(api): broken <code>addPluginListener</code> implementation, closes
<a
href="https://redirect.github.com/tauri-apps/tauri/issues/8068">#8068</a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11423">#11423</a>)</li>
<li><a
href="eb61d44f9f"><code>eb61d44</code></a>
feat(core): fallback to Window and AppHandle resource table on close (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11398">#11398</a>)</li>
<li><a
href="c8f55b615d"><code>c8f55b6</code></a>
feat(bundler): add <code>wix &gt; version</code> option (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11388">#11388</a>)</li>
<li><a
href="bd1b2a1e85"><code>bd1b2a1</code></a>
chore(deps) Update Tauri API Definitions (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/10807">#10807</a>)</li>
<li><a
href="37557ffa35"><code>37557ff</code></a>
chore(deps) Update Tauri CLI (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/10808">#10808</a>)</li>
<li><a
href="6cd917c227"><code>6cd917c</code></a>
feat(core): add methods for predefined items with specific text on
`Menu/Subm...</li>
<li><a
href="8278a36318"><code>8278a36</code></a>
chore(deps) Update Rust crate uuid to v1.11.0 (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11049">#11049</a>)</li>
<li><a
href="f8b559dacd"><code>f8b559d</code></a>
chore(deps) Update Rust crate windows-registry to 0.3.0 (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11193">#11193</a>)</li>
<li><a
href="add09c8034"><code>add09c8</code></a>
chore(deps) Update Rust crate brotli to v7 (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11195">#11195</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tauri-apps/tauri/compare/tauri-v2.0.4...tauri-v2.0.5">compare
view</a></li>
</ul>
</details>
<br />

Updates `tauri-runtime` from 2.1.0 to 2.3.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases">tauri-runtime's
releases</a>.</em></p>
<blockquote>
<h2>tauri-runtime v2.3.0</h2>
<!-- raw HTML omitted -->
<pre><code>Updating git repository
`https://github.com/tauri-apps/schemars.git`
    Updating crates.io index
     Locking 1040 packages to latest compatible versions
      Adding apple-codesign v0.27.0 (available: v0.29.0)
      Adding axum v0.7.9 (available: v0.8.1)
      Adding cargo_toml v0.17.2 (available: v0.21.0)
      Adding html5ever v0.26.0 (available: v0.29.0)
      Adding hyper v0.14.32 (available: v1.5.2)
      Adding itertools v0.13.0 (available: v0.14.0)
      Adding minisign v0.7.3 (available: v0.7.9)
      Adding oxc_allocator v0.36.0 (available: v0.44.0)
      Adding oxc_ast v0.36.0 (available: v0.44.0)
      Adding oxc_parser v0.36.0 (available: v0.44.0)
      Adding oxc_span v0.36.0 (available: v0.44.0)
      Adding proc-macro-crate v2.0.0 (available: v2.0.2)
      Adding serialize-to-javascript v0.1.1 (available: v0.1.2)
      Adding serialize-to-javascript-impl v0.1.1 (available: v0.1.2)
      Adding tauri-utils v1.6.0 (available: v1.6.1)
      Adding tiny_http v0.11.0 (available: v0.12.0)
      Adding which v4.4.2 (available: v7.0.1)
      Adding x509-certificate v0.23.1 (available: v0.24.0)
Fetching advisory database from
`https://github.com/RustSec/advisory-db.git`
Loaded 722 security advisories (from /home/runner/.cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (1065 crate dependencies)
Crate:     atk
Version:   0.18.2
Warning:   unmaintained
Title:     gtk-rs GTK3 bindings - no longer maintained
Date:      2024-03-04
ID:        RUSTSEC-2024-0413
URL:       https://rustsec.org/advisories/RUSTSEC-2024-0413
Dependency tree:
atk 0.18.2
└── gtk 0.18.2
    ├── wry 0.48.0
    │   └── tauri-runtime-wry 2.3.0
    │       └── tauri 2.2.0
    │           ├── tauri-plugin-sample 0.1.0
    │           │   └── api 0.1.0
    │           ├── tauri-plugin-log 2.2.0
    │           │   └── api 0.1.0
    │           ├── tauri-file-associations-demo 0.1.0
    │           ├── tauri 2.2.0
    │           ├── restart 0.1.0
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cd841d8e33"><code>cd841d8</code></a>
Apply Version Updates From Current Changes (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11659">#11659</a>)</li>
<li><a
href="3d8a39aa4a"><code>3d8a39a</code></a>
chore(deps): update rust crate resvg to 0.44.0 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12126">#12126</a>)</li>
<li><a
href="50e92d097b"><code>50e92d0</code></a>
chore(deps): update rust crate worker to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12127">#12127</a>)</li>
<li><a
href="bc4dfcd798"><code>bc4dfcd</code></a>
chore(deps): update rust crate pico-args to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12125">#12125</a>)</li>
<li><a
href="832ad10e3a"><code>832ad10</code></a>
chore(deps): update rust crate cargo_metadata to 0.19 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12113">#12113</a>)</li>
<li><a
href="0198354961"><code>0198354</code></a>
chore(deps): update rust crate oxc crates to 0.38 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12122">#12122</a>)</li>
<li><a
href="c0a5a10cff"><code>c0a5a10</code></a>
chore(deps): update rust crate notify-debouncer-mini to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12118">#12118</a>)</li>
<li><a
href="d7f48cb324"><code>d7f48cb</code></a>
chore(deps): Update <code>jsonschema</code> to <code>0.28</code> (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12089">#12089</a>)</li>
<li><a
href="a16796a555"><code>a16796a</code></a>
fix(api): use array for channel queueing (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12069">#12069</a>)</li>
<li><a
href="231e9a5ee1"><code>231e9a5</code></a>
chore(deps): update rust crate image to 0.25.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12105">#12105</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tauri-apps/tauri/compare/tauri-runtime-v2.1.0...tauri-runtime-v2.3.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `tauri-utils` from 2.0.1 to 2.1.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases">tauri-utils's
releases</a>.</em></p>
<blockquote>
<h2>tauri-utils v2.1.1</h2>
<!-- raw HTML omitted -->
<pre><code>Updating git repository
`https://github.com/tauri-apps/schemars.git`
    Updating crates.io index
     Locking 1040 packages to latest compatible versions
      Adding apple-codesign v0.27.0 (available: v0.29.0)
      Adding axum v0.7.9 (available: v0.8.1)
      Adding cargo_toml v0.17.2 (available: v0.21.0)
      Adding html5ever v0.26.0 (available: v0.29.0)
      Adding hyper v0.14.32 (available: v1.5.2)
      Adding itertools v0.13.0 (available: v0.14.0)
      Adding minisign v0.7.3 (available: v0.7.9)
      Adding oxc_allocator v0.36.0 (available: v0.44.0)
      Adding oxc_ast v0.36.0 (available: v0.44.0)
      Adding oxc_parser v0.36.0 (available: v0.44.0)
      Adding oxc_span v0.36.0 (available: v0.44.0)
      Adding proc-macro-crate v2.0.0 (available: v2.0.2)
      Adding serialize-to-javascript v0.1.1 (available: v0.1.2)
      Adding serialize-to-javascript-impl v0.1.1 (available: v0.1.2)
      Adding tauri-utils v1.6.0 (available: v1.6.1)
      Adding tiny_http v0.11.0 (available: v0.12.0)
      Adding which v4.4.2 (available: v7.0.1)
      Adding x509-certificate v0.23.1 (available: v0.24.0)
Fetching advisory database from
`https://github.com/RustSec/advisory-db.git`
Loaded 722 security advisories (from /home/runner/.cargo/advisory-db)
    Updating crates.io index
    Scanning Cargo.lock for vulnerabilities (1065 crate dependencies)
Crate:     atk
Version:   0.18.2
Warning:   unmaintained
Title:     gtk-rs GTK3 bindings - no longer maintained
Date:      2024-03-04
ID:        RUSTSEC-2024-0413
URL:       https://rustsec.org/advisories/RUSTSEC-2024-0413
Dependency tree:
atk 0.18.2
└── gtk 0.18.2
    ├── wry 0.48.0
    │   └── tauri-runtime-wry 2.3.0
    │       └── tauri 2.2.0
    │           ├── tauri-plugin-sample 0.1.0
    │           │   └── api 0.1.0
    │           ├── tauri-plugin-log 2.2.0
    │           │   └── api 0.1.0
    │           ├── tauri-file-associations-demo 0.1.0
    │           ├── tauri 2.2.0
    │           ├── restart 0.1.0
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cd841d8e33"><code>cd841d8</code></a>
Apply Version Updates From Current Changes (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11659">#11659</a>)</li>
<li><a
href="3d8a39aa4a"><code>3d8a39a</code></a>
chore(deps): update rust crate resvg to 0.44.0 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12126">#12126</a>)</li>
<li><a
href="50e92d097b"><code>50e92d0</code></a>
chore(deps): update rust crate worker to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12127">#12127</a>)</li>
<li><a
href="bc4dfcd798"><code>bc4dfcd</code></a>
chore(deps): update rust crate pico-args to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12125">#12125</a>)</li>
<li><a
href="832ad10e3a"><code>832ad10</code></a>
chore(deps): update rust crate cargo_metadata to 0.19 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12113">#12113</a>)</li>
<li><a
href="0198354961"><code>0198354</code></a>
chore(deps): update rust crate oxc crates to 0.38 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12122">#12122</a>)</li>
<li><a
href="c0a5a10cff"><code>c0a5a10</code></a>
chore(deps): update rust crate notify-debouncer-mini to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12118">#12118</a>)</li>
<li><a
href="d7f48cb324"><code>d7f48cb</code></a>
chore(deps): Update <code>jsonschema</code> to <code>0.28</code> (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12089">#12089</a>)</li>
<li><a
href="a16796a555"><code>a16796a</code></a>
fix(api): use array for channel queueing (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12069">#12069</a>)</li>
<li><a
href="231e9a5ee1"><code>231e9a5</code></a>
chore(deps): update rust crate image to 0.25.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12105">#12105</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tauri-apps/tauri/compare/tauri-utils-v2.0.1...tauri-utils-v2.1.1">compare
view</a></li>
</ul>
</details>
<br />


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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2025-01-03 21:28:37 +00:00
dependabot[bot]
e351b9c640 build(deps): Bump the tauri group in /rust/gui-client with 2 updates (#7660)
Bumps the tauri group in /rust/gui-client with 2 updates:
[@tauri-apps/api](https://github.com/tauri-apps/tauri) and
[@tauri-apps/cli](https://github.com/tauri-apps/tauri).

Updates `@tauri-apps/api` from 2.1.1 to 2.2.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases"><code>@​tauri-apps/api</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​tauri-apps/api</code> v2.2.0</h2>
<!-- raw HTML omitted -->
<pre><code>No known vulnerabilities found
</code></pre>
<!-- raw HTML omitted -->
<h2>[2.2.0]</h2>
<h3>New Features</h3>
<ul>
<li>
<p><a
href="020ea05561"><code>020ea0556</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11661">#11661</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../ahqsoftwares"><code>@​ahqsoftwares</code></a>)
Add badging APIs:</p>
<ul>
<li><code>Window/WebviewWindow::set_badge_count</code> for Linux, macOS
and IOS.</li>
<li><code>Window/WebviewWindow::set_overlay_icon</code> for Windows
Only.</li>
<li><code>Window/WebviewWindow::set_badge_label</code>for macOS
Only.</li>
</ul>
</li>
<li>
<p><a
href="fc30b20bea"><code>fc30b20be</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11726">#11726</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../amrbashir"><code>@​amrbashir</code></a>)
Add <code>TrayIcon.setShowMenuOnLeftClick</code> method and deprecate
<code>TrayIcon.setMenuOnLeftClick</code> to match the Rust API.</p>
</li>
<li>
<p><a
href="fc30b20bea"><code>fc30b20be</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11726">#11726</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../amrbashir"><code>@​amrbashir</code></a>)
Add <code>TrayIconOptions.showMenuOnLeftClick</code> field and deprecate
<code>TrayIconOptions.menuOnLeftClick</code> to match the Rust API.</p>
</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li><a
href="fc30b20bea"><code>fc30b20be</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11726">#11726</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../amrbashir"><code>@​amrbashir</code></a>)
Add support for <code>TrayIconOptions.menuOnLeftClick</code> option and
<code>TrayIcon.setMenuOnLeftClick</code> on Windows.</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="a16796a555"><code>a16796a55</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/12069">#12069</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../Legend-Master"><code>@​Legend-Master</code></a>)
Fix <code>Channel</code> never calls <code>onmessage</code> in some
cases</li>
<li><a
href="12a48d1e26"><code>12a48d1e2</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11741">#11741</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../amrbashir"><code>@​amrbashir</code></a>)
Fix error when calling <code>PredefinedMenuItem.new</code> to create an
<code>About</code> menu item that uses an <code>Image</code> instance
for the about icon.</li>
<li><a
href="12a48d1e26"><code>12a48d1e2</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11741">#11741</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../amrbashir"><code>@​amrbashir</code></a>)
Fix error when calling <code>IconMenuItem.new</code> using an
<code>Image</code> instance for the icon.</li>
<li><a
href="b63262cd4d"><code>b63262cd4</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11724">#11724</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../FabianLars"><code>@​FabianLars</code></a>)
Removed the generic in the type of the callback function argument in
<code>mockIPC</code> which prevented its proper use in tests using
TypeScript.</li>
<li><a
href="a6e84f7d2c"><code>a6e84f7d2</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11835">#11835</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../ilittlebig"><code>@​ilittlebig</code></a>)
Fix error where using <code>isAbsolute</code> would return <code>Command
not found</code>.</li>
</ul>
<!-- raw HTML omitted -->
<pre><code>&gt; @tauri-apps/api@2.2.0 npm-publish
/home/runner/work/tauri/tauri/packages/api
&gt; pnpm build &amp;&amp; cd ./dist &amp;&amp; pnpm publish --access
public --loglevel silly --no-git-checks
<p>&gt; <code>@​tauri-apps/api</code><a
href="https://github.com/2"><code>@​2</code></a>.2.0 build
/home/runner/work/tauri/tauri/packages/api
&gt; rollup -c --configPlugin typescript</p>
<p>
./src/app.ts, ./src/core.ts, ./src/dpi.ts, ./src/event.ts,
./src/image.ts, ./src/index.ts, ./src/menu.ts, ./src/mocks.ts,
./src/path.ts, ./src/tray.ts, ./src/webview.ts, ./src/webviewWindow.ts,
./src/window.ts → ./dist, ./dist...
created ./dist, ./dist in 1.3s

src/index.ts →
../../crates/tauri/scripts/bundle.global.js...
&lt;/tr&gt;&lt;/table&gt;
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="cd841d8e33"><code>cd841d8</code></a>
Apply Version Updates From Current Changes (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11659">#11659</a>)</li>
<li><a
href="3d8a39aa4a"><code>3d8a39a</code></a>
chore(deps): update rust crate resvg to 0.44.0 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12126">#12126</a>)</li>
<li><a
href="50e92d097b"><code>50e92d0</code></a>
chore(deps): update rust crate worker to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12127">#12127</a>)</li>
<li><a
href="bc4dfcd798"><code>bc4dfcd</code></a>
chore(deps): update rust crate pico-args to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12125">#12125</a>)</li>
<li><a
href="832ad10e3a"><code>832ad10</code></a>
chore(deps): update rust crate cargo_metadata to 0.19 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12113">#12113</a>)</li>
<li><a
href="0198354961"><code>0198354</code></a>
chore(deps): update rust crate oxc crates to 0.38 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12122">#12122</a>)</li>
<li><a
href="c0a5a10cff"><code>c0a5a10</code></a>
chore(deps): update rust crate notify-debouncer-mini to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12118">#12118</a>)</li>
<li><a
href="d7f48cb324"><code>d7f48cb</code></a>
chore(deps): Update <code>jsonschema</code> to <code>0.28</code> (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12089">#12089</a>)</li>
<li><a
href="a16796a555"><code>a16796a</code></a>
fix(api): use array for channel queueing (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12069">#12069</a>)</li>
<li><a
href="231e9a5ee1"><code>231e9a5</code></a>
chore(deps): update rust crate image to 0.25.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12105">#12105</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tauri-apps/tauri/compare/@tauri-apps/api-v2.1.1...@tauri-apps/api-v2.2.0">compare
view</a></li>
</ul>
</details>
<br />

Updates `@tauri-apps/cli` from 2.1.0 to 2.2.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tauri-apps/tauri/releases"><code>@​tauri-apps/cli</code>'s
releases</a>.</em></p>
<blockquote>
<h2><code>@​tauri-apps/cli</code> v2.2.1</h2>
<h2>[2.2.1]</h2>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="881729448c"><code>881729448</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/12164">#12164</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../FabianLars"><code>@​FabianLars</code></a>)
Fixed an issue that caused <code>tauri dev</code> to crash before
showing the app on Linux.</li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>Upgraded to <code>tauri-cli@2.2.1</code></li>
</ul>
<h2><code>@​tauri-apps/cli</code> v2.2.0</h2>
<h2>[2.2.0]</h2>
<h3>New Features</h3>
<ul>
<li><a
href="cccb308c7b"><code>cccb308c7</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11562">#11562</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../jLynx"><code>@​jLynx</code></a>)
Generate signature for <code>.deb</code> packages when
<code>createUpdaterArtifacts</code> option is enabled.</li>
<li><a
href="74212d40d8"><code>74212d40d</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11653">#11653</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../amrbashir"><code>@​amrbashir</code></a>)
Include Linux destkop environment and session type in <code>tauri
info</code> command.</li>
</ul>
<h3>Enhancements</h3>
<ul>
<li><a
href="93a3a043d3"><code>93a3a043d</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11727">#11727</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../Kiyozz"><code>@​Kiyozz</code></a>)
Add support for <code>Portuguese</code> language for NSIS windows
installer.</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><a
href="c8700656be"><code>c8700656b</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11985">#11985</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../ShaunSHamilton"><code>@​ShaunSHamilton</code></a>)
Fix <code>tauri remove</code> from removing object type
(<code>{}</code>) permissions.</li>
<li><a
href="0ae06c5ca8"><code>0ae06c5ca</code></a>
(<a
href="https://redirect.github.com/tauri-apps/tauri/pull/11914">#11914</a>
by <a
href="https://www.github.com/tauri-apps/tauri/../../wtto00"><code>@​wtto00</code></a>)
Fix the exclude path in file <code>Cargo.toml</code> of plugin template
generated by cli. Path changed in <a
href="https://redirect.github.com/tauri-apps/tauri/pull/9346">#9346</a></li>
</ul>
<h3>Dependencies</h3>
<ul>
<li>Upgraded to <code>tauri-cli@2.2.0</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d150a40b09"><code>d150a40</code></a>
Apply Version Updates From Current Changes (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12165">#12165</a>)</li>
<li><a
href="881729448c"><code>8817294</code></a>
fix(cli): Ignore file access events (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12164">#12164</a>)</li>
<li><a
href="cd841d8e33"><code>cd841d8</code></a>
Apply Version Updates From Current Changes (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/11659">#11659</a>)</li>
<li><a
href="3d8a39aa4a"><code>3d8a39a</code></a>
chore(deps): update rust crate resvg to 0.44.0 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12126">#12126</a>)</li>
<li><a
href="50e92d097b"><code>50e92d0</code></a>
chore(deps): update rust crate worker to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12127">#12127</a>)</li>
<li><a
href="bc4dfcd798"><code>bc4dfcd</code></a>
chore(deps): update rust crate pico-args to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12125">#12125</a>)</li>
<li><a
href="832ad10e3a"><code>832ad10</code></a>
chore(deps): update rust crate cargo_metadata to 0.19 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12113">#12113</a>)</li>
<li><a
href="0198354961"><code>0198354</code></a>
chore(deps): update rust crate oxc crates to 0.38 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12122">#12122</a>)</li>
<li><a
href="c0a5a10cff"><code>c0a5a10</code></a>
chore(deps): update rust crate notify-debouncer-mini to 0.5 (dev) (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12118">#12118</a>)</li>
<li><a
href="d7f48cb324"><code>d7f48cb</code></a>
chore(deps): Update <code>jsonschema</code> to <code>0.28</code> (<a
href="https://redirect.github.com/tauri-apps/tauri/issues/12089">#12089</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tauri-apps/tauri/compare/@tauri-apps/cli-v2.1.0...@tauri-apps/cli-v2.2.1">compare
view</a></li>
</ul>
</details>
<br />


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 <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-03 19:16:26 +00:00
dependabot[bot]
272bef25dd build(deps-dev): Bump vite from 6.0.6 to 6.0.7 in /rust/gui-client (#7653)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite)
from 6.0.6 to 6.0.7.
<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.7</h2>
<p>Please refer to <a
href="https://github.com/vitejs/vite/blob/v6.0.7/packages/vite/CHANGELOG.md">CHANGELOG.md</a>
for details.</p>
</blockquote>
</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.7 (2025-01-02)<!-- raw HTML omitted
--></h2>
<ul>
<li>fix: fix <code>minify</code> when <code>builder.sharedPlugins:
true</code> (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19025">#19025</a>)
(<a
href="f7b1964d3a">f7b1964</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19025">#19025</a></li>
<li>fix: skip the plugin if it has been called before with the same id
and importer (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19016">#19016</a>)
(<a
href="b178c90c7d">b178c90</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19016">#19016</a></li>
<li>fix(html): error while removing <code>vite-ignore</code> attribute
for inline script (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19062">#19062</a>)
(<a
href="a4922537a8">a492253</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19062">#19062</a></li>
<li>fix(ssr): fix semicolon injection by ssr transform (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19097">#19097</a>)
(<a
href="1c102d517d">1c102d5</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19097">#19097</a></li>
<li>perf: skip globbing for static path in warmup (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19107">#19107</a>)
(<a
href="677508bf82">677508b</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19107">#19107</a></li>
<li>feat(css): show lightningcss warnings (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19076">#19076</a>)
(<a
href="b07c036faf">b07c036</a>),
closes <a
href="https://redirect.github.com/vitejs/vite/issues/19076">#19076</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="a671e58af4"><code>a671e58</code></a>
release: v6.0.7</li>
<li><a
href="1c102d517d"><code>1c102d5</code></a>
fix(ssr): fix semicolon injection by ssr transform (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19097">#19097</a>)</li>
<li><a
href="677508bf82"><code>677508b</code></a>
perf: skip globbing for static path in warmup (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19107">#19107</a>)</li>
<li><a
href="b178c90c7d"><code>b178c90</code></a>
fix: skip the plugin if it has been called before with the same id and
import...</li>
<li><a
href="a4922537a8"><code>a492253</code></a>
fix(html): error while removing <code>vite-ignore</code> attribute for
inline script (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/1">#1</a>...</li>
<li><a
href="b07c036faf"><code>b07c036</code></a>
feat(css): show lightningcss warnings (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19076">#19076</a>)</li>
<li><a
href="f7b1964d3a"><code>f7b1964</code></a>
fix: fix <code>minify</code> when <code>builder.sharedPlugins:
true</code> (<a
href="https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/19025">#19025</a>)</li>
<li>See full diff in <a
href="https://github.com/vitejs/vite/commits/v6.0.7/packages/vite">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=6.0.6&new-version=6.0.7)](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-01-03 16:32:26 +00:00
dependabot[bot]
ca4cab8dee build(deps): Bump chrono from 0.4.38 to 0.4.39 in /rust (#7643)
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.38 to
0.4.39.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/chronotope/chrono/releases">chrono's
releases</a>.</em></p>
<blockquote>
<h2>0.4.39</h2>
<h2>What's Changed</h2>
<ul>
<li><a
href="https://redirect.github.com/chronotope/chrono/issues/1577">#1577</a>:
Changed years_since documentation to match its implementation by <a
href="https://github.com/Taxalo"><code>@​Taxalo</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1578">chronotope/chrono#1578</a></li>
<li>Remove obsolete weird feature guard by <a
href="https://github.com/djc"><code>@​djc</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1582">chronotope/chrono#1582</a></li>
<li>Fix format::strftime docs link by <a
href="https://github.com/frederikhors"><code>@​frederikhors</code></a>
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1581">chronotope/chrono#1581</a></li>
<li>Fix micros (optional) limit in and_hms_micro_opt by <a
href="https://github.com/qrilka"><code>@​qrilka</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1584">chronotope/chrono#1584</a></li>
<li>Update windows-bindgen requirement from 0.56 to 0.57 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1589">chronotope/chrono#1589</a></li>
<li>native/date: Improve DelayedFormat doc re Panics by <a
href="https://github.com/behnam-oneschema"><code>@​behnam-oneschema</code></a>
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1590">chronotope/chrono#1590</a></li>
<li>Fix typo in rustdoc of <code>from_timestamp_nanos()</code> by <a
href="https://github.com/sgoll"><code>@​sgoll</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1591">chronotope/chrono#1591</a></li>
<li>Update windows-bindgen requirement from 0.57 to 0.58 by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1594">chronotope/chrono#1594</a></li>
<li>docs: document century cutoff for %y by <a
href="https://github.com/MarcoGorelli"><code>@​MarcoGorelli</code></a>
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1598">chronotope/chrono#1598</a></li>
<li>Checked <code>NaiveWeek</code> methods by <a
href="https://github.com/bragov4ik"><code>@​bragov4ik</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1600">chronotope/chrono#1600</a></li>
<li>Impl serde::Serialize and serde::Deserialize for TimeDelta by <a
href="https://github.com/Awpteamoose"><code>@​Awpteamoose</code></a> in
<a
href="https://redirect.github.com/chronotope/chrono/pull/1599">chronotope/chrono#1599</a></li>
<li>Derive
<code>PartialEq</code>,<code>Eq</code>,<code>Hash</code>,<code>Copy</code>
and <code>Clone</code> on <code>NaiveWeek</code> by <a
href="https://github.com/DSeeLP"><code>@​DSeeLP</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1618">chronotope/chrono#1618</a></li>
<li>Support ohos tzdata since ver.oh35 by <a
href="https://github.com/MirageLyu"><code>@​MirageLyu</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1613">chronotope/chrono#1613</a></li>
<li>Use Formatter::pad (instead of write_str) for Weekdays by <a
href="https://github.com/horazont"><code>@​horazont</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1621">chronotope/chrono#1621</a></li>
<li>Fix typos by <a
href="https://github.com/szepeviktor"><code>@​szepeviktor</code></a> in
<a
href="https://redirect.github.com/chronotope/chrono/pull/1623">chronotope/chrono#1623</a></li>
<li>Fix comment. by <a
href="https://github.com/khuey"><code>@​khuey</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1624">chronotope/chrono#1624</a></li>
<li>chore: add <code>#[inline]</code> to <code>num_days</code> by <a
href="https://github.com/CommanderStorm"><code>@​CommanderStorm</code></a>
in <a
href="https://redirect.github.com/chronotope/chrono/pull/1627">chronotope/chrono#1627</a></li>
<li>fix typo by <a
href="https://github.com/futreall"><code>@​futreall</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1633">chronotope/chrono#1633</a></li>
<li>Update mod.rs by <a
href="https://github.com/donatik27"><code>@​donatik27</code></a> in <a
href="https://redirect.github.com/chronotope/chrono/pull/1638">chronotope/chrono#1638</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="8b863490d8"><code>8b86349</code></a>
Bump version to 0.4.39</li>
<li><a
href="33aaebfc35"><code>33aaebf</code></a>
Update mod.rs</li>
<li><a
href="65c47f377d"><code>65c47f3</code></a>
Update CHANGELOG.md</li>
<li><a
href="ca8232ff4e"><code>ca8232f</code></a>
Update licenses for unicode-ident 1.0.14</li>
<li><a
href="1456fa0977"><code>1456fa0</code></a>
Apply suggestions from clippy 1.83</li>
<li><a
href="1c7567b34d"><code>1c7567b</code></a>
Bump codecov/codecov-action from 4 to 5</li>
<li><a
href="f9ffd6fbde"><code>f9ffd6f</code></a>
add <code>#[inline]</code> to <code>num_days</code></li>
<li><a
href="7974c60649"><code>7974c60</code></a>
Fix comment.</li>
<li><a
href="77d50b1fc1"><code>77d50b1</code></a>
Fix typos</li>
<li><a
href="771c0477bf"><code>771c047</code></a>
Use Formatter::pad (instead of write_str) for Weekdays</li>
<li>Additional commits viewable in <a
href="https://github.com/chronotope/chrono/compare/v0.4.38...v0.4.39">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=chrono&package-manager=cargo&previous-version=0.4.38&new-version=0.4.39)](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-01-03 15:32:24 +00:00
dependabot[bot]
571d3283ad build(deps-dev): Bump @types/node from 22.10.3 to 22.10.5 in /rust/gui-client (#7655)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 22.10.3 to 22.10.5.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.10.3&new-version=22.10.5)](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-01-03 14:44:18 +00:00
Thomas Eizinger
d1eb1961dc fix(connlib): recalculate overlapping CIDR routes less often (#7592)
Firezone needs to deterministically handle overlapping CIDR routes. The
way we handle this is that more specific routes are preferred over less
specific one. In case of an exact overlap, the sorting of the resource
ID acts as a tie-breaker: "Smaller" resource IDs preferred over "larger"
ones. This ensures that regardless of which order the resources are
added / enabled in, Firezone behaves deterministically.

In addition to the above rules, existing connections to Gateways always
have precedence: In other words, if we are connected to resource A via
Gateway 1 and resource B exactly overlaps with A yet needs to be routed
to Gateway B and B < A, we still retain resource A in order to not
interrupt existing connections.

When a connection to a Gateway fails, these mappings are cleaned up. The
proptests seeds added in this PR identify a routing mismatch in case a
(relayed) connection is cut, followed by adding a non-CIDR resource:
`connlib` recalculated the CIDR routes as part of adding the new
resource, even though the CIDR resources didn't actually change. This
could potentially result in a connection suddenly being routed to a
different Gateway despite nothing about that resource changing.

To fix this, we add a check for updating the CIDR routes and only
perform it in case CIDR resources get changed.
2025-01-03 14:35:32 +00:00
Jamil
309914a45d chore(android): release version 1.4.0 (#7649)
Bumps the Android client to the 1.4.0 release.

Tested in Android emulator.
2025-01-03 14:45:00 +00:00
Jamil
36cd9a18d2 docs: Update supported distros for Linux GUI client (#7647)
We have RPM builds and instructions for installing them, so I've moved
this to our docs.

Identified #7646 as a known issue.
2025-01-03 13:02:20 +00:00
dependabot[bot]
7972303dfa build(deps-dev): Bump vite from 5.4.10 to 6.0.6 in /rust/gui-client (#7634)
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 />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=vite&package-manager=npm_and_yarn&previous-version=5.4.10&new-version=6.0.6)](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-01-03 00:34:04 +00:00
dependabot[bot]
4f9930ddae build(deps-dev): Bump tailwindcss from 3.4.16 to 3.4.17 in /rust/gui-client (#7635)
Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from
3.4.16 to 3.4.17.
<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>v3.4.17</h2>
<h3>Fixed</h3>
<ul>
<li>Work around Node v22.12+ issue (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15421">#15421</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/tailwindlabs/tailwindcss/blob/v3.4.17/CHANGELOG.md">tailwindcss's
changelog</a>.</em></p>
<blockquote>
<h2>[3.4.17] - 2024-12-17</h2>
<h3>Fixed</h3>
<ul>
<li>Work around Node v22.12+ issue (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/15421">#15421</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4f9f603e12"><code>4f9f603</code></a>
Fix error</li>
<li><a
href="02faa1529e"><code>02faa15</code></a>
v3.4.17</li>
<li><a
href="e268b2aa96"><code>e268b2a</code></a>
Update changelog</li>
<li><a
href="0a836f76bb"><code>0a836f7</code></a>
Work around issue with Node 22 and Jiti (<a
href="https://redirect.github.com/tailwindlabs/tailwindcss/issues/15421">#15421</a>)</li>
<li>See full diff in <a
href="https://github.com/tailwindlabs/tailwindcss/compare/v3.4.16...v3.4.17">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=3.4.16&new-version=3.4.17)](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-01-02 19:31:01 +00:00
dependabot[bot]
b358a3cc64 build(deps-dev): Bump @types/node from 22.8.6 to 22.10.3 in /rust/gui-client (#7636)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 22.8.6 to 22.10.3.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@types/node&package-manager=npm_and_yarn&previous-version=22.8.6&new-version=22.10.3)](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-01-02 18:25:59 +00:00
dependabot[bot]
99b97ad261 build(deps): Bump zip from 2.2.1 to 2.2.2 in /rust (#7604)
Bumps [zip](https://github.com/zip-rs/zip2) from 2.2.1 to 2.2.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/zip-rs/zip2/releases">zip's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.2</h2>
<h3><!-- raw HTML omitted -->🐛 Bug Fixes</h3>
<ul>
<li>rewrite the EOCD/EOCD64 detection to fix extreme performance
regression (<a
href="https://redirect.github.com/zip-rs/zip2/issues/247">#247</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md">zip's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/zip-rs/zip2/compare/v2.2.1...v2.2.2">2.2.2</a>
- 2024-12-16</h2>
<h3><!-- raw HTML omitted -->🐛 Bug Fixes</h3>
<ul>
<li>rewrite the EOCD/EOCD64 detection to fix extreme performance
regression (<a
href="https://redirect.github.com/zip-rs/zip2/issues/247">#247</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="e074e09b83"><code>e074e09</code></a>
chore: release v2.2.2 (<a
href="https://redirect.github.com/zip-rs/zip2/issues/270">#270</a>)</li>
<li><a
href="33c71ccc80"><code>33c71cc</code></a>
fix: rewrite the EOCD/EOCD64 detection to fix extreme performance
regression ...</li>
<li><a
href="810d18a9a1"><code>810d18a</code></a>
deps: Relax dependency versions (<a
href="https://redirect.github.com/zip-rs/zip2/issues/243">#243</a>)</li>
<li>See full diff in <a
href="https://github.com/zip-rs/zip2/compare/v2.2.1...v2.2.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip&package-manager=cargo&previous-version=2.2.1&new-version=2.2.2)](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>
2024-12-30 18:03:21 +00:00
Thomas Eizinger
26824fb3c7 fix(gateway): check if we run with correct permissions (#7565)
The gateway needs either the `CAP_NET_ADMIN` capability or run as `root`
in order to access the TUN device as well as configure routes via
`netlink`. Running without either leads to "Permission denied" errors at
runtime. It is good to fail early in these kind of situations.

By checking for this capability early on during startup, these should no
longer surface later. As a bonus, we won't receive (unactionable) Sentry
alerts.

Resolves: #7559.

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2024-12-29 21:45:56 +00:00
Thomas Eizinger
cccd1635ed fix: mitigate panic within str0m for very early timestamps (#7582)
Bumps `str0m` to include a bug-fix for a panic related to arithmetic
operations on `Instant`s.

Related: https://github.com/algesten/str0m/pull/600.
Related: https://github.com/algesten/str0m/pull/602.
Fixes: #7568.
2024-12-29 09:04:21 +00:00
Thomas Eizinger
9789eb5353 refactor(gui-client): de-duplicte code for deleting subkey (#7574)
The current way this is implemented is a bit tricky to read. By
splitting out a dedicated function and adding some logging, it becomes
more apparent what we do here.

---------

Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
2024-12-29 08:45:50 +00:00
dependabot[bot]
eedf852ebe build(deps): Bump time from 0.3.36 to 0.3.37 in /rust (#7575)
Bumps [time](https://github.com/time-rs/time) from 0.3.36 to 0.3.37.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/time-rs/time/releases">time's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.37</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's
changelog</a>.</em></p>
<blockquote>
<h2>0.3.37 [2024-12-03]</h2>
<h3>Added</h3>
<ul>
<li><code>Time::MAX</code>, equivalent to
<code>time!(23:59:59.999999999)</code></li>
<li><code>[year repr:century]</code> is now supported in format
descriptions. When used in conjunction with
<code>[year repr:last_two]</code>, there is sufficient information to
parse a date. Note that with the
<code>large-date</code> feature enabled, there is an ambiguity when
parsing the two back-to-back.</li>
<li>Parsing of <code>strftime</code>-style format descriptions, located
at
<code>time::format_description::parse_strftime_borrowed</code> and
<code>time::format_description::parse_strftime_owned</code></li>
<li><code>time::util::refresh_tz</code> and
<code>time::util::refresh_tz_unchecked</code>, which updates information
obtained via the <code>TZ</code> environment variable. This is
equivalent to the <code>tzset</code> syscall on Unix-like
systems, with and without built-in soundness checks, respectively.</li>
<li><code>Month::length</code> and <code>util::days_in_month</code>,
replacing <code>util::days_in_year_month</code>.</li>
<li>Expressions are permitted in
<code>time::serde::format_description!</code> rather than only paths.
This also
drastically improves diagnostics when an invalid value is provided.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>Obtaining the system UTC offset on Unix-like systems should now
succeed when multi-threaded.
However, if the <code>TZ</code> environment variable is altered, the
program will not be aware of this until
<code>time::util::refresh_tz</code> or
<code>time::util::refresh_tz_unchecked</code> is called.
<code>refresh_tz</code> has the
same soundness requirements as obtaining the system UTC offset
previously did, with the
requirements still being automatically enforced.
<code>refresh_tz_unchecked</code> does not enforce these
requirements at the expense of being <code>unsafe</code>. Most programs
should not need to call either
function.</p>
<p>Due to this change, the <code>time::util::local_offset</code> module
has been deprecated in its entirety. The
<code>get_soundness</code> and <code>set_soundness</code> functions are
now no-ops.</p>
<p>Note that while calls <em>should</em> succeed, success is not
guaranteed in any situation. Downstream
users should always be prepared to handle the error case.</p>
</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Floating point values are truncated, not rounded, when
formatting.</li>
<li>RFC3339 allows arbitrary separators between the date and time
components.</li>
<li>Serialization of negative <code>Duration</code>s less than one
second is now correct. It previously omitted
the negative sign.</li>
<li><code>From&lt;js_sys::Date&gt; for OffsetDateTime</code> now ensures
sub-millisecond values are not erroneously
returned.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d4e39b306d"><code>d4e39b3</code></a>
v0.3.37 release</li>
<li><a
href="09439970e5"><code>0943997</code></a>
Fix CI failure</li>
<li><a
href="8b50f04ee0"><code>8b50f04</code></a>
Update lints</li>
<li><a
href="56f1db6dfa"><code>56f1db6</code></a>
Add <code>Month::length</code>, <code>days_in_month</code></li>
<li><a
href="03bcfe9f28"><code>03bcfe9</code></a>
Skip formatting some macros, update UI tests</li>
<li><a
href="4404638fe2"><code>4404638</code></a>
Permit exprs in <code>serde::format_description!</code></li>
<li><a
href="6b43b44060"><code>6b43b44</code></a>
strftime implementation</li>
<li><a
href="98569ffe5b"><code>98569ff</code></a>
Hide deprecations from docs</li>
<li><a
href="febf3a10de"><code>febf3a1</code></a>
Obtain local offset in multi-threaded situations</li>
<li><a
href="1e19827c5a"><code>1e19827</code></a>
Update rstest and rstest_reuse; bump MSRV to 1.67.1 (<a
href="https://redirect.github.com/time-rs/time/issues/716">#716</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/time-rs/time/compare/v0.3.36...v0.3.37">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=time&package-manager=cargo&previous-version=0.3.36&new-version=0.3.37)](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>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-12-29 08:40:13 +00:00
dependabot[bot]
9067c2604a build(deps): Bump divan from 0.1.14 to 0.1.17 in /rust (#7576)
Bumps [divan](https://github.com/nvzqz/divan) from 0.1.14 to 0.1.17.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/nvzqz/divan/blob/main/CHANGELOG.md">divan's
changelog</a>.</em></p>
<blockquote>
<h2>[0.1.17] - 2024-12-04</h2>
<h3>Changed</h3>
<ul>
<li>
<p>Set [MSRV] to 1.80 for [<code>LazyLock</code>] and new
<code>size_of</code> prelude import.</p>
</li>
<li>
<p>Reduced thread pool memory usage by many kilobytes by using
rendezvous
channels instead of array-based channels.</p>
</li>
</ul>
<h2>[0.1.16] - 2024-11-25</h2>
<h3>Added</h3>
<ul>
<li>
<p>Thread pool for reusing threads across multi-threaded benchmarks. The
result
is that when running Divan benchmarks under a sampling profiler, the
profiler's output will be cleaner and easier to understand. (<a
href="https://redirect.github.com/nvzqz/divan/issues/37">#37</a>)</p>
</li>
<li>
<p>Track the maximum number of allocations during a benchmark.</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li>
<p>Make private <code>Arg::get</code> trait method not take
<code>self</code>, so that text editors
don't recommend using it. (<a
href="https://redirect.github.com/nvzqz/divan/issues/59">#59</a>)</p>
</li>
<li>
<p>Cache <code>BenchOptions</code> using <code>LazyLock</code> instead
of <code>OnceLock</code>, saving space and
simplifying the implementation.</p>
</li>
</ul>
<h2>[0.1.15] - 2024-10-31</h2>
<h3>Added</h3>
<ul>
<li>
<p>[<code>CyclesCount</code>] counter to display cycle throughput as
Hertz.</p>
</li>
<li>
<p>Track the maximum number of bytes allocated during a benchmark.</p>
</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Remove <code>has_cpuid</code> polyfill due to it no longer being
planned for Rust, since
CPUID is assumed to be available on all old x86 Rust targets.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>
<p>List generic benchmark type parameter <code>A&lt;4&gt;</code> before
<code>A&lt;32&gt;</code>. (<a
href="https://redirect.github.com/nvzqz/divan/issues/64">#64</a>)</p>
</li>
<li>
<p>Improve precision by using <code>f64</code> when calculating
allocation count and sizes
for the median samples.</p>
</li>
<li>
<p>Multi-thread allocation counting in <code>sum_alloc_tallies</code> on
macOS was loading a
null pointer instead of the pointer initialized by
<code>sync_threads</code>.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="899cd5ec69"><code>899cd5e</code></a>
Release v0.1.17</li>
<li><a
href="d450e6de4f"><code>d450e6d</code></a>
Set MSRV to 1.80</li>
<li><a
href="f5ff95b031"><code>f5ff95b</code></a>
Use <code>size_of</code> from the prelude</li>
<li><a
href="d214f882e2"><code>d214f88</code></a>
Allow <code>needless_lifetimes</code> Clippy lint</li>
<li><a
href="5499bc3058"><code>5499bc3</code></a>
Reduce thread pool memory usage</li>
<li><a
href="823b16001f"><code>823b160</code></a>
Add internal benchmark for <code>ThreadPool::broadcast</code></li>
<li><a
href="414ace96ad"><code>414ace9</code></a>
Use more consistent wording in thread pool docs</li>
<li><a
href="99a329b1d4"><code>99a329b</code></a>
add default for BenchArgs</li>
<li><a
href="9800477791"><code>9800477</code></a>
Release v0.1.16</li>
<li><a
href="11a44b8c98"><code>11a44b8</code></a>
Use <code>mach2</code> crate for <code>mach_thread_self</code>
example</li>
<li>Additional commits viewable in <a
href="https://github.com/nvzqz/divan/compare/v0.1.14...v0.1.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=divan&package-manager=cargo&previous-version=0.1.14&new-version=0.1.17)](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>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-12-29 08:38:48 +00:00
Thomas Eizinger
e7cc0e5eef fix(linux): don't fail on unsupported IP version (#7583)
Firezone always attempts to handle IPv4 and IPv6. On Linux systems
without an IPv6 stack, attempts to add an IPv6 route may fail with "Not
supported (os error 95)". We don't need the IPv6 routes on those systems
as we will never receive IPv6 traffic. Therefore, we can safely ignore
these errors and not log them.
2024-12-25 11:09:22 +00:00
Thomas Eizinger
1e2bab4420 chore(snownet): log attributes on message integrity failure (#7577)
We are receiving multiple reports of message, especially error messages
from relays, where the message integrity check fails. To get more
information as to why, this patch extends this error message with the
attributes of the request and response message.
2024-12-23 19:02:36 +00:00
Thomas Eizinger
d4aafcaf41 fix(gui-client): don't fail on repeated deep-links (#7572)
Firezone's authentication scheme uses deep-links to transfer the secret
token via the login-flow using the browser to the application. Such a
deep-link can be opened multiple times, even if we are already signed
in. In such a case, and in any other where we don't have a pending
sign-in request, we currently generate an error.

This is unnecessary as we can simply discard the token received from the
deep-link.
2024-12-23 16:39:46 +00:00
Thomas Eizinger
5b2d7f1adf fix(relay): don't warn when running in standalone mode (#7573) 2024-12-23 13:17:01 +00:00
Thomas Eizinger
6f0b471652 fix(gui-client): ensure IPC errors are mapped correctly (#7554)
In order to make sure that the correct error message is displayed to
users, we need to preserve error information as much as possible.
2024-12-23 11:44:09 +00:00
dependabot[bot]
fff97affcd build(deps): Bump zip from 2.2.0 to 2.2.1 in /rust (#7470)
Bumps [zip](https://github.com/zip-rs/zip2) from 2.2.0 to 2.2.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/zip-rs/zip2/releases">zip's
releases</a>.</em></p>
<blockquote>
<h2>v2.2.1</h2>
<h3><!-- raw HTML omitted -->🐛 Bug Fixes</h3>
<ul>
<li>remove executable bit (<a
href="https://redirect.github.com/zip-rs/zip2/pull/238">#238</a>)</li>
<li><em>(lzma)</em> fixed panic in case of invalid lzma stream (<a
href="https://redirect.github.com/zip-rs/zip2/pull/259">#259</a>)</li>
<li>resolve new clippy warnings on nightly (<a
href="https://redirect.github.com/zip-rs/zip2/pull/262">#262</a>)</li>
<li>resolve clippy warning in nightly (<a
href="https://redirect.github.com/zip-rs/zip2/pull/252">#252</a>)</li>
</ul>
<h3><!-- raw HTML omitted --> Performance</h3>
<ul>
<li>Faster cde rejection (<a
href="https://redirect.github.com/zip-rs/zip2/pull/255">#255</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md">zip's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/zip-rs/zip2/compare/v2.2.0...v2.2.1">2.2.1</a>
- 2024-11-20</h2>
<h3><!-- raw HTML omitted -->🐛 Bug Fixes</h3>
<ul>
<li>remove executable bit (<a
href="https://redirect.github.com/zip-rs/zip2/pull/238">#238</a>)</li>
<li><em>(lzma)</em> fixed panic in case of invalid lzma stream (<a
href="https://redirect.github.com/zip-rs/zip2/pull/259">#259</a>)</li>
<li>resolve new clippy warnings on nightly (<a
href="https://redirect.github.com/zip-rs/zip2/pull/262">#262</a>)</li>
<li>resolve clippy warning in nightly (<a
href="https://redirect.github.com/zip-rs/zip2/pull/252">#252</a>)</li>
</ul>
<h3><!-- raw HTML omitted --> Performance</h3>
<ul>
<li>Faster cde rejection (<a
href="https://redirect.github.com/zip-rs/zip2/pull/255">#255</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="2c03abc965"><code>2c03abc</code></a>
chore: release v2.2.1 (<a
href="https://redirect.github.com/zip-rs/zip2/issues/264">#264</a>)</li>
<li><a
href="591ce5d044"><code>591ce5d</code></a>
fix: remove executable bit (<a
href="https://redirect.github.com/zip-rs/zip2/issues/238">#238</a>)</li>
<li><a
href="ff877df425"><code>ff877df</code></a>
fix(lzma): fixed panic in case of invalid lzma stream (<a
href="https://redirect.github.com/zip-rs/zip2/issues/259">#259</a>)</li>
<li><a
href="0ea2744c89"><code>0ea2744</code></a>
Add function to raw copy files and update metadata (<a
href="https://redirect.github.com/zip-rs/zip2/issues/260">#260</a>)</li>
<li><a
href="a5722e6de8"><code>a5722e6</code></a>
build(<a
href="https://redirect.github.com/zip-rs/zip2/issues/237">#237</a>):
Don't implicitly enable <code>flate2/any_impl</code>, so that error when
mi...</li>
<li><a
href="de8e3d3ba5"><code>de8e3d3</code></a>
Use the tempfile crate instead of the tempdir crate (which is
deprecated) (<a
href="https://redirect.github.com/zip-rs/zip2/issues/254">#254</a>)</li>
<li><a
href="73143a0ad6"><code>73143a0</code></a>
perf: Faster cde rejection (<a
href="https://redirect.github.com/zip-rs/zip2/issues/255">#255</a>)</li>
<li><a
href="b8257f81bd"><code>b8257f8</code></a>
chore(deps): update thiserror requirement from 1.0.63 to 2.0.3 (<a
href="https://redirect.github.com/zip-rs/zip2/issues/258">#258</a>)</li>
<li><a
href="8abbf0e931"><code>8abbf0e</code></a>
ci(fuzz): Switch to <code>alf</code> for faster fuzzing (<a
href="https://redirect.github.com/zip-rs/zip2/issues/245">#245</a>)</li>
<li><a
href="1f2957db1f"><code>1f2957d</code></a>
fix: resolve new clippy warnings on nightly (<a
href="https://redirect.github.com/zip-rs/zip2/issues/262">#262</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/zip-rs/zip2/compare/v2.2.0...v2.2.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=zip&package-manager=cargo&previous-version=2.2.0&new-version=2.2.1)](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>
Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2024-12-22 12:16:49 +00:00
Thomas Eizinger
956bbbfd91 fix(gateway): translate ICMPv6's PacketTooBig error (#7567)
IPv6 treats fragmentation and MTU errors differently than IPv4. Rather
than requiring fragmentation on each hop of a routing path,
fragmentation needs to happen at the packet source and failure to route
a packet triggers an ICMPv6 `PacketTooBig` error.

These need to be translated back through our NAT64 implementation of the
Gateway. Due to the size difference in the headers of IPv4 and IPv6, the
available MTU to the IPv4 packet is 20 bytes _less_ than the MTU
reported by the ICMP error. IPv6 headers are always 40 bytes, meaning if
the MTU is reported as e.g. 1200 on the IPv6 side, we need to only offer
1180 to the IPv4 end of the application. Once the new MTU is then
honored, the packets translated by our NAT64 implementation will still
conform to the required MTU of 1200, despite the overhead introduced by
the translation.

Resolves: #7515.
2024-12-22 12:09:14 +00:00
dependabot[bot]
9fe9314040 build(deps): Bump tokio-stream from 0.1.16 to 0.1.17 in /rust (#7529)
Bumps [tokio-stream](https://github.com/tokio-rs/tokio) from 0.1.16 to
0.1.17.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="67355c6d23"><code>67355c6</code></a>
chore: prepare tokio-stream v0.1.17 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7020">#7020</a>)</li>
<li><a
href="405d746d38"><code>405d746</code></a>
signal: remove oneshot channels from tests (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7015">#7015</a>)</li>
<li><a
href="e0d1293fac"><code>e0d1293</code></a>
ci: add instructions that explain how to fix spellcheck errors (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7016">#7016</a>)</li>
<li><a
href="480c010b01"><code>480c010</code></a>
signal: add <code>SignalKind::info</code> on illumos (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/6995">#6995</a>)</li>
<li><a
href="c032ea0203"><code>c032ea0</code></a>
ci: detect trailing whitespace (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7013">#7013</a>)</li>
<li><a
href="0b31c2f73d"><code>0b31c2f</code></a>
chore: prepare tokio-util v0.7.13 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7012">#7012</a>)</li>
<li><a
href="129f9fc0c8"><code>129f9fc</code></a>
codec: fix incorrect handling of invalid utf-8 in
<code>LinesCodec::decode_eof</code> (#...</li>
<li><a
href="b5c227d51f"><code>b5c227d</code></a>
tracing: move tracing instrumentation tests into tokio tests (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7007">#7007</a>)</li>
<li><a
href="dcae2b9eb8"><code>dcae2b9</code></a>
ci: unfreeze FreeBSD from rustc 1.81 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7009">#7009</a>)</li>
<li><a
href="bb9d57017e"><code>bb9d570</code></a>
chore: prepare Tokio v1.42.0 (<a
href="https://redirect.github.com/tokio-rs/tokio/issues/7005">#7005</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tokio/compare/tokio-stream-0.1.16...tokio-stream-0.1.17">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-stream&package-manager=cargo&previous-version=0.1.16&new-version=0.1.17)](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>
2024-12-22 06:18:13 +00:00
Thomas Eizinger
5ff8668ec6 fix(gateway): treat TUN device update errors as fatal (#7566)
In case we fail to update the TUN device with its IPs or set the routes,
we currently just log a warning and continue operation. That isn't
ideal, setting the correct IPs and routes is crucial for the Gateway to
operate correctly.

Additionally, the design of sending the `Interface` through a separately
spawned task is kind of clunky. Instead of having a channel, we
introduce another `FuturesSet` that allows us to process these `async`
tasks inline within the event loop.
2024-12-22 06:17:22 +00:00
Thomas Eizinger
1009b80266 chore(gateway): provide more context on startup failure (#7564) 2024-12-20 16:11:25 +00:00
Thomas Eizinger
1dc6b46344 fix(connlib): regression seed failure (#7558)
In #7477, we introduced a regression in our test suite for DNS queries
that are forwarded through the tunnel.

In order to be deterministic when users configure overlapping CIDR
resources, we use the sort order of all CIDR resource IDs to pick, which
one "wins". To make sure existing connections are not interrupted, this
rule does not apply when we already have a connection to a gateway for a
resource. In other words, if a new CIDR resource (e.g. resource `A`) is
added to connlib that has an overlapping route with another resource
(e.g. resource `B`) but we already have a connection to resource `B`, we
will continue routing traffic for this CIDR range to resource `B`,
despite `A` sorting "before" `B`.

The regression that we introduced was that we did not account for
resources being "connected" after forwarding a query through the tunnel
to it. As a result, in the found failure case, the test suite was
expecting to route the packet to resource `A` because it did not know
that we are connected to resource `B` at the time of processing the ICMP
packet.
2024-12-20 09:59:58 +00:00
Thomas Eizinger
4dea4049da fix(telemetry): remove need for tracking our own user state (#7561)
Previously, we needed to track our own user state in order to set the
whole thing in Sentry. That was necessary because Sentry didn't allow us
to _retrieve_ the current user of the scope but always required the full
user to be set. This was changed
https://github.com/getsentry/sentry-rust/pull/715, which allows us to
remove some of that code and hopefully mitigating any sort of lingering
state when it comes to telemetry sessions.
2024-12-20 04:27:34 +00:00
Thomas Eizinger
c7a4221cb7 fix(gui-client): flush telemetry events on IPC service exit (#7557)
Due to how we currently initialise telemetry in the IPC service, I think
we are missing out on events when it _exits_ due to an error because we
don't explicitly stop the telemetry session. We have alerts from a fair
few users in Sentry where the IPC service appears to stop / disappear
but there are no corresponding events for the IPC service.
2024-12-19 20:06:47 +00:00
Thomas Eizinger
bc2febed99 fix(connlib): use correct constant for truncating DNS responses (#7551)
In case an upstream DNS server responds with a payload that exceeds the
available buffer space of an IP packet, we need to truncate the
response. Currently, this truncation uses the **wrong** constant to
check for the maximum allowed length. Instead of the
`MAX_DATAGRAM_PAYLOAD`, we actually need to check against a limit that
is less than the MTU as the IP layer and the UDP layer both add an
overhead.

To fix this, we introduce such a constant and provide additional
documentation on the remaining ones to hopefully avoid future errors.
2024-12-19 17:15:43 +00:00
Thomas Eizinger
af1834d0e5 build(deps): bump quinn-udp to 0.5.9 (#7556)
This release disables URO/GRO on Windows entirely due to hardware /
driver bugs.

Related: https://github.com/quinn-rs/quinn/issues/2041.
2024-12-19 15:19:54 +00:00
Thomas Eizinger
a1cf409af3 fix(connlib): clear all in-flight upstream DNS queries on reset (#7552)
When a Firezone Client roams, we reset all network connections and
rebind our local sockets. Doing that enables us to start from a clean
state and establish new connections to Gateways. What we are currently
not clearing are in-flight DNS queries. Those are all very likely to
fail because our network connection is changing. There is no point in us
keeping those around. Additionally, as part of roaming, it may also be
that our upstream DNS server changes and thus, we may suddenly receive a
response from a DNS server that we no longer know about.

Clear all in-flight DNS queries on reset solves this.
2024-12-18 20:35:30 +00:00
Thomas Eizinger
d39b6ff1b9 chore(gateway): don't log errors for untranslatable packets (#7541)
Certain packets cannot be translated as part of NAT64/46. The RFC says
to "Silently drop" those. Currently, we log all errors that happens
during the translation and don't follow this guideline.

Most of these "silently drop" errors are related to ICMP types that
cannot be represented in the other version such as ICMPv6 Neighbor
Solicitation.

To fix this, we introduce a new error type in the `ip_packet` module:
`ImpossibleTranslation`. For convenience reasons, we carry that one
through all layers as an `anyhow::Error` and test at the very top of the
event-loop, whether the root-cause of the error is such a failed
translation. If so, we ignore the error and move on. This isn't as
type-safe as it could be but it is much easier to implement.
Additionally, the risk of a bug here (i.e. if we stop emitting this
error within the IP packet translation layer) is merely that the log
will pop up again.

Resolves: #7516.
2024-12-18 20:35:08 +00:00
Thomas Eizinger
7df4389fa6 refactor(relay): avoid stringifying error early (#7553)
When the portal connection in a relay fails, we currently stringify the
error early. This is unnecessary and we should instead retain the full
error chain for as long as possible.
2024-12-18 18:13:55 +00:00
Thomas Eizinger
992b97e6a9 fix(connlib): bind new channel to peer if needed (#7548)
Initially, when we receive a new candidate from a remote peer, we bind a
channel for each remote address on the relay that we sampled. This
ensures that every possible communication path is actually functioning.
In ICE, all candidates are tried against each other, meaning the remote
will attempt to send from each of their candidates to every one of ours,
including our relay candidates. To allow this traffic, a channel needs
to be bound first.

For various reasons, an allocation might become stale or needs to be
otherwise invalidated. In that case, all the channel bindings are lost
but there might still be an active connection that wants to utilise
them. In that case, we will see "No channel" warnings like
https://firezone-inc.sentry.io/issues/6036662614/events/f8375883fd3243a4afbb27c36f253e23/.

To fix this, we use the attempt to encode a message for a channel as an
intent to bind a new one. This is deemed safe because wanting to encode
a message to a peer as a channel data message means we want such a
channel to exist. The first message here is still dropped but that is
better than not establishing the channel at all.
2024-12-18 17:15:17 +00:00
Thomas Eizinger
8e0f00a3a6 fix(relay): buffer packets in case IO is busy (#7536)
At present, the relay's event-loop simply drops a UDP packet in case the
socket is not ready for writing. This is terrible for throughput because
it means the encapsulated packet within the WG payload needs to be
retransmitted by the source after a timeout. To avoid this, we instead
buffer the packet and suspend the event loop until it has been correctly
flushed out. This may still cause packet loss because the receive buffer
may overflow in the meantime. However, there is nothing we can do about
that because UDP itself doesn't have any backpressure.

The relay listens on many sockets at once via a separate worker thread
and an `mio` event-loop. In addition to the current subscription to
readable event, we now also subscribe to writable events.

At the very top of the relay's event-loop, we insert a `flush` function
that ensures all buffered packets have been written out and - in case
writing a packet fails - suspends the event-loop with a waker. If we
receive a new event for write-readiness, we wake the waker which will
trigger a new call to `Eventloop::poll` where we again try to flush the
pending packet. We don't bother with tracking exactly, which socket sent
the write-readiness and which socket we have still pending packets in.
Instead, we suspend the entire event-loop until all pending packets have
been flushed.

Resolves: #7519.
2024-12-18 17:01:24 +00:00
Thomas Eizinger
a80abec4ff refactor(connlib): remove unused branch in match (#7550)
When deciding what to do with a certain DNS query, we check whether the
domain name in question corresponds to any of the (wildcard) DNS
resource addresses. If yes, we resolve it to the resource ID of that
resource. The source of those resource IDs is the `dns_resources` map.

If we have looked up a `ResourceId` in that map, it is impossible for it
to not be "known" which means the branch deleted in this PR is
completely redundant and already covered by the catch-all branch where
`maybe_resource` is `None`.
2024-12-18 15:47:15 +00:00
Thomas Eizinger
940438217c docs(rust): fix profiling command (#7547)
Signed-off-by: Thomas Eizinger <thomas@eizinger.io>
2024-12-18 13:01:23 +00:00
Thomas Eizinger
62dfe65679 chore(connlib): improve error messages for failed translations (#7540) 2024-12-18 04:47:26 +00:00
Thomas Eizinger
40ff26ce1a chore: remove commented out import (#7539) 2024-12-17 21:00:20 +00:00
Thomas Eizinger
8a1b6f26b4 fix(connlib): don't log warnings for unreachable errors (#7537)
When a Gateway or Client is running in an environment without IPv4 or
IPv6 connectivity, our initial probes for sending packets to the relays
will fail with network unreachable. That isn't a very big concern and
happens a lot in the wild. There is no need to report these as telemetry
events.

Resolves: #7514.
2024-12-17 17:59:20 +00:00