mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
43db1e63e2baec4e030cb613d8ba9089fdcecad9
2455 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
43db1e63e2 |
chore(telemetry): rate limit identical events to 1 per 5min (#9551)
It is in the nature of our application that errors may occur in rapid succession if anything in the packet processing path fails. Most of the time, these repeated errors don't add any additional information so reporting one of them to Sentry is more than enough. To achieve this, we add a `before_send` callback that utilizes a concurrent cache with an upper bound of 10000 items and a TTL of 5 minutes. In other words, if we have submitted an event to Sentry that had the exact same message in the last 5 minutes, we will not send it. Internally, `moka` uses a concurrent hash map and therefore, the key is hashed and not actually stored. Hash codes are u64, meaning the memory footprint of this cache is only ~ 64kb (not accounting for constant overhead of the cache internals). |
||
|
|
cc50d58d8c |
chore(client,gateway): log portal connection hiccups on INFO (#9557)
These don't happen very often so are safe to log on INFO. That is the default log level and it is useful to see, why we are re-connecting to the portal. |
||
|
|
9701cfca0f | chore: publish gui 1.5.3 (#9547) | ||
|
|
3ef9b4334e |
build(deps): bump libc from 0.2.172 to 0.2.173 in /rust (#9543)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.172 to 0.2.173. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/libc/releases">libc's releases</a>.</em></p> <blockquote> <h2>0.2.173</h2> <h3>Added</h3> <ul> <li>AIX: Add an AIX triple to Cargo.toml for doc (<a href="https://redirect.github.com/rust-lang/libc/pull/4475">#4475</a>)</li> <li>FreeBSD: Add the <code>SO_SPLICE</code> socket option support for FreeBSD >= 14.2 (<a href="https://redirect.github.com/rust-lang/libc/pull/4451">#4451</a>)</li> <li>Linux GNU: Prepare for supporting <code>_TIME_BITS=64</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4433">#4433</a>)</li> <li>Linux: Add constant PACKET_IGNORE_OUTGOING (<a href="https://redirect.github.com/rust-lang/libc/pull/4319">#4319</a>)</li> <li>Linux: Add constants and types for <code>nsfs</code> ioctls (<a href="https://redirect.github.com/rust-lang/libc/pull/4436">#4436</a>)</li> <li>Linux: Add constants for Memory-Deny-Write-Execute <code>prctls</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4400">#4400</a>)</li> <li>Linux: Add constants from <code>linux/cn_proc.h</code> and <code>linux/connector.h</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4434">#4434</a>)</li> <li>Linux: Add new flags for <code>pwritev2</code> and <code>preadv2</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4452">#4452</a>)</li> <li>Linux: Add pid_type enum values (<a href="https://redirect.github.com/rust-lang/libc/pull/4403">#4403</a>)</li> <li>Linux: Update pidfd constants and types (Linux 6.9-6.15) (<a href="https://redirect.github.com/rust-lang/libc/pull/4402">#4402</a>)</li> <li>Loongarch64 musl: Define the <code>MADV_SOFT_OFFLINE</code> constant (<a href="https://redirect.github.com/rust-lang/libc/pull/4448">#4448</a>)</li> <li>Musl: Add new fields since 1.2.0/1.2.2 to <code>struct tcp_info</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4443">#4443</a>)</li> <li>Musl: Prepare for supporting v1.2.3 (<a href="https://redirect.github.com/rust-lang/libc/pull/4443">#4443</a>)</li> <li>NuttX: Add <code>arc4random</code> and <code>arc4random_buf</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4464">#4464</a>)</li> <li>RISC-V Musl: Add <code>MADV_SOFT_OFFLINE</code> definition (<a href="https://redirect.github.com/rust-lang/libc/pull/4447">#4447</a>)</li> <li>Redox: Define SCM_RIGHTS (<a href="https://redirect.github.com/rust-lang/libc/pull/4440">#4440</a>)</li> <li>VxWorks: Add missing UTIME defines and TASK_RENAME_LENGTH (<a href="https://redirect.github.com/rust-lang/libc/pull/4407">#4407</a>)</li> <li>Windows: Add more <code>time.h</code> functions (<a href="https://redirect.github.com/rust-lang/libc/pull/4427">#4427</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Redox: Update <code>SA_</code> constants. (<a href="https://redirect.github.com/rust-lang/libc/pull/4426">#4426</a>)</li> <li>Redox: make <code>CMSG_ALIGN</code>, <code>CMSG_LEN</code>, and <code>CMSG_SPACE</code> const functions (<a href="https://redirect.github.com/rust-lang/libc/pull/4441">#4441</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>AIX: Enable libc-test and fix definitions/declarations. (<a href="https://redirect.github.com/rust-lang/libc/pull/4450">#4450</a>)</li> <li>Emscripten: Fix querying emcc on windows (use emcc.bat) (<a href="https://redirect.github.com/rust-lang/libc/pull/4248">#4248</a>)</li> <li>Hurd: Fix build from missing <code>fpos_t</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4472">#4472</a>)</li> <li>Loongarch64 Musl: Fix the <code>struct ipc_perm</code> bindings (<a href="https://redirect.github.com/rust-lang/libc/pull/4384">#4384</a>)</li> <li>Musl: Fix the <code>O_LARGEFILE</code> constant value. (<a href="https://redirect.github.com/rust-lang/libc/pull/4443">#4443</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/libc/blob/0.2.173/CHANGELOG.md">libc's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/rust-lang/libc/compare/0.2.172...0.2.173">0.2.173</a> - 2025-06-09</h2> <h3>Added</h3> <ul> <li>AIX: Add an AIX triple to Cargo.toml for doc (<a href="https://redirect.github.com/rust-lang/libc/pull/4475">#4475</a>)</li> <li>FreeBSD: Add the <code>SO_SPLICE</code> socket option support for FreeBSD >= 14.2 (<a href="https://redirect.github.com/rust-lang/libc/pull/4451">#4451</a>)</li> <li>Linux GNU: Prepare for supporting <code>_TIME_BITS=64</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4433">#4433</a>)</li> <li>Linux: Add constant PACKET_IGNORE_OUTGOING (<a href="https://redirect.github.com/rust-lang/libc/pull/4319">#4319</a>)</li> <li>Linux: Add constants and types for <code>nsfs</code> ioctls (<a href="https://redirect.github.com/rust-lang/libc/pull/4436">#4436</a>)</li> <li>Linux: Add constants for Memory-Deny-Write-Execute <code>prctls</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4400">#4400</a>)</li> <li>Linux: Add constants from <code>linux/cn_proc.h</code> and <code>linux/connector.h</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4434">#4434</a>)</li> <li>Linux: Add new flags for <code>pwritev2</code> and <code>preadv2</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4452">#4452</a>)</li> <li>Linux: Add pid_type enum values (<a href="https://redirect.github.com/rust-lang/libc/pull/4403">#4403</a>)</li> <li>Linux: Update pidfd constants and types (Linux 6.9-6.15) (<a href="https://redirect.github.com/rust-lang/libc/pull/4402">#4402</a>)</li> <li>Loongarch64 musl: Define the <code>MADV_SOFT_OFFLINE</code> constant (<a href="https://redirect.github.com/rust-lang/libc/pull/4448">#4448</a>)</li> <li>Musl: Add new fields since 1.2.0/1.2.2 to <code>struct tcp_info</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4443">#4443</a>)</li> <li>Musl: Prepare for supporting v1.2.3 (<a href="https://redirect.github.com/rust-lang/libc/pull/4443">#4443</a>)</li> <li>NuttX: Add <code>arc4random</code> and <code>arc4random_buf</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4464">#4464</a>)</li> <li>RISC-V Musl: Add <code>MADV_SOFT_OFFLINE</code> definition (<a href="https://redirect.github.com/rust-lang/libc/pull/4447">#4447</a>)</li> <li>Redox: Define SCM_RIGHTS (<a href="https://redirect.github.com/rust-lang/libc/pull/4440">#4440</a>)</li> <li>VxWorks: Add missing UTIME defines and TASK_RENAME_LENGTH (<a href="https://redirect.github.com/rust-lang/libc/pull/4407">#4407</a>)</li> <li>Windows: Add more <code>time.h</code> functions (<a href="https://redirect.github.com/rust-lang/libc/pull/4427">#4427</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Redox: Update <code>SA_</code> constants. (<a href="https://redirect.github.com/rust-lang/libc/pull/4426">#4426</a>)</li> <li>Redox: make <code>CMSG_ALIGN</code>, <code>CMSG_LEN</code>, and <code>CMSG_SPACE</code> const functions (<a href="https://redirect.github.com/rust-lang/libc/pull/4441">#4441</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>AIX: Enable libc-test and fix definitions/declarations. (<a href="https://redirect.github.com/rust-lang/libc/pull/4450">#4450</a>)</li> <li>Emscripten: Fix querying emcc on windows (use emcc.bat) (<a href="https://redirect.github.com/rust-lang/libc/pull/4248">#4248</a>)</li> <li>Hurd: Fix build from missing <code>fpos_t</code> (<a href="https://redirect.github.com/rust-lang/libc/pull/4472">#4472</a>)</li> <li>Loongarch64 Musl: Fix the <code>struct ipc_perm</code> bindings (<a href="https://redirect.github.com/rust-lang/libc/pull/4384">#4384</a>)</li> <li>Musl: Fix the <code>O_LARGEFILE</code> constant value. (<a href="https://redirect.github.com/rust-lang/libc/pull/4443">#4443</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
5b70e2a0d1 |
build(deps): bump reqwest from 0.12.19 to 0.12.20 in /rust (#9540)
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.19 to 0.12.20. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p> <blockquote> <h2>v0.12.20</h2> <h2>Highlights</h2> <ul> <li>Add <code>ClientBuilder::tcp_user_timeout(Duration)</code> option to set <code>TCP_USER_TIMEOUT</code>.</li> <li>Fix proxy headers only using the first matched proxy.</li> <li>(wasm) Fix re-adding <code>Error::is_status()</code>.</li> </ul> <h2>What's Changed</h2> <ul> <li>fix(client): apply authorization header to first matching proxy only by <a href="https://github.com/0x676e67"><code>@0x676e67</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2714">seanmonstar/reqwest#2714</a></li> <li>wasm: re-add Error::is_status() by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2720">seanmonstar/reqwest#2720</a></li> <li>properly match error variants in test by <a href="https://github.com/Ruben2424"><code>@Ruben2424</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2721">seanmonstar/reqwest#2721</a></li> <li>refactor: reduce size of Pending request future by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2725">seanmonstar/reqwest#2725</a></li> <li>feat: add tcp_user_timeout builder option by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2724">seanmonstar/reqwest#2724</a></li> <li>refactor: use hyper-util Socks connectors by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2726">seanmonstar/reqwest#2726</a></li> <li>Remove some unused dependencies by <a href="https://github.com/DaniPopes"><code>@DaniPopes</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2716">seanmonstar/reqwest#2716</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/DaniPopes"><code>@DaniPopes</code></a> made their first contribution in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2716">seanmonstar/reqwest#2716</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/seanmonstar/reqwest/compare/v0.12.19...v0.12.20">https://github.com/seanmonstar/reqwest/compare/v0.12.19...v0.12.20</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p> <blockquote> <h2>v0.12.20</h2> <ul> <li>Add <code>ClientBuilder::tcp_user_timeout(Duration)</code> option to set <code>TCP_USER_TIMEOUT</code>.</li> <li>Fix proxy headers only using the first matched proxy.</li> <li>(wasm) Fix re-adding <code>Error::is_status()</code>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
42854ef148 |
build(deps): bump windows from 0.61.1 to 0.61.3 in /rust in the windows group (#9541)
Bumps the windows group in /rust with 1 update: [windows](https://github.com/microsoft/windows-rs). Updates `windows` from 0.61.1 to 0.61.3 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/microsoft/windows-rs/commits">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 <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> |
||
|
|
7b2fb13067 |
build(deps): bump syn from 2.0.101 to 2.0.103 in /rust (#9542)
Bumps [syn](https://github.com/dtolnay/syn) from 2.0.101 to 2.0.103. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/syn/releases">syn's releases</a>.</em></p> <blockquote> <h2>2.0.103</h2> <ul> <li>Insert parentheses around binary operation with attribute (<a href="https://redirect.github.com/dtolnay/syn/issues/1871">#1871</a>)</li> </ul> <h2>2.0.102</h2> <ul> <li>Fix printing of nested Expr::Index and Expr::Tuple in non-full mode (<a href="https://redirect.github.com/dtolnay/syn/issues/1869">#1869</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
e91e4fd936 |
build(deps): bump nix from 0.29.0 to 0.30.1 in /rust (#9268)
Bumps [nix](https://github.com/nix-rust/nix) from 0.29.0 to 0.30.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/nix-rust/nix/blob/master/CHANGELOG.md">nix's changelog</a>.</em></p> <blockquote> <h2>[0.30.1] - 2025-05-04</h2> <h3>Fixed</h3> <ul> <li>doc.rs build (<a href="https://redirect.github.com/nix-rust/nix/pull/2634">#2634</a>)</li> </ul> <h2>[0.30.0] - 2025-04-29</h2> <h3>Added</h3> <ul> <li>Add socket option <code>IPV6_PKTINFO</code> for BSDs/Linux/Android, also <code>IPV6_RECVPKTINFO</code> for DragonFlyBSD (<a href="https://redirect.github.com/nix-rust/nix/pull/2113">#2113</a>)</li> <li>Add <code>fcntl</code>'s <code>F_PREALLOCATE</code> constant for Apple targets. (<a href="https://redirect.github.com/nix-rust/nix/pull/2393">#2393</a>)</li> <li>Improve support for extracting the TTL / Hop Limit from incoming packets and support for DSCP (ToS / Traffic Class). (<a href="https://redirect.github.com/nix-rust/nix/pull/2425">#2425</a>)</li> <li>Add socket option IP_TOS (nix::sys::socket::sockopt::IpTos) IPV6_TCLASS (nix::sys::socket::sockopt::Ipv6TClass) on Android/FreeBSD (<a href="https://redirect.github.com/nix-rust/nix/pull/2464">#2464</a>)</li> <li>Add <code>SeekData</code> and <code>SeekHole</code> to <code>Whence</code> for hurd and apple targets (<a href="https://redirect.github.com/nix-rust/nix/pull/2473">#2473</a>)</li> <li>Add <code>From</code> trait implementation between <code>SocketAddr</code> and <code>Sockaddr</code>, <code>Sockaddr6</code> (<a href="https://redirect.github.com/nix-rust/nix/pull/2474">#2474</a>)</li> <li>Added wrappers for <code>posix_spawn</code> API (<a href="https://redirect.github.com/nix-rust/nix/pull/2475">#2475</a>)</li> <li>Add the support for Emscripten. (<a href="https://redirect.github.com/nix-rust/nix/pull/2477">#2477</a>)</li> <li>Add fcntl constant <code>F_RDADVISE</code> for Apple target (<a href="https://redirect.github.com/nix-rust/nix/pull/2480">#2480</a>)</li> <li>Add fcntl constant <code>F_RDAHEAD</code> for Apple target (<a href="https://redirect.github.com/nix-rust/nix/pull/2482">#2482</a>)</li> <li>Add <code>F_LOG2PHYS</code> and <code>F_LOG2PHYS_EXT</code> for Apple target (<a href="https://redirect.github.com/nix-rust/nix/pull/2483">#2483</a>)</li> <li><code>MAP_SHARED_VALIDATE</code> was added for all linux targets. & <code>MAP_SYNC</code> was added for linux with the exclusion of mips architecures, and uclibc (<a href="https://redirect.github.com/nix-rust/nix/pull/2499">#2499</a>)</li> <li>Add <code>getregs()</code>/<code>getregset()</code>/<code>setregset()</code> for Linux/musl/aarch64 (<a href="https://redirect.github.com/nix-rust/nix/pull/2502">#2502</a>)</li> <li>Add FcntlArgs <code>F_TRANSFEREXTENTS</code> constant for Apple targets (<a href="https://redirect.github.com/nix-rust/nix/pull/2504">#2504</a>)</li> <li>Add <code>MapFlags::MAP_STACK</code> in <code>sys::man</code> for netbsd (<a href="https://redirect.github.com/nix-rust/nix/pull/2526">#2526</a>)</li> <li>Add support for <code>libc::LOCAL_PEERTOKEN</code> in <code>getsockopt</code>. (<a href="https://redirect.github.com/nix-rust/nix/pull/2529">#2529</a>)</li> <li>Add support for <code>syslog</code>, <code>openlog</code>, <code>closelog</code> on all <code>unix</code>.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
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" /> |
||
|
|
e1ac9e4912 |
fix(rust): relax assertion on cloudflare tcp response (#9506)
In #9498, the Cloudflare response was updated to match what appears to be a transient change on their end. It looks like this has changed again, so to prevent this from breaking CI in the future we relax the assertion. |
||
|
|
182a560091 |
fix(telemetry): don't log events for local and CI env (#9492)
Avoids spamming PostHog with events from our CI or other instances of the docker-compose setup. |
||
|
|
1fa345aa5e |
test(rust): adapt response from Cloudflare proxy (#9498)
It appears that Cloudflare changed the response that it is sending for the 1.1.1.1 IP so we need to adapt our integration test for packet loops in order to make CI pass. |
||
|
|
5a04405212 |
build(deps): bump smallvec from 1.15.0 to 1.15.1 in /rust (#9483)
Bumps [smallvec](https://github.com/servo/rust-smallvec) from 1.15.0 to 1.15.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/servo/rust-smallvec/releases">smallvec's releases</a>.</em></p> <blockquote> <h2>v1.15.1</h2> <h2>What's Changed</h2> <ul> <li>Shrink code produced by <code>smallvec![]</code>. by <a href="https://github.com/nnethercote"><code>@nnethercote</code></a> in <a href="https://redirect.github.com/servo/rust-smallvec/pull/386">servo/rust-smallvec#386</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/servo/rust-smallvec/compare/v1.15.0...v1.15.1">https://github.com/servo/rust-smallvec/compare/v1.15.0...v1.15.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
c7a720957a |
build(deps): bump os_info from 3.11.0 to 3.12.0 in /rust (#9484)
Bumps [os_info](https://github.com/stanislav-tkach/os_info) from 3.11.0 to 3.12.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/stanislav-tkach/os_info/releases">os_info's releases</a>.</em></p> <blockquote> <h2>os_info 3.12.0</h2> <ul> <li> <p>Cygwin support has been added. (<a href="https://redirect.github.com/stanislav-tkach/os_info/issues/405">#405</a>)</p> </li> <li> <p>macOS version detection has been updated to read the <code>SystemVersion.plist</code> file. (<a href="https://redirect.github.com/stanislav-tkach/os_info/issues/406">#406</a>)</p> </li> <li> <p>macOS bitness detection has been updated to avoid using the <code>getconf</code> command. (<a href="https://redirect.github.com/stanislav-tkach/os_info/issues/407">#407</a>)</p> </li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/stanislav-tkach/os_info/blob/master/CHANGELOG.md">os_info's changelog</a>.</em></p> <blockquote> <h2>[3.12.0] (2025-06-08)</h2> <ul> <li> <p>Cygwin support has been added. (<a href="https://redirect.github.com/stanislav-tkach/os_info/issues/405">#405</a>)</p> </li> <li> <p>macOS version detection has been updated to read the <code>SystemVersion.plist</code> file. (<a href="https://redirect.github.com/stanislav-tkach/os_info/issues/406">#406</a>)</p> </li> <li> <p>macOS bitness detection has been updated to avoid using the <code>getconf</code> command. (<a href="https://redirect.github.com/stanislav-tkach/os_info/issues/407">#407</a>)</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
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. |
||
|
|
88cda1c6ad |
fix(telemetry): negate filters for spammy events (#9469)
Boolean logic is hard. Instead of filtering _out_ these spammy events on a certain level, we accidentally configured the `SentryLayer` such that only events on level ERROR would be sent to Sentry. To fix this, we rewrite the filter such that it is phrased in an affirmative manner, i.e. it only allows an event if it matches all of the given criteria. This filter this then applied in a **negated** way, i.e. we don't want to see events that match these criteria. Resolves: #9400 |
||
|
|
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=" |
||
|
|
c2118c4564 |
build(deps): bump derive_more from 1.0.0 to 2.0.1 in /rust (#9449)
Bumps [derive_more](https://github.com/JelteF/derive_more) from 1.0.0 to 2.0.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/JelteF/derive_more/releases">derive_more's releases</a>.</em></p> <blockquote> <h2>2.0.1</h2> <p><a href="https://docs.rs/derive_more/2.0.1">API docs</a> <a href="https://github.com/JelteF/derive_more/blob/v2.0.1/CHANGELOG.md#201---2025-02-03">Changelog</a></p> <h2>2.0.0 - The first release is never perfect</h2> <h2>Breaking changes</h2> <ul> <li><code>use derive_more::SomeTrait</code> now imports macro only. Importing macro with its trait along is possible now via <code>use derive_more::with_trait::SomeTrait</code>. (<a href="https://redirect.github.com/JelteF/derive_more/pull/406">#406</a>)</li> <li>Top-level <code>#[display("...")]</code> attribute on an enum now has defaulting behavior instead of replacing when no wrapping is possible (no <code>_variant</code> placeholder). (<a href="https://redirect.github.com/JelteF/derive_more/pull/395">#395</a>)</li> </ul> <h2>Fixed</h2> <ul> <li>Associated types of type parameters not being treated as generics in <code>Debug</code> and <code>Display</code> expansions. (<a href="https://redirect.github.com/JelteF/derive_more/pull/399">#399</a>)</li> <li><code>unreachable_code</code> warnings on generated code when <code>!</code> (never type) is used. (<a href="https://redirect.github.com/JelteF/derive_more/pull/404">#404</a>)</li> <li>Ambiguous associated item error when deriving <code>TryFrom</code>, <code>TryInto</code> or <code>FromStr</code> with an associated item called <code>Error</code> or <code>Err</code> respectively. (<a href="https://redirect.github.com/JelteF/derive_more/pull/410">#410</a>)</li> <li>Top-level <code>#[display("...")]</code> attribute on an enum being incorrectly treated as transparent or wrapping. (<a href="https://redirect.github.com/JelteF/derive_more/pull/395">#395</a>)</li> <li>Omitted raw identifiers in <code>Debug</code> and <code>Display</code> expansions. (<a href="https://redirect.github.com/JelteF/derive_more/pull/431">#431</a>)</li> <li>Incorrect rendering of raw identifiers as field names in <code>Debug</code> expansions. (<a href="https://redirect.github.com/JelteF/derive_more/pull/431">#431</a>)</li> <li>Top-level <code>#[display("...")]</code> attribute on an enum not working transparently for directly specified fields. (<a href="https://redirect.github.com/JelteF/derive_more/pull/438">#438</a>)</li> <li>Incorrect dereferencing of unsized fields in <code>Debug</code> and <code>Display</code> expansions. (<a href="https://redirect.github.com/JelteF/derive_more/pull/440">#440</a>)</li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/bluurryy"><code>@bluurryy</code></a> made their first contribution in <a href="https://redirect.github.com/JelteF/derive_more/pull/410">JelteF/derive_more#410</a></li> <li><a href="https://github.com/minh-dng"><code>@minh-dng</code></a> made their first contribution in <a href="https://redirect.github.com/JelteF/derive_more/pull/423">JelteF/derive_more#423</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/JelteF/derive_more/compare/v1.0.0...v2.0.0">https://github.com/JelteF/derive_more/compare/v1.0.0...v2.0.0</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/JelteF/derive_more/blob/master/CHANGELOG.md">derive_more's changelog</a>.</em></p> <blockquote> <h2>2.0.1 - 2025-02-03</h2> <h3>Added</h3> <ul> <li>Add crate metadata for the Rust Playground. This makes sure that the Rust Playground will have all <code>derive_more</code> features available once <a href="https://docs.rs/selectors/latest/selectors"><code>selectors</code></a> crate updates its <code>derive_more</code> version. (<a href="https://redirect.github.com/JelteF/derive_more/pull/445">#445</a>)</li> </ul> <h2>2.0.0 - 2025-02-03</h2> <h3>Breaking changes</h3> <ul> <li><code>use derive_more::SomeTrait</code> now imports macro only. Importing macro with its trait along is possible now via <code>use derive_more::with_trait::SomeTrait</code>. (<a href="https://redirect.github.com/JelteF/derive_more/pull/406">#406</a>)</li> <li>Top-level <code>#[display("...")]</code> attribute on an enum now has defaulting behavior instead of replacing when no wrapping is possible (no <code>_variant</code> placeholder). (<a href="https://redirect.github.com/JelteF/derive_more/pull/395">#395</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Associated types of type parameters not being treated as generics in <code>Debug</code> and <code>Display</code> expansions. (<a href="https://redirect.github.com/JelteF/derive_more/pull/399">#399</a>)</li> <li><code>unreachable_code</code> warnings on generated code when <code>!</code> (never type) is used. (<a href="https://redirect.github.com/JelteF/derive_more/pull/404">#404</a>)</li> <li>Ambiguous associated item error when deriving <code>TryFrom</code>, <code>TryInto</code> or <code>FromStr</code> with an associated item called <code>Error</code> or <code>Err</code> respectively. (<a href="https://redirect.github.com/JelteF/derive_more/pull/410">#410</a>)</li> <li>Top-level <code>#[display("...")]</code> attribute on an enum being incorrectly treated as transparent or wrapping. (<a href="https://redirect.github.com/JelteF/derive_more/pull/395">#395</a>)</li> <li>Omitted raw identifiers in <code>Debug</code> and <code>Display</code> expansions. (<a href="https://redirect.github.com/JelteF/derive_more/pull/431">#431</a>)</li> <li>Incorrect rendering of raw identifiers as field names in <code>Debug</code> expansions. (<a href="https://redirect.github.com/JelteF/derive_more/pull/431">#431</a>)</li> <li>Top-level <code>#[display("...")]</code> attribute on an enum not working transparently for directly specified fields. (<a href="https://redirect.github.com/JelteF/derive_more/pull/438">#438</a>)</li> <li>Incorrect dereferencing of unsized fields in <code>Debug</code> and <code>Display</code> expansions. (<a href="https://redirect.github.com/JelteF/derive_more/pull/440">#440</a>)</li> </ul> <h2>0.99.19 - 2025-02-03</h2> <ul> <li>Add crate metadata for the Rust Playground.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
641db5d85f |
build(deps): bump tracing-core from 0.1.33 to 0.1.34 in /rust (#9450)
Bumps [tracing-core](https://github.com/tokio-rs/tracing) from 0.1.33 to 0.1.34. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/tracing/releases">tracing-core's releases</a>.</em></p> <blockquote> <h2>tracing-core 0.1.34</h2> <h3>Changed</h3> <ul> <li>Bump MSRV to 1.65 (<a href="https://redirect.github.com/tokio-rs/tracing/issues/3033">#3033</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>Do not compare references to pointers to compare pointers (<a href="https://redirect.github.com/tokio-rs/tracing/issues/3236">#3236</a>)</li> </ul> <p><a href="https://redirect.github.com/tokio-rs/tracing/issues/3033">#3033</a>: <a href="https://redirect.github.com/tokio-rs/tracing/pull/3033">tokio-rs/tracing#3033</a> <a href="https://redirect.github.com/tokio-rs/tracing/issues/3236">#3236</a>: <a href="https://redirect.github.com/tokio-rs/tracing/pull/3236">tokio-rs/tracing#3236</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
365bc51ea9 |
build(deps): bump sentry to v0.38.1 (#9357)
Unfortunately, this pulls in a lot of dependencies that aren't actually used due to a bug in `cargo`. See https://github.com/getsentry/sentry-rust/issues/804#issuecomment-2929627500. |
||
|
|
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 |
||
|
|
822832e02b |
chore(macos): allow tauri to build on macOS (#9391)
When working on UI stuff for the Tauri clients on macOS it's helpful if the UI is buildable. This is a first stab at getting a stub client to launch on macOS with the help of our AI overlords. Feel free to close or heavily critique if there is a better approach. |
||
|
|
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=" |
||
|
|
56c57086eb |
build(deps): bump reqwest from 0.12.18 to 0.12.19 in /rust (#9438)
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.18 to 0.12.19. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p> <blockquote> <h2>v0.12.19</h2> <h2>What's Changed</h2> <ul> <li>refactor: report custom reason phrase in error message by <a href="https://github.com/chanbengz"><code>@chanbengz</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2697">seanmonstar/reqwest#2697</a></li> <li>fix: only check scheme after Policy return <code>follow</code> by <a href="https://github.com/linyihai"><code>@linyihai</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2710">seanmonstar/reqwest#2710</a></li> <li>ci: check cookies feature on wasm target by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2711">seanmonstar/reqwest#2711</a></li> <li>fix(redirect): Using <code>tower-http</code> patch to fix invalid <code>content-length</code> header by <a href="https://github.com/linyihai"><code>@linyihai</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2709">seanmonstar/reqwest#2709</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/seanmonstar/reqwest/compare/v0.12.18...v0.12.19">https://github.com/seanmonstar/reqwest/compare/v0.12.18...v0.12.19</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p> <blockquote> <h2>v0.12.19</h2> <ul> <li>Fix redirect that changes the method to GET should remove payload headers.</li> <li>Fix redirect to only check the next scheme if the policy action is to follow.</li> <li>(wasm) Fix compilation error if <code>cookies</code> feature is enabled (by the way, it's a noop feature in wasm).</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> |
||
|
|
b60d77cef4 | chore: publish gateway 1.4.10 (#9412) | ||
|
|
6683178c8b | chore: publish headless client 1.5.0 (#9414) | ||
|
|
6f566450da |
build(deps): bump reqwest from 0.12.15 to 0.12.18 in /rust (#9360)
Bumps [reqwest](https://github.com/seanmonstar/reqwest) from 0.12.15 to 0.12.18. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/releases">reqwest's releases</a>.</em></p> <blockquote> <h2>v0.12.18</h2> <h2>What's Changed</h2> <ul> <li>Fix compilation when <code>socks</code> enabled without TLS.</li> </ul> <h2>v0.12.17</h2> <h2>What's Changed</h2> <ul> <li>build: Fix compilation issues on macOS by <a href="https://github.com/0x676e67"><code>@0x676e67</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2696">seanmonstar/reqwest#2696</a></li> </ul> <h2>v0.12.16</h2> <h2>Highlights</h2> <ul> <li>Add <code>ClientBuilder::http3_congestion_bbr()</code> to enable BBR congestion control.</li> <li>Add <code>ClientBuilder::http3_send_grease()</code> to configure whether to send use QUIC grease.</li> <li>Add <code>ClientBuilder::http3_max_field_section_size()</code> to configure the maximum response headers.</li> <li>Add <code>ClientBuilder::tcp_keepalive_interval()</code> to configure TCP probe interval.</li> <li>Add <code>ClientBuilder::tcp_keepalive_retries()</code> to configure TCP probe count.</li> <li>Add <code>Proxy::headers()</code> to add extra headers that should be sent to a proxy.</li> <li>Fix <code>redirect::Policy::limit()</code> which had an off-by-1 error, allowing 1 more redirect than specified.</li> <li>Fix HTTP/3 to support streaming request bodies.</li> <li>(wasm) Fix null bodies when calling <code>Response::bytes_stream()</code>.</li> </ul> <h2>What's Changed</h2> <ul> <li>Clarify that <code>Response::content_length()</code> is not derived from a <code>Content-Length</code> header in docs by <a href="https://github.com/babolivier"><code>@babolivier</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2588">seanmonstar/reqwest#2588</a></li> <li>docs: link to <code>char::REPLACEMENT_CHARACTER</code> by <a href="https://github.com/marcospb19"><code>@marcospb19</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/1880">seanmonstar/reqwest#1880</a></li> <li>feat: add H3 client config support by <a href="https://github.com/smalls0098"><code>@smalls0098</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2609">seanmonstar/reqwest#2609</a></li> <li>chore: update brotli to v7 by <a href="https://github.com/nyurik"><code>@nyurik</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2620">seanmonstar/reqwest#2620</a></li> <li>Do not pull in an entirely different DEFLATE implementation just for tests by <a href="https://github.com/Shnatsel"><code>@Shnatsel</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2625">seanmonstar/reqwest#2625</a></li> <li>chore: fix some typos in comment by <a href="https://github.com/xixishidibei"><code>@xixishidibei</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2628">seanmonstar/reqwest#2628</a></li> <li>fix(wasm): handle null body in bytes_stream by <a href="https://github.com/alongubkin"><code>@alongubkin</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2632">seanmonstar/reqwest#2632</a></li> <li><code>ClientBuilder::interface</code> on macOS/Solarish OSes by <a href="https://github.com/hawkw"><code>@hawkw</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2623">seanmonstar/reqwest#2623</a></li> <li>ci: use ubuntu-latest in nightly job by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2646">seanmonstar/reqwest#2646</a></li> <li>feat: BBR congestion control for http3 by <a href="https://github.com/threeninesixseven"><code>@threeninesixseven</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2642">seanmonstar/reqwest#2642</a></li> <li>feat: Add extentions for Request by <a href="https://github.com/Xuanwo"><code>@Xuanwo</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2647">seanmonstar/reqwest#2647</a></li> <li>refactor: Store request timeout in request extensions instead by <a href="https://github.com/Xuanwo"><code>@Xuanwo</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2650">seanmonstar/reqwest#2650</a></li> <li>chore: make ci pass by <a href="https://github.com/linyihai"><code>@linyihai</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2666">seanmonstar/reqwest#2666</a></li> <li>update h3 dependencys by <a href="https://github.com/Ruben2424"><code>@Ruben2424</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2670">seanmonstar/reqwest#2670</a></li> <li>Document reqwest can make TLS and cookie requests with Wasm by <a href="https://github.com/nickbabcock"><code>@nickbabcock</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2661">seanmonstar/reqwest#2661</a></li> <li>fix(redirect): make the number of redirects of policy matches its maximum limit. by <a href="https://github.com/linyihai"><code>@linyihai</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2664">seanmonstar/reqwest#2664</a></li> <li>Exposed hyper tcp keepalive interval and retries parameters by <a href="https://github.com/mackliet"><code>@mackliet</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2675">seanmonstar/reqwest#2675</a></li> <li>refactor: use hyper-util's proxy::Matcher by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2681">seanmonstar/reqwest#2681</a></li> <li>Support streaming request body in HTTP/3 by <a href="https://github.com/ducaale"><code>@ducaale</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2673">seanmonstar/reqwest#2673</a></li> <li>refactor: use hyper-util <code>Tunnel</code> by <a href="https://github.com/seanmonstar"><code>@seanmonstar</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2684">seanmonstar/reqwest#2684</a></li> <li>Upgrade webpki-roots to 1 by <a href="https://github.com/djc"><code>@djc</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2688">seanmonstar/reqwest#2688</a></li> <li>refactor: remove <code>futures-util</code> unless using <code>stream</code>/<code>multipart</code>/compression/<code>blocking</code> by <a href="https://github.com/paolobarbolini"><code>@paolobarbolini</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2692">seanmonstar/reqwest#2692</a></li> <li>chore: replace rustls-pemfile with rustls-pki-types by <a href="https://github.com/tottoto"><code>@tottoto</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2541">seanmonstar/reqwest#2541</a></li> <li>Ensure H3ResponseFuture Implements Sync by <a href="https://github.com/ducaale"><code>@ducaale</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2685">seanmonstar/reqwest#2685</a></li> <li>feat(redirect): Using <code>FollowRedirect</code> from <code>tower-http</code> to handle the <code>redirect</code> loop by <a href="https://github.com/linyihai"><code>@linyihai</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2617">seanmonstar/reqwest#2617</a></li> <li>feat: add customizable headers in proxy mode by <a href="https://github.com/chanbengz"><code>@chanbengz</code></a> in <a href="https://redirect.github.com/seanmonstar/reqwest/pull/2600">seanmonstar/reqwest#2600</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md">reqwest's changelog</a>.</em></p> <blockquote> <h2>v0.12.18</h2> <ul> <li>Fix compilation when <code>socks</code> enabled without TLS.</li> </ul> <h2>v0.12.17</h2> <ul> <li>Fix compilation on macOS.</li> </ul> <h2>v0.12.16</h2> <ul> <li>Add <code>ClientBuilder::http3_congestion_bbr()</code> to enable BBR congestion control.</li> <li>Add <code>ClientBuilder::http3_send_grease()</code> to configure whether to send use QUIC grease.</li> <li>Add <code>ClientBuilder::http3_max_field_section_size()</code> to configure the maximum response headers.</li> <li>Add <code>ClientBuilder::tcp_keepalive_interval()</code> to configure TCP probe interval.</li> <li>Add <code>ClientBuilder::tcp_keepalive_retries()</code> to configure TCP probe count.</li> <li>Add <code>Proxy::headers()</code> to add extra headers that should be sent to a proxy.</li> <li>Fix <code>redirect::Policy::limit()</code> which had an off-by-1 error, allowing 1 more redirect than specified.</li> <li>Fix HTTP/3 to support streaming request bodies.</li> <li>(wasm) Fix null bodies when calling <code>Response::bytes_stream()</code>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
|
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 |
||
|
|
7498d992cb | chore: publish android 1.5.1 (#9405) | ||
|
|
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. |
||
|
|
0e630932a9 |
fix(android): drop session in a new thread (#9394)
When the Android app calls `disconnect`, it is still within the context of a `connlib` callback. That callback is executed within the runtime that we are trying to drop. That is not allowed and leads to a panic. Resolves: #9390 --------- Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com> |
||
|
|
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> |
||
|
|
6ef079357c |
feat(connlib): add basic analytics about new sessions (#9379)
This PR adds basic analytics to `connlib` by sending two events to PostHog: 1. `new_session` which is sent every time we establish a new session with a Firezone backend. This could be our production or staging instance but also a session to an on-premise installation of Firezone. We include the API URL in the event payload to further distinguish these. 2. `$identify` to link the client + version as well as the operating system to the user. The user is identified by the Firezone ID. --------- Signed-off-by: Thomas Eizinger <thomas@eizinger.io> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> |