chore: update to freya 0.4 (fixes browser freeze issue)

This commit is contained in:
LynithDev 2026-07-28 21:26:17 +02:00
parent e689a43a87
commit b9f341e579
13 changed files with 88 additions and 71 deletions

118
Cargo.lock generated
View file

@ -517,7 +517,7 @@ version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532"
dependencies = [
"event-listener",
"event-listener 5.4.1",
"event-listener-strategy",
"futures-core",
"pin-project-lite",
@ -586,7 +586,7 @@ version = "3.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311"
dependencies = [
"event-listener",
"event-listener 5.4.1",
"event-listener-strategy",
"pin-project-lite",
]
@ -604,7 +604,7 @@ dependencies = [
"async-task",
"blocking",
"cfg-if",
"event-listener",
"event-listener 5.4.1",
"futures-lite",
"rustix 1.1.4",
]
@ -704,6 +704,15 @@ dependencies = [
"tungstenite",
]
[[package]]
name = "async-watch"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a078faf4e27c0c6cc0efb20e5da59dcccc04968ebf2801d8e0b2195124cdcdb2"
dependencies = [
"event-listener 2.5.3",
]
[[package]]
name = "async_zip"
version = "0.0.18"
@ -1949,6 +1958,12 @@ dependencies = [
"num-traits",
]
[[package]]
name = "event-listener"
version = "2.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
[[package]]
name = "event-listener"
version = "5.4.1"
@ -1966,7 +1981,7 @@ version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93"
dependencies = [
"event-listener",
"event-listener 5.4.1",
"pin-project-lite",
]
@ -2113,8 +2128,8 @@ dependencies = [
[[package]]
name = "freya"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"cfg-if",
"freya-android",
@ -2136,8 +2151,8 @@ dependencies = [
[[package]]
name = "freya-android"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"freya-components",
"freya-core",
@ -2149,8 +2164,8 @@ dependencies = [
[[package]]
name = "freya-animation"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"async-io",
"easer",
@ -2159,8 +2174,8 @@ dependencies = [
[[package]]
name = "freya-clipboard"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.1"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"copypasta",
"freya-core",
@ -2168,8 +2183,8 @@ dependencies = [
[[package]]
name = "freya-components"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"accesskit",
"anyhow",
@ -2188,19 +2203,20 @@ dependencies = [
"freya-sdk",
"open",
"paste",
"reqwest 0.12.28",
"rustc-hash",
"thiserror 2.0.18",
"torin",
"tracing",
"ureq",
]
[[package]]
name = "freya-core"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"accesskit",
"async-broadcast",
"async-watch",
"bitflags 2.12.1",
"bytes 1.11.1",
"cursor-icon",
@ -2224,8 +2240,8 @@ dependencies = [
[[package]]
name = "freya-edit"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"bitflags 2.12.1",
"freya-clipboard",
@ -2238,24 +2254,24 @@ dependencies = [
[[package]]
name = "freya-engine"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"freya-skia-safe",
]
[[package]]
name = "freya-icons"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"bytes 1.11.1",
]
[[package]]
name = "freya-markdown"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"freya-components",
"freya-core",
@ -2265,8 +2281,8 @@ dependencies = [
[[package]]
name = "freya-performance-plugin"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"freya-core",
"freya-engine",
@ -2275,8 +2291,8 @@ dependencies = [
[[package]]
name = "freya-query"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"async-io",
"freya-core",
@ -2285,16 +2301,16 @@ dependencies = [
[[package]]
name = "freya-radio"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"freya-core",
]
[[package]]
name = "freya-router"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"freya-core",
"freya-router-macro",
@ -2305,8 +2321,8 @@ dependencies = [
[[package]]
name = "freya-router-macro"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"proc-macro2",
"quote",
@ -2316,8 +2332,8 @@ dependencies = [
[[package]]
name = "freya-sdk"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"async-io",
"freya-core",
@ -2367,8 +2383,8 @@ dependencies = [
[[package]]
name = "freya-winit"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"accesskit",
"accesskit_winit",
@ -3008,6 +3024,7 @@ dependencies = [
"tokio",
"tokio-rustls",
"tower-service",
"webpki-roots",
]
[[package]]
@ -3045,7 +3062,7 @@ dependencies = [
"js-sys",
"log",
"wasm-bindgen",
"windows-core 0.62.2",
"windows-core 0.56.0",
]
[[package]]
@ -4927,8 +4944,8 @@ checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec"
[[package]]
name = "pathgraph"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
[[package]]
name = "percent-encoding"
@ -5352,8 +5369,8 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
[[package]]
name = "ragnarok"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"euclid",
"hotpath",
@ -5606,6 +5623,7 @@ dependencies = [
"futures-channel",
"futures-core",
"futures-util",
"h2",
"http 1.4.1",
"http-body",
"http-body-util",
@ -5635,6 +5653,7 @@ dependencies = [
"wasm-bindgen-futures",
"wasm-streams 0.4.2",
"web-sys",
"webpki-roots",
]
[[package]]
@ -6508,7 +6527,7 @@ dependencies = [
"crc",
"crossbeam-queue",
"either",
"event-listener",
"event-listener 5.4.1",
"futures-core",
"futures-intrusive",
"futures-io",
@ -7122,8 +7141,8 @@ checksum = "756daf9b1013ebe47a8776667b466417e2d4c5679d441c26230efd9ef78692db"
[[package]]
name = "torin"
version = "0.4.0-rc.23"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#be57ee3184e047ac932057cd063f7858741d41d9"
version = "0.4.0"
source = "git+https://github.com/marc2332/freya.git?branch=fix%2Fblur#f3140a08462d907d607b91a8aba3b8f9fe3420e4"
dependencies = [
"euclid",
"itertools 0.14.0",
@ -7410,7 +7429,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dea7109cdcd5864d4eeb1b58a1648dc9bf520360d7af16ec26d0a9354bafcfc0"
dependencies = [
"base64",
"flate2",
"log",
"percent-encoding",
"rustls",
@ -8616,7 +8634,7 @@ dependencies = [
"async-trait",
"blocking",
"enumflags2",
"event-listener",
"event-listener 5.4.1",
"futures-core",
"futures-lite",
"hex",

View file

@ -147,12 +147,6 @@ freya = { git = "https://github.com/marc2332/freya.git", branch = "fix/blur" }
opt-level = 3
lto = "fat"
codegen-units = 1
# Keep the *shipped* binary stripped and small, but still emit debug info into
# separate files (macOS: .dSYM, Linux: .dwp, Windows: .pdb) so Sentry can
# symbolicate crash reports. CI uploads those files with `sentry-cli debug-files
# upload`; they are never shipped to users. Without this, release stack traces
# are just raw addresses. Use "full" instead of "line-tables-only" if you also
# want inlined-frame / variable info (larger debug files, slower builds).
strip = true
panic = "abort"
debug = "line-tables-only"

View file

@ -42,7 +42,8 @@ impl Component for Icon {
let path = self.icon.path();
let bytes = use_memo(move || AppAssets::get_bytes(path).unwrap_or_default());
svg(bytes.read().cloned())
SvgViewer::new((path, bytes.read().cloned()))
.show_loader(false)
.width(Size::px(self.size_px))
.height(Size::px(self.size_px))
// .fill(color)

View file

@ -32,7 +32,7 @@ impl Component for Navbar {
.width(Size::fill())
.height(Size::px(theme::NAVBAR_HEIGHT_PX))
.position(Position::new_absolute().top(0.).left(0.))
.layer(Layer::RelativeOverlay(2))
.layer(Layer::OverlayLevel(2))
.child(
rect()
.width(Size::fill())
@ -68,7 +68,8 @@ fn navbar_left() -> impl IntoElement {
fn navbar_logo() -> impl IntoElement {
let bytes = use_memo(|| crate::AppAssets::get_bytes("logo.svg").unwrap_or_default());
svg(bytes.read().cloned())
SvgViewer::new(("logo.svg", bytes.read().cloned()))
.show_loader(false)
.height(Size::px(44.))
.width(Size::px(214.))
.color(theme::colors::fg_primary())

View file

@ -41,7 +41,7 @@ pub fn window_controls() -> impl IntoElement {
.main_align(Alignment::End)
.cross_align(Alignment::Center)
.spacing(8.)
.layer(Layer::RelativeOverlay(u8::MAX))
.layer(Layer::OverlayLevel(u8::MAX))
.child(
navbar_button()
.child(Icon::new(IconType::Minus))

View file

@ -36,7 +36,8 @@ impl Component for OnboardingNavbar {
fn logo() -> impl IntoElement {
let bytes = use_memo(|| crate::AppAssets::get_bytes("logo.svg").unwrap_or_default());
svg(bytes.read().cloned())
SvgViewer::new(("logo.svg", bytes.read().cloned()))
.show_loader(false)
.height(Size::px(36.))
.width(Size::px(170.))
.color(colors::fg_primary())

View file

@ -84,7 +84,7 @@ impl Component for OverlayPopup {
.position(Position::new_global().top(0.).left(0.))
.width(Size::window_percent(100.))
.height(Size::window_percent(100.))
.layer(Layer::RelativeOverlay(10))
.layer(Layer::OverlayLevel(10))
.background(Color::from_argb(alpha, 0, 0, 0))
.on_press(move |_| {
if let Some(on_close) = scrim_close.as_ref() {
@ -99,7 +99,7 @@ impl Component for OverlayPopup {
.a11y_focusable(true)
.a11y_auto_focus(true)
.a11y_role(AccessibilityRole::Dialog)
.layer(Layer::RelativeOverlay(12))
.layer(Layer::OverlayLevel(12))
.on_global_key_down(move |e: Event<KeyboardEventData>| {
if e.key == Key::Named(NamedKey::Escape)
&& let Some(on_close) = key_close.as_ref()

View file

@ -89,7 +89,8 @@ impl Component for CurtainFade {
.vertical()
.spacing(14.)
.child(
svg(logo.read().cloned())
SvgViewer::new(("logo.svg", logo.read().cloned()))
.show_loader(false)
.width(Size::px(288.))
.height(Size::px(60.))
.color(colors::fg_primary()),

View file

@ -153,7 +153,7 @@ impl Component for StatusBanner {
.width(Size::window_percent(100.))
.height(Size::px(BAR_HEIGHT))
.position(Position::new_global().bottom(0.).left(0.))
.layer(Layer::RelativeOverlay(u8::MAX - 20))
.layer(Layer::OverlayLevel(u8::MAX - 20))
.background(issue.background())
.opacity(p)
.child(

View file

@ -74,7 +74,7 @@ impl Component for Toasts {
.vertical()
.spacing(12.)
.position(Position::new_global().top(64.).right(24.))
.layer(Layer::RelativeOverlay(3));
.layer(Layer::OverlayLevel(3));
for entry in entries {
let id = entry.id;

View file

@ -456,7 +456,7 @@ impl Component for LogPicker {
.position(Position::new_global().top(0.).left(0.))
.width(Size::window_percent(100.))
.height(Size::window_percent(100.))
.layer(Layer::RelativeOverlay(10))
.layer(Layer::OverlayLevel(10))
.on_press(move |_| open.set(false)),
)
.child(
@ -464,7 +464,7 @@ impl Component for LogPicker {
.margin(Gaps::new(4., 0., 0., 0.))
.width(Size::px(320.))
.max_height(Size::px(360.))
.layer(Layer::RelativeOverlay(12))
.layer(Layer::OverlayLevel(12))
.vertical()
.spacing(4.)
.padding(6.)

View file

@ -313,7 +313,7 @@ impl Component for FilterPopover {
.layer(Layer::Overlay)
.child(
rect()
.layer(Layer::RelativeOverlay(10))
.layer(Layer::OverlayLevel(10))
.position(Position::new_global().top(0.).left(0.))
.width(Size::window_percent(100.))
.height(Size::window_percent(100.))
@ -322,7 +322,7 @@ impl Component for FilterPopover {
.child(
rect()
.width(Size::fill())
.layer(Layer::RelativeOverlay(12))
.layer(Layer::OverlayLevel(12))
.margin(Gaps::new(6., 0., 0., -(FILTER_PANEL_W - FILTER_BTN_W)))
.child(panel),
)

View file

@ -137,7 +137,8 @@ impl Component for Startup {
.vertical()
.spacing(14.)
.child(
svg(logo.read().cloned())
SvgViewer::new(("logo.svg", logo.read().cloned()))
.show_loader(false)
.width(Size::px(288.))
.height(Size::px(60.))
.color(colors::fg_primary()),