Fix Flatpak updates and bump to 0.24.1 (#3516)

* fix(flatpak): allow release checks and self-update helpers

* test: keep Flatpak permission parsing within strict Clippy rules

* chore: bump version to 0.24.1 for the Flatpak update fix
This commit is contained in:
Dylan M. Taylor authored and GitHub committed 2026-11-11 15:25:13 -05:00
1 parent 072e1af9a4
commit cbddc9d284
5 files changed
+71 -40

No files matched your search

Generated
+39 -39
View File
@@ -1421,7 +1421,7 @@ dependencies = [
[[package]]
name = "effectcraft"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"chrono",
"cpal",
@@ -1449,7 +1449,7 @@ dependencies = [
[[package]]
name = "effectcraft-aep"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-color",
"effectcraft-effects",
@@ -1463,7 +1463,7 @@ dependencies = [
[[package]]
name = "effectcraft-automation"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-engine",
"effectcraft-host",
@@ -1477,7 +1477,7 @@ dependencies = [
[[package]]
name = "effectcraft-av1enc"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"filmcraft-av1",
"tempfile",
@@ -1485,7 +1485,7 @@ dependencies = [
[[package]]
name = "effectcraft-cli"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"cpu-time",
"effectcraft-automation",
@@ -1504,7 +1504,7 @@ dependencies = [
[[package]]
name = "effectcraft-color"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"proptest",
"serde",
@@ -1512,7 +1512,7 @@ dependencies = [
[[package]]
name = "effectcraft-effects"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"chrono",
"effectcraft-color",
@@ -1530,7 +1530,7 @@ dependencies = [
[[package]]
name = "effectcraft-engine"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"chrono",
"craft-docpath",
@@ -1569,7 +1569,7 @@ dependencies = [
[[package]]
name = "effectcraft-export"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-av1enc",
"effectcraft-color",
@@ -1601,7 +1601,7 @@ dependencies = [
[[package]]
name = "effectcraft-expr"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"boa_engine",
"effectcraft-color",
@@ -1618,7 +1618,7 @@ dependencies = [
[[package]]
name = "effectcraft-geom"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"proptest",
"serde",
@@ -1626,7 +1626,7 @@ dependencies = [
[[package]]
name = "effectcraft-gpu"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"bytemuck",
"effectcraft-color",
@@ -1649,7 +1649,7 @@ dependencies = [
[[package]]
name = "effectcraft-helper-host"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"bytemuck",
"effectcraft-effects",
@@ -1660,14 +1660,14 @@ dependencies = [
[[package]]
name = "effectcraft-hevcenc"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"filmcraft-hevc",
]
[[package]]
name = "effectcraft-host"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-engine",
"effectcraft-export",
@@ -1694,7 +1694,7 @@ dependencies = [
[[package]]
name = "effectcraft-interchange"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-color",
"effectcraft-keyframe",
@@ -1713,7 +1713,7 @@ dependencies = [
[[package]]
name = "effectcraft-keyframe"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-color",
"effectcraft-geom",
@@ -1725,7 +1725,7 @@ dependencies = [
[[package]]
name = "effectcraft-lottie"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"craft-docpath",
"effectcraft-color",
@@ -1743,7 +1743,7 @@ dependencies = [
[[package]]
name = "effectcraft-media"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"craft-docpath",
"effectcraft-color",
@@ -1777,7 +1777,7 @@ dependencies = [
[[package]]
name = "effectcraft-model"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-geom",
"image",
@@ -1790,14 +1790,14 @@ dependencies = [
[[package]]
name = "effectcraft-opusenc"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"filmcraft-opus",
]
[[package]]
name = "effectcraft-path"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-geom",
"effectcraft-keyframe",
@@ -1809,7 +1809,7 @@ dependencies = [
[[package]]
name = "effectcraft-pdf"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"craft-pdf",
"effectcraft-raster",
@@ -1825,7 +1825,7 @@ dependencies = [
[[package]]
name = "effectcraft-plugin"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-effects",
"effectcraft-keyframe",
@@ -1837,7 +1837,7 @@ dependencies = [
[[package]]
name = "effectcraft-project"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"craft-ecproj-format",
"effectcraft-color",
@@ -1851,14 +1851,14 @@ dependencies = [
[[package]]
name = "effectcraft-psd"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"miniz_oxide 0.9.1",
]
[[package]]
name = "effectcraft-raster"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-color",
"effectcraft-geom",
@@ -1868,7 +1868,7 @@ dependencies = [
[[package]]
name = "effectcraft-render"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-color",
"effectcraft-effects",
@@ -1891,7 +1891,7 @@ dependencies = [
[[package]]
name = "effectcraft-sam2"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"bytemuck",
"candle-core",
@@ -1906,7 +1906,7 @@ dependencies = [
[[package]]
name = "effectcraft-script"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"boa_engine",
"effectcraft-engine",
@@ -1924,7 +1924,7 @@ dependencies = [
[[package]]
name = "effectcraft-segment"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"miniz_oxide 0.9.1",
"ndarray",
@@ -1933,7 +1933,7 @@ dependencies = [
[[package]]
name = "effectcraft-svg"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-geom",
"effectcraft-path",
@@ -1946,7 +1946,7 @@ dependencies = [
[[package]]
name = "effectcraft-text"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-keyframe",
"harfrust",
@@ -1958,7 +1958,7 @@ dependencies = [
[[package]]
name = "effectcraft-time"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"proptest",
"serde",
@@ -1966,7 +1966,7 @@ dependencies = [
[[package]]
name = "effectcraft-track"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-raster",
"effectcraft-segment",
@@ -1978,7 +1978,7 @@ dependencies = [
[[package]]
name = "effectcraft-ui-egui"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"bytemuck",
"chrono",
@@ -2019,11 +2019,11 @@ dependencies = [
[[package]]
name = "effectcraft-vp9enc"
version = "0.24.0"
version = "0.24.1"
[[package]]
name = "effectcraft-web"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"effectcraft-engine",
"effectcraft-export",
@@ -7840,7 +7840,7 @@ checksum = "e450f9b2ed1dff33c94c12589a87338689467b9c4f5d8a5710bd09a847d2c8a7"
[[package]]
name = "xtask"
version = "0.24.0"
version = "0.24.1"
dependencies = [
"chrono",
"pkg-config",
+1 -1
View File
@@ -4,7 +4,7 @@ members = ["crates/*", "apps/*", "xtask"]
default-members = ["crates/*", "apps/*"]
[workspace.package]
version = "0.24.0"
version = "0.24.1"
edition = "2024"
license = "MIT OR Apache-2.0"
rust-version = "1.95"
+27
View File
@@ -0,0 +1,27 @@
//! Release and source Flatpaks must allow release checks and host update helpers.
fn finish_args(manifest: &str) -> Vec<&str> {
manifest
.split("finish-args:")
.nth(1)
.unwrap_or_default()
.lines()
.take_while(|line| line.is_empty() || line.starts_with(' ') || line.starts_with('#'))
.filter_map(|line| line.trim().strip_prefix("- "))
.map(|arg| arg.trim_matches(['\'', '"']))
.collect()
}
#[test]
fn flatpak_update_permissions() {
let manifests = [
include_str!("../../../packaging/linux/flatpak/ai.storyteller.effectcraft.bundle.yml"),
include_str!("../../../packaging/linux/flatpak/ai.storyteller.effectcraft.yml"),
];
let args = manifests.map(finish_args);
assert_eq!(args[0], args[1], "source and release permissions must agree");
for permissions in args {
for required in ["--share=network", "--talk-name=org.freedesktop.Flatpak"] {
assert!(permissions.contains(&required), "missing update permission: {required}");
}
}
}
@@ -17,6 +17,8 @@ runtime-version: '25.08'
sdk: org.freedesktop.Sdk
command: effectcraft
finish-args:
# The shared updater inspects and updates this installation via flatpak-spawn --host.
- --talk-name=org.freedesktop.Flatpak
- --filesystem=xdg-data/ArtCraft/versions:ro
# Display: Wayland first; X11 only when no Wayland compositor is running.
- --socket=wayland
@@ -20,6 +20,8 @@ sdk-extensions:
- org.freedesktop.Sdk.Extension.rust-stable
command: effectcraft
finish-args:
# The shared updater inspects and updates this installation via flatpak-spawn --host.
- --talk-name=org.freedesktop.Flatpak
- --filesystem=xdg-data/ArtCraft/versions:ro
# Display: Wayland first; X11 only when no Wayland compositor is running.
- --socket=wayland