Linux app id: ai.storyteller.solidcraft, with an end-of-life rebase from the old id (#619)
The Flatpak app id, desktop/metainfo/MIME file names, icon name and the window's Wayland app_id / X11 class are now ai.storyteller.solidcraft, the id the ArtCraft launcher expects. Existing Flatpak installs move over: the Pages repo marks app/ai.storyteller.solvecraft end-of-life with a rebase to the new id, so flatpak update offers the switch and Flatpak carries ~/.var/app along. A new install next to the old one copies settings and autosaves on first launch through a read-only grant on the old data folder. The metainfo declares <replaces>/<provides>, the desktop entry X-Flatpak-RenamedFrom, and AppImages drop the menu entry an older AppImage installed. deb/rpm upgrades remove the old-named files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
bcbfa50eac
commit
e67cc0c747
21 files changed
+194
-68
No files matched your search
@@ -35,10 +35,13 @@ pub fn default_dir() -> Option<PathBuf> {
|
||||
env("XDG_DATA_HOME").or_else(|| env("HOME").map(|h| h.join(".local/share")))?
|
||||
};
|
||||
let (dir, legacy) = dirs_under(&root, cfg!(windows) || cfg!(target_os = "macos"));
|
||||
// Compatibility shim (docs/compatibility.md): autosaves made before the rename are copied
|
||||
// to the new folder on first launch; the old folder is left as it was.
|
||||
if let Err(e) = solidcraft_io::adopt_legacy_dir(&dir, &legacy) {
|
||||
log::warn!("recovery: could not copy {} to {}: {e}", legacy.display(), dir.display());
|
||||
// Compatibility shim (docs/compatibility.md): autosaves made before the rename (or, in the
|
||||
// Flatpak sandbox, under the old app id) are copied to the new folder on first launch; the
|
||||
// old folder is left as it was.
|
||||
for old in solidcraft_io::legacy_flatpak_path(&dir).into_iter().chain([legacy]) {
|
||||
if let Err(e) = solidcraft_io::adopt_legacy_dir(&dir, &old) {
|
||||
log::warn!("recovery: could not copy {} to {}: {e}", old.display(), dir.display());
|
||||
}
|
||||
}
|
||||
Some(dir)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user