mirror of
https://github.com/games-on-whales/wolf-den.git
synced 2026-10-15 13:02:01 +00:00
[PR #16] [MERGED] Add Compatibility Tools page #21
Labels
No labels
bug
enhancement
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
games-on-whales/wolf-den#21
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/games-on-whales/wolf-den/pull/16
Author: @JBailes
Created: 4/20/2026
Status: ✅ Merged
Merged: 4/22/2026
Merged by: @JBailes
Base:
stable← Head:aimee/session/40971c30📝 Commits (1)
d32b7dfAdd Compatibility Tools page for managing Proton/compat tools📊 Changes
10 files changed (+482 additions, -2 deletions)
View changed files
📝
README.md(+44 -0)➕
WolfLeash/Components/Classes/CompatibilityToolsOptions.cs(+14 -0)➕
WolfLeash/Components/Classes/CompatibilityToolsService.cs(+222 -0)📝
WolfLeash/Components/Layout/MainLayout.razor(+2 -1)➕
WolfLeash/Components/Pages/CompatibilityTools/CompatibilityTools.razor(+116 -0)➕
WolfLeash/Components/Pages/CompatibilityTools/SubComponent/CompatibilityToolUpload.razor(+69 -0)📝
WolfLeash/Components/_Imports.razor(+1 -0)📝
WolfLeash/Program.cs(+6 -0)📝
WolfLeash/WolfLeash.csproj(+1 -0)📝
WolfLeash/appsettings.json(+7 -1)📄 Description
Summary
/CompatibilityTools) that lists, uploads, and deletes Steam-style compatibility tools (Proton-GE, Luxtorpeda, Boxtron, Roberta, etc.) in per-OS host directories..tar.gz,.tar.xz,.tar.bz2,.tar, and.zip.appsettings.json(CompatibilityTools:Targets) or theWOLF_CompatibilityTools__Targets__*env-var shape. Ships with defaults for Fedora 43 →/etc/wolf/compatibilitytools.d/fedora43and Ubuntu →/etc/wolf/compatibilitytools.d/ubuntu./etc/wolf/compatibilitytools.d:/etc/wolf/compatibilitytools.d) and an!IMPORTANTnote that each Steam app's runner container must mount the matching OS directory at Steam'scompatibilitytools.dlocation — that mount is outside Wolf Den's authority and has to be added per-app via Apps → Edit → Mounts.Safety: the extraction path strips absolute /
..entries, quarantines to a temp dir before moving into place, and resolves delete requests under the configured root.Test plan
dotnet build WolfLeash/WolfLeash.csproj— I don't have .NET locally, so this has not been compiler-verified./etc/wolf/compatibilitytools.dmounted, confirm the two OS subdirs are auto-created on startup..tar.gz(Proton-GE) — confirm it extracts, appears in the table with correct size, and lands at/etc/wolf/compatibilitytools.d/<os>/<tool-name>/on the host..tar.xz(Luxtorpeda) — confirm SharpCompress handles it.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.