Compare commits

..
Author SHA1 Message Date
Dylan M. Taylor 04c8599edc Release 0.18.1: fix Flatpak update permissions 2026-11-11 14:10:15 -05:00
5 changed files with 51 additions and 20 deletions
Generated
+19 -19
View File
@@ -6807,7 +6807,7 @@ dependencies = [
[[package]]
name = "wordcraft"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"arboard",
"chrono",
@@ -6847,7 +6847,7 @@ dependencies = [
[[package]]
name = "wordcraft-cli"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"image",
"serde_json",
@@ -6863,11 +6863,11 @@ dependencies = [
[[package]]
name = "wordcraft-control-key"
version = "0.18.0"
version = "0.18.1"
[[package]]
name = "wordcraft-doc"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"base64 0.23.1",
"log",
@@ -6881,7 +6881,7 @@ dependencies = [
[[package]]
name = "wordcraft-docbin"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"cfb",
"chrono",
@@ -6898,7 +6898,7 @@ dependencies = [
[[package]]
name = "wordcraft-docx"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"aes",
"base64 0.23.1",
@@ -6923,7 +6923,7 @@ dependencies = [
[[package]]
name = "wordcraft-engine"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"cfb",
"chrono",
@@ -6957,7 +6957,7 @@ dependencies = [
[[package]]
name = "wordcraft-fonts"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"brotli-decompressor",
"harfrust 0.13.3",
@@ -6971,7 +6971,7 @@ dependencies = [
[[package]]
name = "wordcraft-formats"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"aes",
"base64 0.23.1",
@@ -6998,7 +6998,7 @@ dependencies = [
[[package]]
name = "wordcraft-geom"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"image",
"serde",
@@ -7006,7 +7006,7 @@ dependencies = [
[[package]]
name = "wordcraft-layout"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"craft-proof",
"image",
@@ -7026,7 +7026,7 @@ dependencies = [
[[package]]
name = "wordcraft-mcp"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"log",
"serde_json",
@@ -7038,7 +7038,7 @@ dependencies = [
[[package]]
name = "wordcraft-metafile"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"kurbo",
"thiserror 2.0.21",
@@ -7046,7 +7046,7 @@ dependencies = [
[[package]]
name = "wordcraft-pdf"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"chrono",
"craft-pdf",
@@ -7067,7 +7067,7 @@ dependencies = [
[[package]]
name = "wordcraft-render"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"image",
"log",
@@ -7081,7 +7081,7 @@ dependencies = [
[[package]]
name = "wordcraft-ui-egui"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"accesskit_consumer",
"cfb",
@@ -7114,7 +7114,7 @@ dependencies = [
[[package]]
name = "wordcraft-web"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"craft-web-api",
"craft-web-host",
@@ -7135,7 +7135,7 @@ dependencies = [
[[package]]
name = "wordcraft-zotero"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"log",
"proptest",
@@ -7298,7 +7298,7 @@ checksum = "9440ea3e5aeabb0ac63af70daf835274065238cdd0cec83418f417eae38bacee"
[[package]]
name = "xtask"
version = "0.18.0"
version = "0.18.1"
dependencies = [
"serde_json",
]
+1 -1
View File
@@ -4,7 +4,7 @@ members = ["crates/*", "apps/*", "xtask"]
default-members = ["crates/*", "apps/wordcraft", "apps/wordcraft-cli", "xtask"]
[workspace.package]
version = "0.18.0"
version = "0.18.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.wordcraft.bundle.yml"),
include_str!("../../../packaging/linux/flatpak/ai.storyteller.wordcraft.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: wordcraft
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
@@ -18,6 +18,8 @@ sdk-extensions:
- org.freedesktop.Sdk.Extension.rust-stable
command: wordcraft
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