Commit Graph

7431 Commits

Author SHA1 Message Date
dependabot[bot]
d3adffeb44 build(deps): bump next from 14.2.26 to 15.3.3 in /website (#9333)
Bumps [next](https://github.com/vercel/next.js) from 14.2.26 to 15.3.3.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vercel/next.js/releases">next's
releases</a>.</em></p>
<blockquote>
<h2>v15.3.3</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>Reinstate <code>vary</code> (<a
href="https://redirect.github.com/vercel/next.js/issues/79939">#79939</a>)</li>
<li>fix(next-swc): Fix interestingness detection for React Compiler (<a
href="https://redirect.github.com/vercel/next.js/issues/79558">#79558</a>)</li>
<li>fix(next-swc): Fix react compiler usefulness detector (<a
href="https://redirect.github.com/vercel/next.js/issues/79480">#79480</a>)</li>
<li>fix(dev-overlay): Better handle edge-case file paths in launchEditor
(<a
href="https://redirect.github.com/vercel/next.js/issues/79526">#79526</a>)</li>
<li>Client router should discard stale prefetch entries for static pages
(<a
href="https://redirect.github.com/vercel/next.js/issues/79362">#79362</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/gaojude"><code>@​gaojude</code></a>, <a
href="https://github.com/kdy1"><code>@​kdy1</code></a>, <a
href="https://github.com/bgw"><code>@​bgw</code></a>, and <a
href="https://github.com/unstubbable"><code>@​unstubbable</code></a> for
helping!</p>
<h2>v15.3.2</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>backport: fix(turbopack): Store persistence of wrapped task on
RawVc::LocalOutput (<a
href="https://redirect.github.com/vercel/next.js/issues/78488">#78488</a>)
(<a
href="https://redirect.github.com/vercel/next.js/issues/78883">#78883</a>)</li>
<li><code>@​next/mdx</code>: Use stable turbopack config options (<a
href="https://redirect.github.com/vercel/next.js/issues/78880">#78880</a>)</li>
<li>Fix react-compiler: Fix detection of interest (<a
href="https://redirect.github.com/vercel/next.js/issues/78879">#78879</a>)</li>
<li>Fix turbopack: Backport sourcemap bugfix (<a
href="https://redirect.github.com/vercel/next.js/issues/78881">#78881</a>)</li>
<li>[next-server] preserve rsc query for rsc redirects (<a
href="https://redirect.github.com/vercel/next.js/issues/78876">#78876</a>)</li>
<li>Update middleware public/static matching (<a
href="https://redirect.github.com/vercel/next.js/issues/78875">#78875</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/ijjk"><code>@​ijjk</code></a>, <a
href="https://github.com/huozhi"><code>@​huozhi</code></a>, <a
href="https://github.com/kdy1"><code>@​kdy1</code></a>, <a
href="https://github.com/wbinnssmith"><code>@​wbinnssmith</code></a>,
and <a href="https://github.com/bgw"><code>@​bgw</code></a> for
helping!</p>
<h2>v15.3.1</h2>
<blockquote>
<p>[!NOTE]<br />
This release is backporting bug fixes. It does <strong>not</strong>
include all pending features/changes on canary.</p>
</blockquote>
<h3>Core Changes</h3>
<ul>
<li>chore: Backport SWC-based RC optimization (<a
href="https://redirect.github.com/vercel/next.js/issues/78260">#78260</a>)</li>
<li>fix: bump image-size@1.2.1 (<a
href="https://redirect.github.com/vercel/next.js/issues/78164">#78164</a>)</li>
</ul>
<h3>Credits</h3>
<p>Huge thanks to <a
href="https://github.com/kdy1"><code>@​kdy1</code></a> and <a
href="https://github.com/styfle"><code>@​styfle</code></a> for
helping!</p>
<h2>v15.3.1-canary.15</h2>
<h3>Core Changes</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3ab8db7383"><code>3ab8db7</code></a>
v15.3.3</li>
<li><a
href="18c8113ebd"><code>18c8113</code></a>
[backport] Reinstate <code>vary</code> (<a
href="https://redirect.github.com/vercel/next.js/issues/79939">#79939</a>)</li>
<li><a
href="e18212f546"><code>e18212f</code></a>
re-enable vary header deploy test (<a
href="https://redirect.github.com/vercel/next.js/issues/79753">#79753</a>)</li>
<li><a
href="ec202eccf0"><code>ec202ec</code></a>
Revert &quot;[next-server] skip setting vary header for basic
routes&quot; (<a
href="https://redirect.github.com/vercel/next.js/issues/79426">#79426</a>)</li>
<li><a
href="e2f264fdce"><code>e2f264f</code></a>
fix(next-swc): Fix interestingness detection for React Compiler (15.3)
(<a
href="https://redirect.github.com/vercel/next.js/issues/79558">#79558</a>)</li>
<li><a
href="562fac78da"><code>562fac7</code></a>
fix(next-swc): Fix react compiler usefulness detector (15.3) (<a
href="https://redirect.github.com/vercel/next.js/issues/79480">#79480</a>)</li>
<li><a
href="06097fd7bb"><code>06097fd</code></a>
fix(dev-overlay): Better handle edge-case file paths in launchEditor (<a
href="https://redirect.github.com/vercel/next.js/issues/79526">#79526</a>)</li>
<li><a
href="bda731fa96"><code>bda731f</code></a>
Client router should discard stale prefetch entries for static pages (<a
href="https://redirect.github.com/vercel/next.js/issues/79362">#79362</a>)</li>
<li><a
href="d9ec4a4b57"><code>d9ec4a4</code></a>
v15.3.2</li>
<li><a
href="3def5ff92b"><code>3def5ff</code></a>
backport: fix(turbopack): Store persistence of wrapped task on
RawVc::LocalOu...</li>
<li>Additional commits viewable in <a
href="https://github.com/vercel/next.js/compare/v14.2.26...v15.3.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=next&package-manager=npm_and_yarn&previous-version=14.2.26&new-version=15.3.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-06-03 07:26:21 +00:00
dependabot[bot]
33fe40b9f8 build(deps): bump gen_smtp from 1.2.0 to 1.3.0 in /elixir (#9341)
Bumps [gen_smtp](https://github.com/gen-smtp/gen_smtp) from 1.2.0 to
1.3.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/gen-smtp/gen_smtp/releases">gen_smtp's
releases</a>.</em></p>
<blockquote>
<h2>1.3.0</h2>
<p>This release marks significant improvements in stability, compliance
with current OTP versions, and enhanced capabilities with the addition
of LMTP support.</p>
<h2>Features</h2>
<ul>
<li>
<p><strong>Add LMTP support to the gen_smtp_client</strong><br />
<em>Author: Pablo Willian Suchewschy</em><br />
This addition includes support for the LMTP protocol, along with a
dedicated test for the LMTP client.</p>
</li>
<li>
<p><strong>Document socket options</strong><br />
<em>Author: Oneric</em><br />
Updated documentation to clarify that <code>tls_options</code> is no
longer filtered and to explain the use of socket options for newer OTP
releases.</p>
</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>
<p><strong>Fix issues with gen_smtp_server_session compilation on
OTP-28</strong><br />
<em>Author: Marc Worrell</em><br />
Resolved a compilation error for <code>gen_smtp_server_session</code> on
OTP-28. This commit also includes updates to GitHub actions and CI
environments by removing older OTP versions.</p>
</li>
<li>
<p><strong>Allow sender to immediately hang up after QUIT
message</strong><br />
<em>Author: Marc Worrell</em><br />
Introduced the ability for the sender to terminate the session
immediately after sending a QUIT message.</p>
</li>
<li>
<p><strong>Fix DATA response in smtp_server_example</strong><br />
<em>Author: ts-klassen</em><br />
Addressed errors in the DATA response handling within the
smtp_server_example.</p>
</li>
<li>
<p><strong>Fix OTP 26 compilation failure</strong><br />
<em>Author: Thanabodee Charoenpiriyakij</em><br />
Corrected type specifications in <code>handle_error</code> to resolve
compilation issues with OTP 26.</p>
</li>
<li>
<p><strong>Fix source links in documentation</strong><br />
<em>Author: Adam Millerchip</em><br />
Updated documentation links to ensure they direct correctly to relevant
sources.</p>
</li>
<li>
<p><strong>Correct README instructions for IPv6 launching</strong><br />
<em>Author: rdtq</em><br />
Adjusted instructions to better clarify how to launch the server on
IPv6.</p>
</li>
<li>
<p><strong>Fix parameter value encoding</strong><br />
<em>Authors: Maria Scott &amp; Jan Uhlig</em><br />
Corrected parameter value encoding issues for better functionality.</p>
</li>
<li>
<p><strong>Fix CI environment compatibility</strong><br />
<em>Author: Chris Wögi</em><br />
Modified the CI setup to ensure that it functions correctly given that
OTP 23 is not available on Ubuntu 22.04.</p>
</li>
<li>
<p><strong>Various improvements and simplifications</strong><br />
<em>Author: Marc Worrell</em><br />
Streamlined various implementations, including simplifying code related
to message sending.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="68ab11101a"><code>68ab111</code></a>
Bump version to 1.3.0</li>
<li><a
href="a48929deeb"><code>a48929d</code></a>
Fix an issue where gen_smtp_server_session did not compile on OTP-28 (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/353">#353</a>)</li>
<li><a
href="185c54dbd6"><code>185c54d</code></a>
Simplify try_send code (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/345">#345</a>)</li>
<li><a
href="bd7fae350d"><code>bd7fae3</code></a>
Allow sender to immediately hangup after QUIT message (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/344">#344</a>)</li>
<li><a
href="da7893dbe5"><code>da7893d</code></a>
smtp_server_example: fix DATA response (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/338">#338</a>)</li>
<li><a
href="21c3e247a6"><code>21c3e24</code></a>
Fix docs source links (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/330">#330</a>)</li>
<li><a
href="e4cd410668"><code>e4cd410</code></a>
Document sockopts (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/335">#335</a>)</li>
<li><a
href="15e969d06a"><code>15e969d</code></a>
hookup.email is using gen_smtp (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/333">#333</a>)</li>
<li><a
href="ac4f8bafdc"><code>ac4f8ba</code></a>
Fix OTP 26 compilation failure (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/325">#325</a>)</li>
<li><a
href="17b161613e"><code>17b1616</code></a>
Add OTP 25 (<a
href="https://redirect.github.com/gen-smtp/gen_smtp/issues/326">#326</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/gen-smtp/gen_smtp/compare/1.2.0...1.3.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gen_smtp&package-manager=hex&previous-version=1.2.0&new-version=1.3.0)](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-06-03 07:26:09 +00:00
dependabot[bot]
7d83380e71 build(deps): bump plug from 1.17.0 to 1.18.0 in /elixir (#9340)
Bumps [plug](https://github.com/elixir-plug/plug) from 1.17.0 to 1.18.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/elixir-plug/plug/blob/main/CHANGELOG.md">plug's
changelog</a>.</em></p>
<blockquote>
<h2>v1.18.0 (2025-05-28)</h2>
<h3>Enhancements</h3>
<ul>
<li>[Plug.Conn] Define optional <code>get_sock_data/1</code> and
<code>get_ssl_data/1</code> callbacks</li>
<li>[Plug.RequestID] Allow metadata key to be customizable</li>
<li>[Plug.Router] Allow match to dispatch to function plugs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="13a99e7819"><code>13a99e7</code></a>
Release v1.18.0</li>
<li><a
href="3045a0fd18"><code>3045a0f</code></a>
Add status meta to error page</li>
<li><a
href="8abdd30f30"><code>8abdd30</code></a>
Implement a more comprehensive way to get connection information (<a
href="https://redirect.github.com/elixir-plug/plug/issues/1269">#1269</a>)</li>
<li><a
href="91de0050ba"><code>91de005</code></a>
up to date request ID format (<a
href="https://redirect.github.com/elixir-plug/plug/issues/1270">#1270</a>)</li>
<li><a
href="67faa57393"><code>67faa57</code></a>
Customize the Logger metadata key name (<a
href="https://redirect.github.com/elixir-plug/plug/issues/1267">#1267</a>)</li>
<li><a
href="88f79c2fb1"><code>88f79c2</code></a>
Match to function plug (<a
href="https://redirect.github.com/elixir-plug/plug/issues/1245">#1245</a>)</li>
<li><a
href="faff77d015"><code>faff77d</code></a>
Update Ubuntu (<a
href="https://redirect.github.com/elixir-plug/plug/issues/1268">#1268</a>)</li>
<li><a
href="4af671374a"><code>4af6713</code></a>
Add changelog to hexdocs (<a
href="https://redirect.github.com/elixir-plug/plug/issues/1266">#1266</a>)</li>
<li><a
href="6068b7ff1a"><code>6068b7f</code></a>
Fix format of <code>already_sent</code> message in docs (<a
href="https://redirect.github.com/elixir-plug/plug/issues/1265">#1265</a>)</li>
<li>See full diff in <a
href="https://github.com/elixir-plug/plug/compare/v1.17.0...v1.18.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=plug&package-manager=hex&previous-version=1.17.0&new-version=1.18.0)](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-06-03 07:25:53 +00:00
dependabot[bot]
9f33806c42 build(deps): bump phoenix_live_view from 1.0.12 to 1.0.14 in /elixir (#9339)
Bumps
[phoenix_live_view](https://github.com/phoenixframework/phoenix_live_view)
from 1.0.12 to 1.0.14.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_live_view/blob/v1.0.14/CHANGELOG.md">phoenix_live_view's
changelog</a>.</em></p>
<blockquote>
<h2>1.0.14 (2025-05-30)</h2>
<h3>Bug fixes</h3>
<ul>
<li>Ensure <code>_unused</code> parameters are sent correctly during
form recovery (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3809">#3809</a>)</li>
<li>Fix form recovery failing and blocking updates when a form does not
have any inputs (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3818">#3818</a>)</li>
</ul>
<h2>1.0.13 (2025-05-28)</h2>
<h3>Bug fixes</h3>
<ul>
<li>Ensure submitter value is sent when submitting a form with
<code>phx-trigger-action</code> (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/pull/3815">#3815</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="34e0634d1c"><code>34e0634</code></a>
release v1.0.14</li>
<li><a
href="cb37eb1266"><code>cb37eb1</code></a>
Update assets</li>
<li><a
href="9c8be3e96c"><code>9c8be3e</code></a>
backport <a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3821">#3821</a></li>
<li><a
href="8d417129e1"><code>8d41712</code></a>
backport <a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3816">#3816</a></li>
<li><a
href="1c4cec573a"><code>1c4cec5</code></a>
release v1.0.13</li>
<li><a
href="11c99906f3"><code>11c9990</code></a>
Update form-bindings.md to add a note about known limitations of
phx-disable-...</li>
<li><a
href="8bca18692b"><code>8bca186</code></a>
Add section for preventing form submission in the form bindings guide
(<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3798">#3798</a>)</li>
<li><a
href="f29bbc572c"><code>f29bbc5</code></a>
Improve doc links betweens <code>async result/1</code> and
<code>assign_async/4</code> (<a
href="https://redirect.github.com/phoenixframework/phoenix_live_view/issues/3803">#3803</a>)</li>
<li><a
href="1ab79c9c8e"><code>1ab79c9</code></a>
fix live_reload_test on OTP 28</li>
<li><a
href="a819547247"><code>a819547</code></a>
Update assets</li>
<li>Additional commits viewable in <a
href="https://github.com/phoenixframework/phoenix_live_view/compare/v1.0.12...v1.0.14">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_live_view&package-manager=hex&previous-version=1.0.12&new-version=1.0.14)](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-06-03 07:25:38 +00:00
dependabot[bot]
5e9a8e06dd build(deps): bump opentelemetry_logger_metadata from 0.1.0 to 0.2.0 in /elixir (#9338)
Bumps
[opentelemetry_logger_metadata](https://github.com/salemove/opentelemetry_logger_metadata)
from 0.1.0 to 0.2.0.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/salemove/opentelemetry_logger_metadata/commits">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=opentelemetry_logger_metadata&package-manager=hex&previous-version=0.1.0&new-version=0.2.0)](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-06-03 07:25:24 +00:00
Jamil
0f0f34cd40 fix(portal): sort before asserting on list equality (#9377)
Fixes minor flakiness introduced in #9373
2025-06-03 06:58:31 +00:00
Jamil
a7af119668 chore: publish android 1.5.0 (#9378) 2025-06-03 06:58:22 +00:00
Jamil
9c3f6e7b36 refactor(portal): don't send ip_stack for non-DNS resources (#9376)
We always return the `ip_stack` field when rendering resource for both
WebSocket and REST APIs. If the resource's type is not `:dns` then this
will be `nil`.

Related:
https://github.com/firezone/firezone/pull/9303#discussion_r2119681062
2025-06-02 23:16:49 -07:00
dependabot[bot]
ada74d71df build(deps): bump clap from 4.5.38 to 4.5.39 in /rust (#9361)
Bumps [clap](https://github.com/clap-rs/clap) from 4.5.38 to 4.5.39.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/releases">clap's
releases</a>.</em></p>
<blockquote>
<h2>v4.5.39</h2>
<h2>[4.5.39] - 2025-05-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Show short flag aliases before long</li>
<li><em>(help)</em> Merge the short and long flag alias lists</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
changelog</a>.</em></p>
<blockquote>
<h2>[4.5.39] - 2025-05-27</h2>
<h3>Fixes</h3>
<ul>
<li><em>(help)</em> Show short flag aliases before long</li>
<li><em>(help)</em> Merge the short and long flag alias lists</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="ed2360f9cd"><code>ed2360f</code></a>
chore: Release</li>
<li><a
href="196a14b8c9"><code>196a14b</code></a>
docs: Update changelog</li>
<li><a
href="cd622ab63c"><code>cd622ab</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5846">#5846</a>
from ribru17/alias_fn_dedup</li>
<li><a
href="48ff72be28"><code>48ff72b</code></a>
fix(complete): Deduplicate bash subcmd cases</li>
<li><a
href="b1b6f17f61"><code>b1b6f17</code></a>
Merge pull request <a
href="https://redirect.github.com/clap-rs/clap/issues/5843">#5843</a>
from epage/link</li>
<li><a
href="5900216569"><code>5900216</code></a>
fix(derive): Update link for derive attributes</li>
<li><a
href="fde45f9aea"><code>fde45f9</code></a>
chore: Release</li>
<li><a
href="45d5d7edcb"><code>45d5d7e</code></a>
docs: Update changelog</li>
<li><a
href="4b82b97cd9"><code>4b82b97</code></a>
chore: Release</li>
<li><a
href="a982adfbbd"><code>a982adf</code></a>
docs: Update changelog</li>
<li>Additional commits viewable in <a
href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.38...clap_complete-v4.5.39">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.38&new-version=4.5.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-06-03 05:24:35 +00:00
dependabot[bot]
3774b63bb1 build(deps): bump parking_lot from 0.12.3 to 0.12.4 in /rust (#9358)
Bumps [parking_lot](https://github.com/Amanieu/parking_lot) from 0.12.3
to 0.12.4.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Amanieu/parking_lot/blob/master/CHANGELOG.md">parking_lot's
changelog</a>.</em></p>
<blockquote>
<h2><code>parking_lot</code> - <a
href="https://github.com/Amanieu/parking_lot/compare/parking_lot-v0.12.3...parking_lot-v0.12.4">0.12.4</a>
- 2025-05-29</h2>
<ul>
<li>Fix parked upgraders potentially not being woken up after a write
lock</li>
<li>Fix clearing <code>PARKED_WRITER_BIT</code> after a timeout</li>
</ul>
<h2><code>parking_lot_core</code> - <a
href="https://github.com/Amanieu/parking_lot/compare/parking_lot_core-v0.9.10...parking_lot_core-v0.9.11">0.9.11</a>
- 2025-05-29</h2>
<ul>
<li>Use Release/Acquire ordering in
thread_parker::windows::Backend::create</li>
<li>Remove warnings due to new lint on unknown cfgs</li>
</ul>
<h2><code>lock_api</code> - <a
href="https://github.com/Amanieu/parking_lot/compare/lock_api-v0.4.12...lock_api-v0.4.13">0.4.13</a>
- 2025-05-29</h2>
<ul>
<li>Remove warnings due to new lint on unknown cfgs</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="df66e66b99"><code>df66e66</code></a>
Update CHANGELOG.md</li>
<li><a
href="bc72f024e0"><code>bc72f02</code></a>
chore: release</li>
<li><a
href="7bd09e2aff"><code>7bd09e2</code></a>
Merge pull request <a
href="https://redirect.github.com/Amanieu/parking_lot/issues/469">#469</a>
from Amanieu/release-plz-changelog</li>
<li><a
href="965216fb1f"><code>965216f</code></a>
Use a single changelog with release-plz</li>
<li><a
href="398560e062"><code>398560e</code></a>
Merge pull request <a
href="https://redirect.github.com/Amanieu/parking_lot/issues/467">#467</a>
from Amanieu/release-plz</li>
<li><a
href="a7c490f8f5"><code>a7c490f</code></a>
Add release-plz for automatic releases</li>
<li><a
href="4989a4fb6b"><code>4989a4f</code></a>
Merge pull request <a
href="https://redirect.github.com/Amanieu/parking_lot/issues/466">#466</a>
from Amanieu/issue-465</li>
<li><a
href="249cb2a2aa"><code>249cb2a</code></a>
Fix parked upgraders potentially not being woken up after a write
lock</li>
<li><a
href="a0d2de0b01"><code>a0d2de0</code></a>
Fix clearing <code>PARKED_WRITER_BIT</code> after a timeout</li>
<li><a
href="03b019228d"><code>03b0192</code></a>
Merge pull request <a
href="https://redirect.github.com/Amanieu/parking_lot/issues/464">#464</a>
from Amanieu/ci-msrv</li>
<li>Additional commits viewable in <a
href="https://github.com/Amanieu/parking_lot/compare/0.12.3...parking_lot-v0.12.4">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=parking_lot&package-manager=cargo&previous-version=0.12.3&new-version=0.12.4)](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-06-03 05:24:23 +00:00
dependabot[bot]
f7803d6d8b build(deps): bump num_cpus from 1.16.0 to 1.17.0 in /rust (#9359)
Bumps [num_cpus](https://github.com/seanmonstar/num_cpus) from 1.16.0 to
1.17.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/seanmonstar/num_cpus/blob/master/CHANGELOG.md">num_cpus's
changelog</a>.</em></p>
<blockquote>
<h2>v1.17.0</h2>
<h3>Fixes</h3>
<ul>
<li>update hermit-abi to 0.5.0</li>
<li>remove special support for nacl</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="342af76b48"><code>342af76</code></a>
v1.17.0</li>
<li><a
href="e970a829ad"><code>e970a82</code></a>
Bump hermit-abi version (<a
href="https://redirect.github.com/seanmonstar/num_cpus/issues/144">#144</a>)</li>
<li><a
href="797f827689"><code>797f827</code></a>
Update LICENSE-MIT (<a
href="https://redirect.github.com/seanmonstar/num_cpus/issues/143">#143</a>)</li>
<li><a
href="b6ca8a475f"><code>b6ca8a4</code></a>
ci: worker cpus has been increased</li>
<li><a
href="f06cd508ae"><code>f06cd50</code></a>
ci: remove asmjs job</li>
<li><a
href="41e39dd357"><code>41e39dd</code></a>
ci: mips is not tier 3, remove CI jobs</li>
<li><a
href="13af26cff7"><code>13af26c</code></a>
remove special support for nacl</li>
<li><a
href="815551cfc7"><code>815551c</code></a>
ci: pin libc for msrv job</li>
<li>See full diff in <a
href="https://github.com/seanmonstar/num_cpus/compare/v1.16.0...v1.17.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=num_cpus&package-manager=cargo&previous-version=1.16.0&new-version=1.17.0)](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-06-03 05:24:12 +00:00
Jamil
34c6e483f6 fix(ci): ensure docker compose up runs one by one (#9375)
Similar to the fix in #9205, the version of docker compose on GitHub
runners has a race condition when upping more than one service backed by
the same image.

To reduce flakiness, we ensure that `httpbin` is upped one-by-one.

Related:
https://github.com/firezone/firezone/actions/runs/15408440858/job/43355659174
2025-06-03 05:07:08 +00:00
Jamil
4e60ea41af fix(ci): exclude generated typescript from prettier fixing (#9374)
This is causing the Tauri workflows to error:
https://github.com/firezone/firezone/actions/runs/15407717057
2025-06-03 04:42:37 +00:00
Brian Manifold
60c90c5c9a fix(portal): Update group sync to ignore soft deleted groups (#9373)
Why:

* When a directory sync occurs, all groups in the DB need to be pulled
in case a synced group needs to be resurrected. Prior to adding the
directory sync deletion circuit breaker the app would "re-delete"
already deleted groups. This was basically a no-op, however, once the
deletion circuit breaker was put in the deletion of already deleted
groups had the possibility of throwing off the circuit breaker and cause
it to fail a directory sync when it was not needed, due to making it
seem as though too many groups were being deleted. This commit makes
sure we don't add already deleted groups to the list of groups needing
to be deleted for a given sync.

Fixes: #9364
2025-06-03 04:29:56 +00:00
Jamil
440eee3086 fix(portal): treat missing organizationUnits as empty list (#9371)
When a Google account has no organization units defined in its
directory, the Google API can return a `200` response without the
`organizationUnits` key. In such cases, we should treat this as an empty
list such that the remainder of the sync will continue.
2025-06-03 03:01:12 +00:00
Jamil
805ba085c2 fix(connlib): re-add resource if ip_stack changes (#9372)
In #9300, we added logic to control whether we emit A and/or AAAA
records for a DNS resource based on the `ip_stack` property of the
`Resource` struct.

Unfortunately this didn't take updates into account when the client was
signed in, so updating a DNS resource's ip_stack failed to update the
client's local Resource copy.

To fix this, we determine if `resource_addressability_changed` which is
true if the resource's address, or ip_stack, has changed meaningfully.
If so, we remove the resource prior to evaluating the remaining logic of
the `resource_created_or_updated` handler, which in turn causes the
resource to be re-added, effectively updating its ip_stack.

Related:
https://github.com/firezone/firezone/pull/9300#issuecomment-2932365798
2025-06-03 03:00:19 +00:00
Jamil
6fc7d2e4e0 feat(portal): configurable ip stack for DNS resources (#9303)
Some poorly-behaved applications (e.g. mongo) will fail to connect if
they see both IPv4 and IPv6 addresses for a DNS resource, because they
will try to connect to both of them and fail the whole connection setup
if either one is not routable.

To fix this, we need to introduce a knob to allow admins to restrict DNS
resources to only A or AAAA records.


<img width="750" alt="Screenshot 2025-06-02 at 10 48 39 AM"
src="https://github.com/user-attachments/assets/4dbcb6ae-685f-43ee-b9e8-1502b365a294"
/>

<img width="1174" alt="Screenshot 2025-06-02 at 11 05 53 AM"
src="https://github.com/user-attachments/assets/02d0a4b3-e6e8-4b6d-89fa-d3d999b5811e"
/>

---

Related:
https://firezonehq.slack.com/archives/C08KPQKJZKM/p1746720923535349
Related: #9300
Fixes: #9042
2025-06-03 02:24:41 +00:00
Jamil
0ca31307f4 chore(website): update changelog with IP stack mention (#9346)
It would be good to inform users about this change so they know which
client(s) support it.

Related: #9300
2025-06-02 16:03:06 +00:00
Thomas Eizinger
6e0ecc2a79 build(deps): bump quinn-udp to main (#9367)
The most recent mainline `quinn-udp` contains a patch that preemptively
disables GSO on Linux kernel versions < 4.18 where GSO is not yet
supported at all. This especially affects Android devices as there are
quite a few of those out there with pretty old Linux kernels.
2025-06-02 15:48:23 +00:00
Thomas Eizinger
218c711789 fix(connlib): don't hard-fail if buffer increase is rejected (#9366)
When `connlib` creates new UDP sockets for the p2p traffic, it tries to
increase the send and receive buffers for improved performance. Failure
to do so currently results in `connlib` failing to start entirely. This
is unnecessarily harsh, we can simply log a warning instead and move on.
2025-06-02 15:20:58 +00:00
Thomas Eizinger
29f8dd8688 fix(connlib): block until UDP thread has been set up (#9363)
Internally, `connlib` spawns a new thread for handling IO on the UDP
socket. In order to make sure that this thread is operational, we
intended to block `connlib`s main thread until the setup of the UDP
thread has successfully completed.

Unfortunately, this isn't quite the case because we already send an
`Ok(())` value into the channel once we've successfully bound the
socket. Following the binding, we also try to increase the maximum
buffer size of the socket. Even though the intention here was to also
log this error, the error value sent into the channel there is never
read because we only ever read one value from the `error_tx` channel.

To fix this, we move the sending of the `Ok(())` value to the very
bottom of the UDP thread, just before we kick it off. Whilst this does
not fix the actual issue as to why the setup of the UDP thread fails,
these changes will at least surface the error.
2025-06-02 12:37:38 +00:00
Thomas Eizinger
1914ea7076 refactor(rust): remove forced callback indirection (#9362)
As relict from very early designs of `connlib`, the `Callbacks` trait is
still present and defines how the host app receives events from a
running `Session`. Callbacks are not a great design pattern however
because they force the running code, i.e. `connlib`s event-loop to
execute unknown code. For example, if that code panics, all of `connlib`
is taken down. Additionally, not all consumers may want to receive
events via callbacks. The GUI and headless client for example already
have their own event-loop in which they process all kinds of things.
Having to deal with the `Callbacks` interface introduces an odd
indirection here.

To fix this, we instead return an `EventStream` when constructing a
`Session`. This essentially aligns the API of `Session` with that of a
channel. You receive two handles, one for sending in commands and one
for receiving events. A `Session` will automatically spawn itself onto
the given runtime so progress is made even if one does not poll on these
channel handles.

This greatly simplifies the code:

- We get to delete the `Callbacks` interface.
- We can delete the threaded callback adapter. This was only necessary
because we didn't want to block `connlib` with the handling of the
event. By using a channel for events, this is automatically guaranteed.
- The GUI and headless client can directly integrate the event handling
in their event-loop, without having to create an indirection with a
channel.
- It is now clear that only the Apple and Android FFI layers actually
use callbacks to communicate these events.
- We net-delete 100 LoC
2025-06-02 11:28:04 +00:00
Thomas Eizinger
b7b296a102 ci: apply prettier to all files (#9356)
Resolves: #8940
2025-06-02 11:12:54 +00:00
Thomas Eizinger
3ad7848e8f feat(gui-client): add Sentry to the frontend (#9316)
With an increased amount of complexity in the frontend of the GUI
client, it pays off to initialise the Sentry React SDK to catch any
errors that might occur. In particular, any failing commands that we
issue to the backend will be caught that way as those rejected
`Promise`s will surface as uncaught exceptions.

Similar to the backend, Sentry in the frontend is only initialised for
known environments, i.e. our production and staging deployments of
Firezone. For on-premise installations, Sentry is disabled.

Related: #6138
2025-06-02 05:59:26 +00:00
dependabot[bot]
e7118a27a0 build(deps): bump com.android.application from 8.10.0 to 8.10.1 in /kotlin/android in the com-android group (#9327)
Bumps the com-android group in /kotlin/android with 1 update:
com.android.application.

Updates `com.android.application` from 8.10.0 to 8.10.1


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.android.application&package-manager=gradle&previous-version=8.10.0&new-version=8.10.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 <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-06-02 05:44:40 +00:00
dependabot[bot]
3b5b7852d4 build(deps): bump com.google.firebase:firebase-bom from 33.13.0 to 33.14.0 in /kotlin/android (#9328)
Bumps com.google.firebase:firebase-bom from 33.13.0 to 33.14.0.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.google.firebase:firebase-bom&package-manager=gradle&previous-version=33.13.0&new-version=33.14.0)](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-06-02 05:43:58 +00:00
dependabot[bot]
bba77f82dd build(deps): bump com.diffplug.spotless from 7.0.3 to 7.0.4 in /kotlin/android (#9329)
Bumps com.diffplug.spotless from 7.0.3 to 7.0.4.


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=com.diffplug.spotless&package-manager=gradle&previous-version=7.0.3&new-version=7.0.4)](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-06-02 05:43:38 +00:00
dependabot[bot]
caa19a3083 build(deps): bump taiki-e/install-action from 2.52.2 to 2.52.4 (#9336)
Bumps
[taiki-e/install-action](https://github.com/taiki-e/install-action) from
2.52.2 to 2.52.4.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/releases">taiki-e/install-action's
releases</a>.</em></p>
<blockquote>
<h2>2.52.4</h2>
<ul>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.12.6.</p>
</li>
<li>
<p>Update <code>wash@latest</code> to 0.42.0.</p>
</li>
</ul>
<h2>2.52.3</h2>
<ul>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.97.</p>
</li>
<li>
<p>Update <code>trivy@latest</code> to 0.63.0.</p>
</li>
<li>
<p>Update <code>protoc@latest</code> to 3.31.1.</p>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md">taiki-e/install-action's
changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this
file.</p>
<p>This project adheres to <a href="https://semver.org">Semantic
Versioning</a>.</p>
<!-- raw HTML omitted -->
<h2>[Unreleased]</h2>
<h2>[2.52.4] - 2025-05-31</h2>
<ul>
<li>
<p>Update <code>cargo-binstall@latest</code> to 1.12.6.</p>
</li>
<li>
<p>Update <code>wash@latest</code> to 0.42.0.</p>
</li>
</ul>
<h2>[2.52.3] - 2025-05-30</h2>
<ul>
<li>
<p>Update <code>cargo-nextest@latest</code> to 0.9.97.</p>
</li>
<li>
<p>Update <code>trivy@latest</code> to 0.63.0.</p>
</li>
<li>
<p>Update <code>protoc@latest</code> to 3.31.1.</p>
</li>
</ul>
<h2>[2.52.2] - 2025-05-27</h2>
<ul>
<li>Update <code>mdbook@latest</code> to 0.4.51.</li>
</ul>
<h2>[2.52.1] - 2025-05-25</h2>
<ul>
<li>
<p>Update <code>taplo@latest</code> to 0.10.0.</p>
</li>
<li>
<p>Update <code>mdbook@latest</code> to 0.4.50.</p>
</li>
<li>
<p>Update <code>deepsource@latest</code> to 0.9.0.</p>
</li>
<li>
<p>Update <code>cargo-shear@latest</code> to 1.3.0.</p>
</li>
</ul>
<h2>[2.52.0] - 2025-05-22</h2>
<ul>
<li>
<p>Support <code>trivy</code>. (<a
href="https://redirect.github.com/taiki-e/install-action/pull/970">#970</a>,
thanks <a
href="https://github.com/jayvdb"><code>@​jayvdb</code></a>)</p>
</li>
<li>
<p>Update <code>syft@latest</code> to 1.26.1.</p>
</li>
<li>
<p>Update <code>rclone@latest</code> to 1.69.3.</p>
</li>
<li>
<p>Update <code>cargo-shear@latest</code> to 1.2.8.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="735e593394"><code>735e593</code></a>
Release 2.52.4</li>
<li><a
href="4f4abc772a"><code>4f4abc7</code></a>
Update <code>cargo-binstall@latest</code> to 1.12.6</li>
<li><a
href="a13cc1aa67"><code>a13cc1a</code></a>
Update <code>wash@latest</code> to 0.42.0</li>
<li><a
href="2ee2c006bb"><code>2ee2c00</code></a>
Release 2.52.3</li>
<li><a
href="5e38d7308e"><code>5e38d73</code></a>
Update <code>cargo-nextest@latest</code> to 0.9.97</li>
<li><a
href="14dbe17742"><code>14dbe17</code></a>
Update <code>trivy@latest</code> to 0.63.0</li>
<li><a
href="097a2e7fdd"><code>097a2e7</code></a>
Update <code>protoc@latest</code> to 3.31.1</li>
<li>See full diff in <a
href="84c20235be...735e593394">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=taiki-e/install-action&package-manager=github_actions&previous-version=2.52.2&new-version=2.52.4)](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-06-02 05:42:58 +00:00
dependabot[bot]
503f0a97cc build(deps): bump vedantmgoyal9/winget-releaser from 3e78d7ff0f525445bca5d6a989d31cdca383372e to 19e706d4c9121098010096f9c495a70a7518b30f (#9335)
Bumps
[vedantmgoyal9/winget-releaser](https://github.com/vedantmgoyal9/winget-releaser)
from 3e78d7ff0f525445bca5d6a989d31cdca383372e to
19e706d4c9121098010096f9c495a70a7518b30f.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="19e706d4c9"><code>19e706d</code></a>
fix: pwsh doesn't sort sometimes (resolves <a
href="https://redirect.github.com/vedantmgoyal9/winget-releaser/issues/323">#323</a>)</li>
<li>See full diff in <a
href="3e78d7ff0f...19e706d4c9">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 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-06-02 05:42:06 +00:00
dependabot[bot]
3312639ed2 build(deps): bump @types/node from 22.15.3 to 22.15.29 in /rust/gui-client (#9324)
Bumps
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
from 22.15.3 to 22.15.29.
<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.15.3&new-version=22.15.29)](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-06-02 05:41:18 +00:00
Thomas Eizinger
b5e22225ec ci: ignore GUI client pnpm-lock.yml for spellchecker (#9355) 2025-06-02 05:40:57 +00:00
Thomas Eizinger
e05c98bfca ci: update to new cargo sort release (#9354)
The latest release now also sorts workspace dependencies, as well as
different dependency sections. Keeping these things sorted reduces the
chances of merge conflicts when multiple PRs edit these files.
2025-06-02 02:01:09 +00:00
Thomas Eizinger
499a67f44b chore(gui-client): generate TypeScript interfaces from Rust (#9353)
The frontend of the GUI client is written in TypeScript and communicates
with the backend via event listeners. Currently, we only have
type-safety within either of those parts of the codebase but not across
it. The payloads of these events are JSON-encoded. Any change to this
interface therefore needs to be applied on either end.

To avoid this, we add `tslink` to the GUI client which generates
TypeScript interfaces from Rust structs. We still check those into Git
into order to make local builds easy (otherwise every dev would have to
set `TSLINK_BUILD=true` on their machine). Our Tauri CI build already
has a check to ensure the Git workspace isn't modified after building so
any changes to these generated files will fail CI.

This adds a bit more type-safety to the codebase and makes refactorings
on the GUI client easier.
2025-06-02 01:56:06 +00:00
dependabot[bot]
aa86250d17 build(deps): bump docker/build-push-action from 6.17.0 to 6.18.0 (#9334)
Bumps
[docker/build-push-action](https://github.com/docker/build-push-action)
from 6.17.0 to 6.18.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/docker/build-push-action/releases">docker/build-push-action's
releases</a>.</em></p>
<blockquote>
<h2>v6.18.0</h2>
<ul>
<li>Bump <code>@​docker/actions-toolkit</code> from 0.61.0 to 0.62.1 in
<a
href="https://redirect.github.com/docker/build-push-action/pull/1381">docker/build-push-action#1381</a></li>
</ul>
<blockquote>
<p>[!NOTE]
<a
href="https://docs.docker.com/build/ci/github-actions/build-summary/">Build
summary</a> is now supported with <a
href="https://docs.docker.com/build-cloud/">Docker Build Cloud</a>.</p>
</blockquote>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/docker/build-push-action/compare/v6.17.0...v6.18.0">https://github.com/docker/build-push-action/compare/v6.17.0...v6.18.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="263435318d"><code>2634353</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1381">#1381</a>
from docker/dependabot/npm_and_yarn/docker/actions-t...</li>
<li><a
href="c0432d2e01"><code>c0432d2</code></a>
chore: update generated content</li>
<li><a
href="0bb1f27d6b"><code>0bb1f27</code></a>
set builder driver and endpoint attributes for dbc summary support</li>
<li><a
href="5f9dbf956c"><code>5f9dbf9</code></a>
chore(deps): Bump <code>@​docker/actions-toolkit</code> from 0.61.0 to
0.62.1</li>
<li><a
href="0788c444d8"><code>0788c44</code></a>
Merge pull request <a
href="https://redirect.github.com/docker/build-push-action/issues/1375">#1375</a>
from crazy-max/remove-gcr</li>
<li><a
href="aa179ca4f4"><code>aa179ca</code></a>
e2e: remove GCR</li>
<li>See full diff in <a
href="1dc7386353...263435318d">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=6.17.0&new-version=6.18.0)](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-06-02 01:54:54 +00:00
Jamil
c132de1cd1 fix(website): use <code> over backticks (#9348)
The changelog entries are written in TSX which is HTML, so backticks
render as backticks on the website. Updating these to use `<code>`
blocks correctly triggers the proper CSS to apply.
2025-06-02 01:38:24 +00:00
Jamil
6d4d3a34a0 fix(portal): Uniq nodes before counting (#9352)
While we shouldn't have any duplicates in this list, it would be a good
idea to unique the node names before counting just to be sure.
2025-06-01 18:00:30 -07:00
Jamil
37ae1a4e92 fix(portal): fix false-positive cluster errors (#9351)
Fixes the following issues after learning they're still a problem:

- We need to include our own node when checking for connected node count
- Need to match against the `formatted` key inside message when
filtering Sentry events
2025-06-01 17:56:19 -07:00
Jamil
8bbc7e2960 fix(portal): fix threshold calc for connected nodes (#9350)
In #9342 we started logging only if our connected nodes fell below the
threshold. However, on error, we failed to calculated the new list.

On startup, the first few `loads` will be failures, and the connected
list will remain empty, causing this to report a false positive.
2025-06-01 16:38:07 -07:00
Jamil
f65fcffbfc fix(portal): fix sentry before_send when message is nil (#9349)
A regression was introduced in #9242 where it appears that some Sentry
events don't contain messages, so the filtering module is updated only
to act on events with messages.
2025-06-01 12:32:08 -07:00
Brian Manifold
870aee3812 refactor(portal): add migration to remove created_by_ columns (#9318)
Why:

* This commit contains only a migration to remove the
created_by_identity and created_by_actor columns on multiple tables.
This migration will be run manually due to the long running sync jobs
that are currently in the system. This migration should be a no-op after
the manual DB updates.
2025-06-01 12:08:15 -07:00
Jamil
cc6c57125d revert: "fix(portal): Silence cluster challenge reply errors" (#9345)
This was actually an issue due to accidentally deleting the
`RELEASE_COOKIE` var.

Reverts firezone/firezone#9344
2025-06-01 10:49:49 -07:00
Jamil
42bccfd5e5 fix(portal): Silence cluster challenge reply errors (#9344)
Issues with node connections will be reported by the threshold logger.
2025-06-01 17:29:07 +00:00
Jamil
0c0ab13b90 ci: Bump apple version to 1.5.1 (#9343) 2025-06-01 16:43:31 +00:00
Jamil
73c3e2d87b refactor(portal): move gateway events to WAL (#9299)
This PR moves Gateway events to be triggered by the WAL broadcaster.
Some things of note that are cleaned up:

- The gateway `:update` event was never received anywhere (but in a
test) and so has been removed
- The account topic has been removed as it was also never acted upon
anywhere. Presence yes, but topic no
- The group topic has also been removed as it was only used to receive
broadcasted disconnects when a group is deleted, but this was already
handled by the token deletion and so is redundant.
2025-06-01 16:40:28 +00:00
Jamil
bfca4e8411 fix(portal): Use threshold-based logging for cluster errors (#9342)
We periodically fetch a list of all `RUNNING` VMs in GCP and then try to
connect to them for clustering. However, during deploys, it's expected
that we won't be able to connect to new VMs until they are fully up. The
fetch doesn't take health checks into account, so we need a
threshold-based error logging.

To address this, we do the following:

- We only log an error when failing to connect to nodes if we are
currently below the threshold for each of the `api`, `domain`, and `web`
node counts
- We silence node timeout errors, as these will happen during deploys
2025-06-01 15:53:38 +00:00
Jamil
df500de47e chore(apple): Update changelog to better explain crashes (#9317)
See
https://github.com/firezone/firezone/pull/9308#pullrequestreview-2882490625
2025-06-01 08:56:46 -07:00
Jamil
fa52c1cf6e chore(infra): bump tf envs for checksums (#9321)
Meant to add this commit in
[#bump](https://github.com/firezone/firezone/pull/9320)
2025-05-31 09:16:04 -07:00
Jamil
1d648516c0 chore(infra): align staging cluster polling; checksums (#9320)
Bumps terraform/environments to align staging with production's 10s
cluster polling interval, and to set validate checksums for the AWS
gateway.

Related: https://github.com/firezone/environments/pull/26
Related: https://github.com/firezone/environments/pull/31
2025-05-31 15:49:58 +00:00
Jamil
544b6455eb fix(portal): ensure cluster state heals (#9319)
We use `libcluster`, a common Elixir library, for node discovery. It's a
very lightweight wrapper around Erlang's standard `Node.connect`
functionality.

It supports custom cluster formation strategies, and we've implemented
one based on fetching the list of nodes from the GCP API, and then
attempting to connect to them.

Unfortunately, our implementation had two bugs that prevented the
cluster from healing in the following two cases:

- If we successfully connect to nodes, we tracked an internal state var
as having successfully connected to them, forever. If we lost the
connection to these nodes (such as during a deploy where the elixir
nodes don't come up in time, causing the instance group manager to reap
them), then the state would never be updated, and we would never
reconnect to the lost nodes.
- If we failed to fetch the list of nodes more than 10 times (every 10
seconds, so 100 seconds), then we would fail to schedule the timer to
load the nodes again.

The first issue is fixed by removing our kept state altogether - this is
what libcluster is for. We can simply try to connect to the most recent
list of nodes returned from Google's API, and we now log a warning for
any nodes that don't connect.

The second issue is fixed by always scheduling the timer, forever,
regardless of the state of the Google API.

Fixes #8660 
Fixes #8698
2025-05-31 05:01:52 +00:00
Thomas Eizinger
d62f82787d build(deps): bump netlink dependency group (#9315)
In
https://github.com/rust-netlink/netlink-packet-route/issues/140#issuecomment-2919539363,
the author claims the issue we've been holding the dependency bump back
for is resolved. We can now update to the latest versions of the
`netlink` dependency group.
2025-05-31 02:34:55 +00:00