mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
eb6830daa24258023c75e90199efd1441b0b714f
575 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
eb6830daa2 |
build(deps): bump flowbite-react from 0.11.7 to 0.11.8 in /rust/gui-client in the flowbite group (#9754)
Bumps the flowbite group in /rust/gui-client with 1 update: [flowbite-react](https://github.com/themesberg/flowbite-react/tree/HEAD/packages/ui). Updates `flowbite-react` from 0.11.7 to 0.11.8 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/themesberg/flowbite-react/releases">flowbite-react's releases</a>.</em></p> <blockquote> <h2>flowbite-react@0.11.8</h2> <h3>Patch Changes</h3> <ul> <li><a href="https://redirect.github.com/themesberg/flowbite-react/pull/1579">#1579</a> <a href=" |
||
|
|
b4b50b5615 |
fix(gui-client): move tslink metadata (#9817)
A recent release of `tslink` now supports configuration via the `package.metadata` table which resolved a warning about "unknown key" that we have seeing for a while. |
||
|
|
f659ee2c00 |
refactor(windows): move valueName to text in .admx (#9796)
With a real AD (and not Intune), it seems the `valueName` attribute is required for text elements. Supersedes: #9419 Co-authored-by: Antoine Labarussias <antoinelabarussias@gmail.com> |
||
|
|
d4ba045eec |
chore(gui-client): move log about existing session (#9813)
This log is misplaced within the current `try_connect` function because that will also be called when we didn't have Internet while we tried to first connect and then witnessed a network change (in which case the token is cached in the `WaitingForNetwork` session state). Thus, we move the log to the `Connect` msg handler where we shouldn't have any existing session. |
||
|
|
32151b6b0d |
build(deps): bump tslink from 0.3.0 to 0.4.2 in /rust (#9485)
Bumps [tslink](https://github.com/icsmw/tslink) from 0.3.0 to 0.4.2. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/icsmw/tslink/blob/master/changelog.md">tslink's changelog</a>.</em></p> <blockquote> <h1>0.4.2 (08.06.2025)</h1> <h2>Changes</h2> <ul> <li>Migrate settings to <code>package.metadata.tslink</code></li> </ul> <h1>0.4.1 (08.06.2025)</h1> <h2>Changes</h2> <ul> <li>Add support arrays in the context of <code>const</code></li> </ul> <h1>0.4.0 (08.06.2025)</h1> <h2>Features</h2> <ul> <li>Add support of <code>const</code> for primitive types</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/icsmw/tslink/commits">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) You can trigger a rebase of this PR 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> > **Note** > Automatic rebases have been disabled on this pull request as it has been open for over 30 days. Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
55aef6ae11 | chore: publish gui-client 1.5.5 (#9811) | ||
|
|
ec2599d545 |
chore(rust): simplify stream logs feature (#9780)
Instead of conditionally enabling the `logs` feature in the Sentry client, we always enable it and control via the `tracing` integration, which events should get forwarded to Sentry. The feature-flag check accesses only shared-memory and is therefore really fast. We already re-evaluate feature flags on a timer which means this boolean will flip over automatically and logs will be streamed to Sentry. |
||
|
|
abfdda18d8 |
fix(gui-client): allow disabling telemetry (#9785)
Resolves: #9778 |
||
|
|
01e3fea0ac |
fix(gui-client): don't panic on existing session (#9779)
Customer hit what seems to be a rare race condition where we try to connect whilst we already have a session. I don't know which state it is in so I am replacing it with a WARN log to learn more about this in Sentry in case it gets hit again. |
||
|
|
e0c607dd57 |
chore(gui-client): remove unnecessary identify call (#9775)
It is unnecessary to call this in the GUI client because the tunnel service will already do this _and_ supply the `account_slug` with it as well. |
||
|
|
0c274d3e36 |
build(deps): bump the tauri group in /rust/gui-client with 2 updates (#9740)
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.5.0 to 2.6.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.6.0</h2> <!-- raw HTML omitted --> <pre><code>No known vulnerabilities found </code></pre> <!-- raw HTML omitted --> <h2>[2.6.0]</h2> <h3>New Features</h3> <ul> <li><a href=" |
||
|
|
78a2c4dcef |
build(deps): bump the sentry group in /rust/gui-client with 2 updates (#9744)
Bumps the sentry group in /rust/gui-client with 2 updates: [@sentry/core](https://github.com/getsentry/sentry-javascript) and [@sentry/react](https://github.com/getsentry/sentry-javascript). Updates `@sentry/core` from 9.27.0 to 9.33.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/releases"><code>@sentry/core</code>'s releases</a>.</em></p> <blockquote> <h2>9.33.0</h2> <h3>Important Changes</h3> <ul> <li><strong>feat: Add opt-in <code>vercelAiIntegration</code> to cloudflare & vercel-edge (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16732">#16732</a>)</strong></li> </ul> <p>The <code>vercelAiIntegration</code> is now available as opt-in for the Cloudflare and the Next.js SDK for Vercel Edge. To use it, add the integration in <code>Sentry.init</code></p> <pre lang="js"><code>Sentry.init({ tracesSampleRate: 1.0, integrations: [Sentry.vercelAIIntegration()], }); </code></pre> <p>And enable telemetry for Vercel AI calls</p> <pre lang="js"><code>const result = await generateText({ model: openai('gpt-4o'), experimental_telemetry: { isEnabled: true, }, }); </code></pre> <ul> <li><strong>feat(node): Add postgresjs instrumentation (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16665">#16665</a>)</strong></li> </ul> <p>The Node.js SDK now includes instrumentation for <a href="https://www.npmjs.com/package/postgres">Postgres.js</a>.</p> <ul> <li><strong>feat(node): Use diagnostics channel for Fastify v5 error handling (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16715">#16715</a>)</strong></li> </ul> <p>If you're on Fastify v5, you no longer need to call <code>setupFastifyErrorHandler</code>. It is done automatically by the node SDK. Older versions still rely on calling <code>setupFastifyErrorHandler</code>.</p> <h3>Other Changes</h3> <ul> <li>feat(cloudflare): Allow interop with OpenTelemetry emitted spans (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16714">#16714</a>)</li> <li>feat(cloudflare): Flush after <code>waitUntil</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16681">#16681</a>)</li> <li>fix(nextjs): Remove <code>ai</code> from default server external packages (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16736">#16736</a>)</li> </ul> <p>Work in this release was contributed by <a href="https://github.com/0xbad0c0d3"><code>@0xbad0c0d3</code></a>. Thank you for your contribution!</p> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td><code>@sentry/browser</code></td> <td>23.42 KB</td> </tr> <tr> <td><code>@sentry/browser</code> - with treeshaking flags</td> <td>23.2 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing)</td> <td>37.93 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay)</td> <td>75.18 KB</td> </tr> </tbody> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md"><code>@sentry/core</code>'s changelog</a>.</em></p> <blockquote> <h2>9.33.0</h2> <h3>Important Changes</h3> <ul> <li><strong>feat: Add opt-in <code>vercelAiIntegration</code> to cloudflare & vercel-edge (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16732">#16732</a>)</strong></li> </ul> <p>The <code>vercelAiIntegration</code> is now available as opt-in for the Cloudflare and the Next.js SDK for Vercel Edge. To use it, add the integration in <code>Sentry.init</code></p> <pre lang="js"><code>Sentry.init({ tracesSampleRate: 1.0, integrations: [Sentry.vercelAIIntegration()], }); </code></pre> <p>And enable telemetry for Vercel AI calls</p> <pre lang="js"><code>const result = await generateText({ model: openai('gpt-4o'), experimental_telemetry: { isEnabled: true, }, }); </code></pre> <ul> <li><strong>feat(node): Add postgresjs instrumentation (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16665">#16665</a>)</strong></li> </ul> <p>The Node.js SDK now includes instrumentation for <a href="https://www.npmjs.com/package/postgres">Postgres.js</a>.</p> <ul> <li><strong>feat(node): Use diagnostics channel for Fastify v5 error handling (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16715">#16715</a>)</strong></li> </ul> <p>If you're on Fastify v5, you no longer need to call <code>setupFastifyErrorHandler</code>. It is done automatically by the node SDK. Older versions still rely on calling <code>setupFastifyErrorHandler</code>.</p> <h3>Other Changes</h3> <ul> <li>feat(cloudflare): Allow interop with OpenTelemetry emitted spans (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16714">#16714</a>)</li> <li>feat(cloudflare): Flush after <code>waitUntil</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16681">#16681</a>)</li> <li>fix(nextjs): Remove <code>ai</code> from default server external packages (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16736">#16736</a>)</li> </ul> <p>Work in this release was contributed by <a href="https://github.com/0xbad0c0d3"><code>@0xbad0c0d3</code></a>. Thank you for your contribution!</p> <h2>9.32.0</h2> <h3>Important Changes</h3> <ul> <li>feat(browser): Add CLS sources to span attributes (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16710">#16710</a>)</li> </ul> <p>Enhances CLS (Cumulative Layout Shift) spans by adding attributes detailing the elements that caused layout shifts.</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
8ffde2288a |
build(deps): bump the tailwind group in /rust/gui-client with 3 updates (#9752)
Bumps the tailwind group in /rust/gui-client with 3 updates: [@tailwindcss/cli](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-cli), [@tailwindcss/vite](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/@tailwindcss-vite) and [tailwindcss](https://github.com/tailwindlabs/tailwindcss/tree/HEAD/packages/tailwindcss). Updates `@tailwindcss/cli` from 4.1.8 to 4.1.11 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tailwindlabs/tailwindcss/releases"><code>@tailwindcss/cli</code>'s releases</a>.</em></p> <blockquote> <h2>v4.1.11</h2> <h3>Fixed</h3> <ul> <li>Add heuristic to skip candidate migrations inside <code>emit(…)</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18330">#18330</a>)</li> <li>Extract candidates with variants in Clojure/ClojureScript keywords (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18338">#18338</a>)</li> <li>Document <code>--watch=always</code> in the CLI's usage (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18337">#18337</a>)</li> <li>Add support for Vite 7 to <code>@tailwindcss/vite</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18384">#18384</a>)</li> </ul> <h2>v4.1.10</h2> <h3>Fixed</h3> <ul> <li>Fix incorrectly generated CSS when using percentages in arbitrary values with calc (e.g. <code>w-[calc(100%-var(--offset))]</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18289">#18289</a>)</li> </ul> <h2>v4.1.9</h2> <h3>Fixed</h3> <ul> <li>Correctly parse custom properties with strings containing semicolons (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18251">#18251</a>)</li> <li>Upgrade: Migrate arbitrary modifiers without percentage signs to bare values (e.g. <code>/[0.16]</code> → <code>/16</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18184">#18184</a>)</li> <li>Upgrade: Migrate CSS variable shorthands where fallback value contains function call (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18184">#18184</a>)</li> <li>Upgrade: Migrate negative arbitrary values to negative bare values (e.g. <code>mb-[-32rem]</code> → <code>-mb-128</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18212">#18212</a>)</li> <li>Upgrade: Do not migrate <code>blur</code> in <code>wire:model.blur</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18216">#18216</a>)</li> <li>Don't add spaces around CSS dashed idents when formatting math expressions (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18220">#18220</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/tailwindlabs/tailwindcss/blob/main/CHANGELOG.md"><code>@tailwindcss/cli</code>'s changelog</a>.</em></p> <blockquote> <h2>[4.1.11] - 2025-06-26</h2> <h3>Fixed</h3> <ul> <li>Add heuristic to skip candidate migrations inside <code>emit(…)</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18330">#18330</a>)</li> <li>Extract candidates with variants in Clojure/ClojureScript keywords (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18338">#18338</a>)</li> <li>Document <code>--watch=always</code> in the CLI's usage (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18337">#18337</a>)</li> <li>Add support for Vite 7 to <code>@tailwindcss/vite</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18384">#18384</a>)</li> </ul> <h2>[4.1.10] - 2025-06-11</h2> <h3>Fixed</h3> <ul> <li>Fix incorrectly generated CSS when using percentages in arbitrary values with calc (e.g. <code>w-[calc(100%-var(--offset))]</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18289">#18289</a>)</li> </ul> <h2>[4.1.9] - 2025-06-11</h2> <h3>Fixed</h3> <ul> <li>Correctly parse custom properties with strings containing semicolons (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18251">#18251</a>)</li> <li>Upgrade: Migrate arbitrary modifiers without percentage signs to bare values (e.g. <code>/[0.16]</code> → <code>/16</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18184">#18184</a>)</li> <li>Upgrade: Migrate CSS variable shorthands where fallback value contains function call (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18184">#18184</a>)</li> <li>Upgrade: Migrate negative arbitrary values to negative bare values (e.g. <code>mb-[-32rem]</code> → <code>-mb-128</code>) (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18212">#18212</a>)</li> <li>Upgrade: Do not migrate <code>blur</code> in <code>wire:model.blur</code> (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18216">#18216</a>)</li> <li>Don't add spaces around CSS dashed idents when formatting math expressions (<a href="https://redirect.github.com/tailwindlabs/tailwindcss/pull/18220">#18220</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
9ae8e03de8 |
build(deps): bump the react group in /rust/gui-client with 2 updates (#9760)
Bumps the react group in /rust/gui-client with 2 updates: [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) and [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router). Updates `@types/react` from 19.1.6 to 19.1.8 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react">compare view</a></li> </ul> </details> <br /> Updates `react-router` from 7.6.2 to 7.6.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/remix-run/react-router/releases">react-router's releases</a>.</em></p> <blockquote> <h2>v7.6.3</h2> <p>See the changelog for release notes: <a href="https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v763">https://github.com/remix-run/react-router/blob/main/CHANGELOG.md#v763</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md">react-router's changelog</a>.</em></p> <blockquote> <h2>7.6.3</h2> <h3>Patch Changes</h3> <ul> <li> <p>Do not serialize types for <code>useRouteLoaderData<typeof clientLoader></code> (<a href="https://redirect.github.com/remix-run/react-router/pull/13752">#13752</a>)</p> <p>For types to distinguish a <code>clientLoader</code> from a <code>serverLoader</code>, you MUST annotate <code>clientLoader</code> args:</p> <pre lang="ts"><code>// 👇 annotation required to skip serializing types export function clientLoader({}: Route.ClientLoaderArgs) { return { fn: () => "earth" }; } <p>function SomeComponent() {<br /> const data = useRouteLoaderData<typeof clientLoader>("routes/this-route");<br /> const planet = data?.fn() ?? "world";<br /> return <h1>Hello, {planet}!</h1>;<br /> }<br /> </code></pre></p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
899f5ea5e8 |
fix(gui-client): ensure GUI client can access firezone-id.json (#9764)
I believe some of the recent changes around how we load the `firezone-id.json` from the GUI client surfaced that we in fact don't always have access to it. Previously, this was silenced because we would only optionally add it as context to the Sentry client. Now, we need it to initialise telemetry so we know whether or not to send logs to Sentry. In order to be able to access the file, we need to change the config's directory and the file to be owned by the `firezone-client` group. |
||
|
|
9bff0bc8d3 |
fix(gui-client): don't drop bootstrap logger early (#9763)
The GUI client binary performs quite a few checks prior to setting up logging. In order to log at least something, we have a bootstrap logger config that logs to stdout based on the `RUST_LOG` env var. However, in the context of an error, the logger guard was dropped to early and therefore we couldn't actually see the error. To fix this, we pass a mutable `Option` in to `try_main` instead. This allows the function to drop the bootstrap logger once the real one is set up but also keep logging using the bootstrap logger in case of an error. |
||
|
|
f3ae275baa |
fix(gui-client): stop telemetry in tunnel service on disconnect (#9765)
In order to re-initialise telemetry on a new session, we need to make sure it is de-initialised on every session disconnect. |
||
|
|
84e84134f8 |
chore(gui-client): refresh telemetry config in service (#9688)
This will allow the client to dynamically switch between sending vs not-sending logs to Sentry.io without the user having to sign-in or out. |
||
|
|
d5be185ae4 |
chore(rust): remove telemetry spans and events (#9634)
Originally, we introduced these to gather some data from logs / warnings that we considered to be too spammy. We've since merged a burst-protection that will at most submit the same event once every 5 minutes. The data from the telemetry spans themselves have not been used at all. |
||
|
|
6972d4d62a |
test(windows): sleep before asserting on keyring (#9670)
I suspect that the new Windows runners are "too fast" and we hit a race condition in the use of the keyring on Windows which causes failing CI jobs. The attempt to fix this is to sleep for 1 seconds before every assert in the test. |
||
|
|
3b972643b1 |
feat(rust): stream logs to Sentry when enabled in PostHog (#9635)
Sentry has a new "Logs" feature where we can stream logs directly to Sentry. Doing this for all Clients and Gateways would be way too much data to collect though. In order to aid debugging from customer installations, we add a PostHog-managed feature flag that - if set to `true` - enables the streaming of logs to Sentry. This feature flag is evaluated every time the telemetry context is initialised: - For all FFI usages of connlib, this happens every time a new session is created. - For the Windows/Linux Tunnel service, this also happens every time we create a new session. - For the Headless Client and Gateway, it happens on startup and afterwards, every minute. The feature-flag context itself is only checked every 5 minutes though so it might take up to 5 minutes before this takes effect. The default value - like all feature flags - is `false`. Therefore, if there is any issue with the PostHog service, we will fallback to the previous behaviour where logs are simply stored locally. Resolves: #9600 |
||
|
|
d376a122e4 |
feat(telemetry): send account_slug to PostHog (#9636)
In order to more easily target customers with certain feature flags, we include the `account_slug` in the `$identify` event to PostHog. This will allow us to create Cohorts in PostHog and enable / disable feature flags for all installations of Firezone for a particular customer. |
||
|
|
081b075f2c |
chore: bump gui, apple, gateway (#9586)
The new publish automation still [has some kinks](https://github.com/firezone/firezone/actions/runs/15764891111) so publishing this manually. |
||
|
|
92f8c8820f |
chore(gui-client): configure eslint (#9550)
Resolves: #9546 |
||
|
|
9701cfca0f | chore: publish gui 1.5.3 (#9547) | ||
|
|
2a96102db4 |
refactor(gui-client): introduce custom ReactRouterSidebarItem (#9508)
This cleans up some changes left over from #9505 by using a custom component. |
||
|
|
3660f53150 |
fix(gui-client): remove bad hook dependencies (#9537)
The removed hook dependencies are invalid because the side-effect specified in `useEffect` does in fact not depend on them. However, as a result of these dependencies, the `useEffect` closure appears to run in an end-less loop, constantly sending the `update_state` command to the backend which in turn re-sends all state to the frontend, causing a massive CPU and memory spike. Resolves: #9519 |
||
|
|
5e3c240501 | chore: publish gui 1.5.2 (#9516) | ||
|
|
60bdbb39cb |
refactor(gui-client): move change listeners to tunnel service (#8160)
At present, listening for DNS server change and network change events is handled in the GUI client. Upon an event, a message is sent to the tunnel service which then applies the new state to `connlib`. We can avoid some of this boilerplate by moving these listeners to the tunnel service as part of the handler. As a result, we get a few improvements: - We don't need to ignore these events if we don't have a session because the lifetime of these listeners is tied to the IPC handler on the service side. - We need fewer IPC messages - We can retry the connection directly from within the tunnel service in case we have no Internet at the time of startup - We can more easily model out the state machine of a connlib session in the tunnel service - On Linux, this means we no longer shell out to `resolvectl` from the GUI process, unifying access to the "resolvers" from the tunnel service - On Windows, we no longer need admin privileges on the GUI client for optimized network-change detection. This now happens in the Tunnel process which already runs as admin. Resolves: #9465 |
||
|
|
1295adc727 |
fix(gui-client): fix minor frontend issues in app window (#9505)
- removes `NavLink` in favor of using the `href` prop on `SidebarItem`. This fixes vertical spacing between sidebar items (it was inconsistent) and DOM structure issues caused by setting `NavLink` as a direct child of `<SidebarItemGroup>`. - adds `cursor-pointer` to all `<Button>`s - adds `cursor-pointer` to the `<SidebarCollapse>` ### Before <img width="1238" alt="Screenshot 2025-06-10 at 7 57 37 PM" src="https://github.com/user-attachments/assets/2e5e66f2-d4c1-48b7-b81d-1803de2442fc" /> ### After <img width="1238" alt="Screenshot 2025-06-10 at 7 57 55 PM" src="https://github.com/user-attachments/assets/aa676fc1-124a-4e33-859d-da8f3eaad211" /> |
||
|
|
ae4816d2a6 | refactor(gui-client): reduce duplication for sending requests (#9476) | ||
|
|
9210ed2a97 |
fix(gui-client): don't say "signed in" without a connlib session (#9477)
With the introduction of the "connect on start" configuration option, we introduced a bug where the GUI client said "Signed in as ..." even though we did not have a `connlib` session. The tray-menu handles this state correctly and clicking sign out and sign in restores Firezone to a functional state. This disparity happened because we assumed that having a token means we must have a session. To fix this, we introduce a new `SessionViewModel` that combines the state of the auth session and the `connlib` state. Only if we have both do we infer that we are "signed in". This also requires us to introduce an intermediary state where we are "loading". This is represented as a spinner in the UI. Last but not least, this also removes the automated hiding of the client window. In a prior design, the only job of this window was to show the "Sign in" button so it wasn't useful beyond clicking that. Now that we show more things in this window, automatically hiding it might confuse the user. Here is what this new design looks like: [Login flow](https://github.com/user-attachments/assets/276e390b-4837-48e2-aaf1-eea007472816) As a result of other improvements around "zero-click sign-in", the user often doesn't even have to switch to the browser window because sign-in happens in the background. Unfortunately, the tab still remains open but that is outside of our control (at least on Linux). |
||
|
|
490e9c1dde |
refactor(gui-client): tidy up app startup (#9468)
As part of investigating #9400, I refactored the startup code of the GUI client to play around with the initialization order of the runtime and other parts. After finding the root cause (fixed in #9469), I figured it would still be nice to land these improvements. This refactors the app startup: - Only initialize what is absolutely necessary outside of `try_main`: The runtime and the telemetry instance. - Settings are loaded earlier - Telemetry is initializer earlier - Add a bootstrap logger that logs to stdout whilst we are booting - Re-order some code inside `gui::run` to bundle the initialization of Tauri into a single command chain --------- Signed-off-by: Thomas Eizinger <thomas@eizinger.io> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> |
||
|
|
e15dde6648 |
fix(gui-client): remove timeout from opening deep-link (#9475)
This timeout seems to be problematic as deep-links don't open with it at all. This is a regression from #9445. |
||
|
|
caafcbcf0b |
fix(gui-client): apply log directives from MDM config (#9443)
When introducing the MDM config, we took into account the log directives from the config when applying it via the GUI but failed to apply the new directives on startup. |
||
|
|
2eda6f5f74 |
build(deps): bump react-router from 7.6.1 to 7.6.2 in /rust/gui-client in the react group (#9448)
Bumps the react group in /rust/gui-client with 1 update: [react-router](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router). Updates `react-router` from 7.6.1 to 7.6.2 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/remix-run/react-router/blob/main/packages/react-router/CHANGELOG.md">react-router's changelog</a>.</em></p> <blockquote> <h2>7.6.2</h2> <h3>Patch Changes</h3> <ul> <li>Avoid additional <code>with-props</code> chunk in Framework Mode by moving route module component prop logic from the Vite plugin to <code>react-router</code> (<a href="https://redirect.github.com/remix-run/react-router/pull/13650">#13650</a>)</li> <li>[INTERNAL] Slight refactor of internal <code>headers()</code> function processing for use with RSC (<a href="https://redirect.github.com/remix-run/react-router/pull/13639">#13639</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
b79b5702f0 |
chore(gui-client): specify correct path to frontend (#9444)
When debugging logging is enabled, we see that Tauri currently iterates through several possible paths of the frontend page before it finds the one that it actually renders. We can fix this by specifying the URL without the directory path. ``` 2025-06-06T08:23:06.538Z DEBUG tauri::manager: Asset `src-frontend/index.html` not found; fallback to src-frontend/index.html.html 2025-06-06T08:23:06.538Z DEBUG tauri::manager: Asset `src-frontend/index.html` not found; fallback to src-frontend/index.html/index.html 2025-06-06T08:23:06.539Z DEBUG tauri::manager: Asset `src-frontend/index.html` not found; fallback to index.html 2025-06-06T08:23:06.566Z DEBUG firezone_gui_client::controller: Starting new instance of `Controller` ``` |
||
|
|
b0d594100d |
fix(gui-client): don't busy-loop when update checker is disabled (#9445)
The GUI client's update checker is a task that runs concurrently to the main event-loop of the client. When a new update is found, it sends a notification through a channel. When the update checker is disabled via MDM, this channel is instantly closed, resulting in `None` being read as part of the event-loop in the client. Previously, we would then return `Poll::Ready(EventloopTick::UpdateNotification(None))` and then simply ignore this event. This however is wrong. Returning `Poll::Ready` means that the future needs to be polled again, resulting in an effective busy-loop where we constantly emit the above event and then ignore it. Due to the priority order that was previously defined, this led to us never checking another channel: The one where we receive deep-links from 2nd GUI instances. As a result, signing into the client when the update checker was disabled does not work and instead, the newly launched instance hangs because it can never send over the deep-link. Resolves: #9420 |
||
|
|
192e7e040e |
build(deps): bump @vitejs/plugin-react from 4.5.0 to 4.5.1 in /rust/gui-client (#9433)
Bumps [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react) from 4.5.0 to 4.5.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite-plugin-react/releases"><code>@vitejs/plugin-react</code>'s releases</a>.</em></p> <blockquote> <h2>plugin-react@4.5.1</h2> <h3>Add explicit semicolon in preambleCode <a href="https://redirect.github.com/vitejs/vite-plugin-react/pull/485">#485</a></h3> <p>This fixes an edge case when using HTML minifiers that strips line breaks aggressively.</p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/CHANGELOG.md"><code>@vitejs/plugin-react</code>'s changelog</a>.</em></p> <blockquote> <h2>4.5.1 (2025-06-03)</h2> <h3>Add explicit semicolon in preambleCode <a href="https://redirect.github.com/vitejs/vite-plugin-react/pull/485">#485</a></h3> <p>This fixes an edge case when using HTML minifiers that strips line breaks aggressively.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
ca2b8fa10c |
build(deps): bump @sentry/react from 9.24.0 to 9.27.0 in /rust/gui-client (#9432)
Bumps [@sentry/react](https://github.com/getsentry/sentry-javascript) from 9.24.0 to 9.27.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/releases"><code>@sentry/react</code>'s releases</a>.</em></p> <blockquote> <h2>9.27.0</h2> <ul> <li>feat(node): Expand how vercel ai input/outputs can be set (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16455">#16455</a>)</li> <li>feat(node): Switch to new semantic conventions for Vercel AI (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16476">#16476</a>)</li> <li>feat(react-router): Add component annotation plugin (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16472">#16472</a>)</li> <li>feat(react-router): Export wrappers for server loaders and actions (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16481">#16481</a>)</li> <li>fix(browser): Ignore unrealistically long INP values (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16484">#16484</a>)</li> <li>fix(react-router): Conditionally add <code>ReactRouterServer</code> integration (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16470">#16470</a>)</li> </ul> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td><code>@sentry/browser</code></td> <td>23.43 KB</td> </tr> <tr> <td><code>@sentry/browser</code> - with treeshaking flags</td> <td>23.2 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing)</td> <td>37.46 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay)</td> <td>74.68 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay) - with treeshaking flags</td> <td>67.94 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay with Canvas)</td> <td>79.33 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay, Feedback)</td> <td>91.13 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Feedback)</td> <td>39.77 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. sendFeedback)</td> <td>28.03 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. FeedbackAsync)</td> <td>32.8 KB</td> </tr> <tr> <td><code>@sentry/react</code></td> <td>25.15 KB</td> </tr> <tr> <td><code>@sentry/react</code> (incl. Tracing)</td> <td>39.41 KB</td> </tr> <tr> <td><code>@sentry/vue</code></td> <td>27.69 KB</td> </tr> <tr> <td><code>@sentry/vue</code> (incl. Tracing)</td> <td>39.27 KB</td> </tr> <tr> <td><code>@sentry/svelte</code></td> <td>23.45 KB</td> </tr> <tr> <td>CDN Bundle</td> <td>24.88 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing)</td> <td>37.63 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay)</td> <td>72.66 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback)</td> <td>77.99 KB</td> </tr> <tr> <td>CDN Bundle - uncompressed</td> <td>72.67 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing) - uncompressed</td> <td>111.42 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay) - uncompressed</td> <td>222.72 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed</td> <td>235.25 KB</td> </tr> <tr> <td><code>@sentry/nextjs</code> (client)</td> <td>41.03 KB</td> </tr> <tr> <td><code>@sentry/sveltekit</code> (client)</td> <td>37.93 KB</td> </tr> <tr> <td><code>@sentry/node</code></td> <td>146.75 KB</td> </tr> <tr> <td><code>@sentry/node</code> - without tracing</td> <td>96.03 KB</td> </tr> <tr> <td><code>@sentry/aws-serverless</code></td> <td>121.19 KB</td> </tr> </tbody> </table> <h2>9.26.0</h2> <ul> <li>feat(react-router): Re-export functions from <code>@sentry/react</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16465">#16465</a>)</li> <li>fix(nextjs): Skip re instrumentating on generate phase of experimental build mode (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16410">#16410</a>)</li> <li>fix(node): Ensure adding sentry-trace and baggage headers via SentryHttpInstrumentation doesn't crash (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16473">#16473</a>)</li> </ul> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md"><code>@sentry/react</code>'s changelog</a>.</em></p> <blockquote> <h2>9.27.0</h2> <ul> <li>feat(node): Expand how vercel ai input/outputs can be set (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16455">#16455</a>)</li> <li>feat(node): Switch to new semantic conventions for Vercel AI (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16476">#16476</a>)</li> <li>feat(react-router): Add component annotation plugin (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16472">#16472</a>)</li> <li>feat(react-router): Export wrappers for server loaders and actions (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16481">#16481</a>)</li> <li>fix(browser): Ignore unrealistically long INP values (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16484">#16484</a>)</li> <li>fix(react-router): Conditionally add <code>ReactRouterServer</code> integration (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16470">#16470</a>)</li> </ul> <h2>9.26.0</h2> <ul> <li>feat(react-router): Re-export functions from <code>@sentry/react</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16465">#16465</a>)</li> <li>fix(nextjs): Skip re instrumentating on generate phase of experimental build mode (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16410">#16410</a>)</li> <li>fix(node): Ensure adding sentry-trace and baggage headers via SentryHttpInstrumentation doesn't crash (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16473">#16473</a>)</li> </ul> <h2>9.25.1</h2> <ul> <li>fix(otel): Don't ignore child spans after the root is sent (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16416">#16416</a>)</li> </ul> <h2>9.25.0</h2> <h3>Important Changes</h3> <ul> <li><strong>feat(browser): Add option to ignore <code>mark</code> and <code>measure</code> spans (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16443">#16443</a>)</strong></li> </ul> <p>This release adds an option to <code>browserTracingIntegration</code> that lets you ignore <code>mark</code> and <code>measure</code> spans created from the <code>performance.mark(...)</code> and <code>performance.measure(...)</code> browser APIs:</p> <pre lang="js"><code>Sentry.init({ integrations: [ Sentry.browserTracingIntegration({ ignorePerformanceApiSpans: ['measure-to-ignore', /mark-to-ignore/], }), ], }); </code></pre> <h3>Other Changes</h3> <ul> <li>feat(browser): Export getTraceData from the browser sdks (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16433">#16433</a>)</li> <li>feat(node): Add <code>includeServerName</code> option (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16442">#16442</a>)</li> <li>fix(nuxt): Remove setting <code>@sentry/nuxt</code> external (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16444">#16444</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
30991327bc |
build(deps): bump @types/react-dom from 19.1.5 to 19.1.6 in /rust/gui-client (#9427)
Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 19.1.5 to 19.1.6. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
d1551de09a |
build(deps): bump @types/node from 22.15.29 to 22.15.30 in /rust/gui-client (#9434)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.15.29 to 22.15.30. <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 /> [](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> |
||
|
|
c3ad2cab42 |
build(deps): bump @sentry/core from 9.24.0 to 9.27.0 in /rust/gui-client (#9436)
Bumps [@sentry/core](https://github.com/getsentry/sentry-javascript) from 9.24.0 to 9.27.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/releases"><code>@sentry/core</code>'s releases</a>.</em></p> <blockquote> <h2>9.27.0</h2> <ul> <li>feat(node): Expand how vercel ai input/outputs can be set (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16455">#16455</a>)</li> <li>feat(node): Switch to new semantic conventions for Vercel AI (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16476">#16476</a>)</li> <li>feat(react-router): Add component annotation plugin (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16472">#16472</a>)</li> <li>feat(react-router): Export wrappers for server loaders and actions (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16481">#16481</a>)</li> <li>fix(browser): Ignore unrealistically long INP values (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16484">#16484</a>)</li> <li>fix(react-router): Conditionally add <code>ReactRouterServer</code> integration (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16470">#16470</a>)</li> </ul> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> <tbody> <tr> <td><code>@sentry/browser</code></td> <td>23.43 KB</td> </tr> <tr> <td><code>@sentry/browser</code> - with treeshaking flags</td> <td>23.2 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing)</td> <td>37.46 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay)</td> <td>74.68 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay) - with treeshaking flags</td> <td>67.94 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay with Canvas)</td> <td>79.33 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Tracing, Replay, Feedback)</td> <td>91.13 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. Feedback)</td> <td>39.77 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. sendFeedback)</td> <td>28.03 KB</td> </tr> <tr> <td><code>@sentry/browser</code> (incl. FeedbackAsync)</td> <td>32.8 KB</td> </tr> <tr> <td><code>@sentry/react</code></td> <td>25.15 KB</td> </tr> <tr> <td><code>@sentry/react</code> (incl. Tracing)</td> <td>39.41 KB</td> </tr> <tr> <td><code>@sentry/vue</code></td> <td>27.69 KB</td> </tr> <tr> <td><code>@sentry/vue</code> (incl. Tracing)</td> <td>39.27 KB</td> </tr> <tr> <td><code>@sentry/svelte</code></td> <td>23.45 KB</td> </tr> <tr> <td>CDN Bundle</td> <td>24.88 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing)</td> <td>37.63 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay)</td> <td>72.66 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback)</td> <td>77.99 KB</td> </tr> <tr> <td>CDN Bundle - uncompressed</td> <td>72.67 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing) - uncompressed</td> <td>111.42 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay) - uncompressed</td> <td>222.72 KB</td> </tr> <tr> <td>CDN Bundle (incl. Tracing, Replay, Feedback) - uncompressed</td> <td>235.25 KB</td> </tr> <tr> <td><code>@sentry/nextjs</code> (client)</td> <td>41.03 KB</td> </tr> <tr> <td><code>@sentry/sveltekit</code> (client)</td> <td>37.93 KB</td> </tr> <tr> <td><code>@sentry/node</code></td> <td>146.75 KB</td> </tr> <tr> <td><code>@sentry/node</code> - without tracing</td> <td>96.03 KB</td> </tr> <tr> <td><code>@sentry/aws-serverless</code></td> <td>121.19 KB</td> </tr> </tbody> </table> <h2>9.26.0</h2> <ul> <li>feat(react-router): Re-export functions from <code>@sentry/react</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16465">#16465</a>)</li> <li>fix(nextjs): Skip re instrumentating on generate phase of experimental build mode (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16410">#16410</a>)</li> <li>fix(node): Ensure adding sentry-trace and baggage headers via SentryHttpInstrumentation doesn't crash (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16473">#16473</a>)</li> </ul> <h2>Bundle size 📦</h2> <table> <thead> <tr> <th>Path</th> <th>Size</th> </tr> </thead> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md"><code>@sentry/core</code>'s changelog</a>.</em></p> <blockquote> <h2>9.27.0</h2> <ul> <li>feat(node): Expand how vercel ai input/outputs can be set (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16455">#16455</a>)</li> <li>feat(node): Switch to new semantic conventions for Vercel AI (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16476">#16476</a>)</li> <li>feat(react-router): Add component annotation plugin (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16472">#16472</a>)</li> <li>feat(react-router): Export wrappers for server loaders and actions (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16481">#16481</a>)</li> <li>fix(browser): Ignore unrealistically long INP values (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16484">#16484</a>)</li> <li>fix(react-router): Conditionally add <code>ReactRouterServer</code> integration (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16470">#16470</a>)</li> </ul> <h2>9.26.0</h2> <ul> <li>feat(react-router): Re-export functions from <code>@sentry/react</code> (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16465">#16465</a>)</li> <li>fix(nextjs): Skip re instrumentating on generate phase of experimental build mode (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16410">#16410</a>)</li> <li>fix(node): Ensure adding sentry-trace and baggage headers via SentryHttpInstrumentation doesn't crash (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16473">#16473</a>)</li> </ul> <h2>9.25.1</h2> <ul> <li>fix(otel): Don't ignore child spans after the root is sent (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16416">#16416</a>)</li> </ul> <h2>9.25.0</h2> <h3>Important Changes</h3> <ul> <li><strong>feat(browser): Add option to ignore <code>mark</code> and <code>measure</code> spans (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16443">#16443</a>)</strong></li> </ul> <p>This release adds an option to <code>browserTracingIntegration</code> that lets you ignore <code>mark</code> and <code>measure</code> spans created from the <code>performance.mark(...)</code> and <code>performance.measure(...)</code> browser APIs:</p> <pre lang="js"><code>Sentry.init({ integrations: [ Sentry.browserTracingIntegration({ ignorePerformanceApiSpans: ['measure-to-ignore', /mark-to-ignore/], }), ], }); </code></pre> <h3>Other Changes</h3> <ul> <li>feat(browser): Export getTraceData from the browser sdks (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16433">#16433</a>)</li> <li>feat(node): Add <code>includeServerName</code> option (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16442">#16442</a>)</li> <li>fix(nuxt): Remove setting <code>@sentry/nuxt</code> external (<a href="https://redirect.github.com/getsentry/sentry-javascript/pull/16444">#16444</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
ab01a1ef91 | chore: bump gui to 1.5.1 (#9440) | ||
|
|
7b0e33f0a2 |
fix(gui-client): allow legacy settings to parse new format (#9418)
As part of the introduction of General settings, we split up "Advanced settings" and also renamed one of the fields. Upon first start, the settings are migrated to the new format. What we failed to notice is that one the next subsequent start, the legacy settings struct will fail to parse the now migrated configuration and fall back to the default. This then appears as if the settings are not getting saved. Resolves: #9417 --------- Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com> |
||
|
|
51e13d453f |
chore: publish GUI client 1.5.0 (#9413)
Co-authored-by: Thomas Eizinger <thomas@eizinger.io> |
||
|
|
f6799fa16c |
chore(gui-client): rename log file of tunnel service (#9411)
This is a left-over from the rename of the background service for the GUI client from IPC to Tunnel service. |
||
|
|
c3eb880ee5 |
fix(ci): Keep indentation of TSLINK_BUILD output (#9407)
When building the gui client with `TSLINK_BUILD=true`, the library outputs using 4 spaces for indent. These are however currently checked into git with 2 spaces per indent, which causes the Tauri workflow to fail because it checks for a pristine git directory after the build. Unfortunately #9383 doesn't fix this issue because it has nothing to do with prettier in CI. Fixes https://github.com/firezone/firezone/actions/runs/15457631114/job/43512703266 |
||
|
|
339af8d7ab |
refactor(gui-client): embed fonts directly (#9398)
This will prevent the fonts from failing to load if the user has no internet connection. Tested. |
||
|
|
d6ecda59a1 |
feat(gui-client): introduce "General" settings page (#9381)
This PR introduces "General" settings for the GUI client. The "Settings" menu item in the GUI is split into two sub-sections. The menu item is collapsible but open by default. |General|Advanced| |---|---| ||| "Connect on start" and "Account slug" can both be MDM managed. The autostart functionality is implemented via the Windows Registry. --------- Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com> |