Skip to content

added Windows/Linux support, IWAD UX improvements, and safer delete flow for WADs.#17

Merged
stared merged 4 commits intostared:mainfrom
magnetProgramming:cross-platform-support
Apr 14, 2026
Merged

added Windows/Linux support, IWAD UX improvements, and safer delete flow for WADs.#17
stared merged 4 commits intostared:mainfrom
magnetProgramming:cross-platform-support

Conversation

@magnetProgramming
Copy link
Copy Markdown
Contributor

Hey I thought this project was pretty cool! but I am on Windows so I decided to add support for Linux / Windows. I wasn't able to test the Linux build. If someone can that would be cool otherwise I will in the next couple days. I also wasn't able to test the GOG innoextract on windows because I have the steam release. But I did implement it to the best of my ability.

I also cleaned up a few usability issues in Settings:

Added an IWAD Refresh button so new files show up without restarting
Added Open IWAD Folder so it’s faster to drop IWAD files in the directory
Added a confirmation dialog before deleting downloaded WAD files

I updated path handling, engine lookup, running-process checks, and Tauri config so local folders can be opened correctly on each OS.

Not too experienced with doom or doom modding but recently wanted to get into it.

magnetProgramming and others added 2 commits March 11, 2026 22:32
Extract shared getOs() and shortenPath() into src/lib/platform.ts,
removing duplicates from useSettings, SettingsView, useGZDoom, and
App.vue. Restrict shell:open regex to local file paths only. Wire
up platform-specific innoextract install hints in SettingsView.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@stared
Copy link
Copy Markdown
Owner

stared commented Apr 14, 2026

Thanks @magnetProgramming - and please excuse me for making you wait!

I made some changes for code consistency - let me know if it works for you; is so, happy to accept this PR.

@magnetProgramming
Copy link
Copy Markdown
Contributor Author

Hey, this looks good! One issue I ran into was that the restricted shell:open scope in tauri.conf.json was causing the "Open IWAD Folder" button to fail. I updated the regex to allow full paths while still keeping some level of restriction. Let me know if this works for you.

@magnetProgramming
Copy link
Copy Markdown
Contributor Author

I noticed in the compiled release that when clicking Play, there is about a 14-second delay before the engine actually launches. I looked into it and it seems to be caused by the validation check in validateDownload(). This also leads to some frontend freezing and UI issues.

Commenting out the validation call for already downloaded files made the engine launch instantly with no freezing. I am not sure what the best approach is here though. Should we skip validation for files that are already downloaded, or just loosen it? Either way, the 14-second delay is pretty painful 😂

if (await exists(path)) {
  // File exists - validate it before marking as downloaded
//  await validateDownload(path, filename); commenting this out removes 14 second delay + freezing issues
  if (!isDownloaded(wad.slug)) {
    const fileStat = await stat(path);
    downloads.value.downloads[wad.slug] = { filename, downloadedAt: new Date().toISOString(), size: fileStat.size };
    await saveState();
  }
  return path;
}

The restricted regex from 6cd81cf blocked the GitHub link in
AboutView. Allow local paths (/... and C:\...) and https:// URLs,
but nothing else — no arbitrary command execution.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@stared
Copy link
Copy Markdown
Owner

stared commented Apr 14, 2026

@magnetProgramming One thing at a time. This performance once - just add it as an issue, I am in the process of rewriting some things, so to avoid needless and time-consuming operations.

Add you 6a582f0 - sadly would allow arbitrary command execution. I changed it to be more restrictive.

@stared stared merged commit 69463f4 into stared:main Apr 14, 2026
@stared
Copy link
Copy Markdown
Owner

stared commented Apr 14, 2026

Merged - than you for your contribution, @magnetProgramming

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants