Migrated from issue yandy-r/crosshook#69
Originally opened by @yandy-r on 2026-03-26T16:24:30Z
Original state: open
Problem / Use Case
Flatpak has become the dominant universal Linux packaging format. While AppImage is correct for CrossHook's deep filesystem access needs, a Flatpak target would improve discoverability via Flathub and support immutable distros.
Proposed Solution
- Create a Flatpak manifest for CrossHook
- Test sandbox compatibility with Steam path access, Proton execution, and trainer staging
- Ensure FUSE dependency is documented for AppImage on immutable distros
- Evaluate Flatpak portal access for the required filesystem interactions
Research Context
- Priority: P3 | Support: 3/8 | Effort: High | Readiness: None
- Note: AppImage remains the primary format; Flatpak sandboxing may conflict with CrossHook's needs
- Research source: docs/research/additional-features/deep-research-report.md
Acceptance Criteria
Storage strategy
- TOML settings should remain the home for any user-editable Flatpak-specific defaults or packaging preferences.
- SQLite metadata should hold any persisted operational snapshots, probe caches, or migration bookkeeping that becomes necessary for sandbox support.
- Runtime-only state should cover launch/session checks, portal handles, and build/submission artifacts; packaging should not invent a parallel persistence layer.
Persistence & usability
- Flatpak support must preserve CrossHook's TOML settings and metadata DB split instead of introducing browser-only or package-specific storage.
- Any migration or isolation work should be captured in child implementation issues such as
#212, not hidden inside the packaging target itself.
Code maintainability
- Keep Flatpak-specific behavior behind shared platform and packaging abstractions in
crosshook-core rather than duplicating AppImage logic.
- Keep
src-tauri and packaging manifests thin; core launch and storage decisions should stay reusable across packaging formats.
- Split packaging helpers, validation scripts, and docs into focused files instead of building one large Flatpak-only implementation surface.
Scope boundaries / Non-goals
- AppImage remains the primary packaging format; Flatpak is a secondary target.
- Do not solve this by bundling host tools or by forking core launch logic into a Flatpak-only product variant.
Problem / Use Case
Flatpak has become the dominant universal Linux packaging format. While AppImage is correct for CrossHook's deep filesystem access needs, a Flatpak target would improve discoverability via Flathub and support immutable distros.
Proposed Solution
Research Context
Acceptance Criteria
Storage strategy
Persistence & usability
#212, not hidden inside the packaging target itself.Code maintainability
crosshook-corerather than duplicating AppImage logic.src-tauriand packaging manifests thin; core launch and storage decisions should stay reusable across packaging formats.Scope boundaries / Non-goals