12 Commits

Author SHA1 Message Date
86c9bc4a60 Merge pull request 'chore: prune old update files, fix update dialog' (#17) from dev into master
Reviewed-on: #17
2024-04-23 07:08:24 +00:00
6ccc285c61 Merge pull request 'fix api route' (#16) from dev into master
Reviewed-on: #16
2024-04-17 20:15:32 +00:00
ecf329dd69 Merge pull request 'add optional logging, cleanup fixes' (#15) from dev into master
Reviewed-on: #15
2024-04-15 11:12:10 +00:00
2bb4a86df3 Merge pull request 'dev' (#14) from dev into master
Reviewed-on: #14
2024-04-14 15:32:58 +00:00
144d1bb86a Merge pull request 'bump version' (#13) from dev into master
Reviewed-on: #13
2024-03-11 18:36:17 +00:00
c3f0882951 Merge pull request 'add dynamic beatmap images to presence' (#12) from dev into master
Reviewed-on: #12
2024-03-11 17:55:54 +00:00
4c33323e9e Merge pull request 'oops' (#10) from dev into master
Reviewed-on: #10
2024-01-30 08:52:43 +00:00
eb166c0165 Merge pull request 'bump patch version' (#9) from dev into master
Reviewed-on: #9
2024-01-29 07:58:55 +00:00
6bca0b32a9 Merge pull request 'disable unhandled error logging for now' (#8) from dev into master
Reviewed-on: #8
2024-01-29 07:57:48 +00:00
401be3c977 Merge pull request 'remove console logging, add unhandled error dialog' (#7) from dev into master
Reviewed-on: #7
2024-01-25 13:20:12 +00:00
d2d2a618c5 Merge pull request 'bump version, disable image drag' (#6) from dev into master
Reviewed-on: #6
2024-01-25 11:05:15 +00:00
fc6ec3bd69 Merge pull request 'remove class overrides' (#5) from dev into master
Reviewed-on: #5
2024-01-25 09:23:35 +00:00
2 changed files with 10 additions and 29 deletions

View File

@@ -264,33 +264,24 @@ async function getEZPPLauncherUpdateFiles(osuPath) {
filesToDownload.push(updateFile);
}
}
return [filesToDownload, updateFiles];
return filesToDownload;
}
async function downloadEZPPLauncherUpdateFiles(osuPath, updateFiles, allFiles) {
async function downloadEZPPLauncherUpdateFiles(osuPath, updateFiles) {
const eventEmitter = new EventEmitter();
const startDownload = async () => {
//NOTE: delete files that are not in the updateFiles array
const foldersToPrune = allFiles.map(file => path.dirname(path.join(osuPath, ...file.folder.split("/"), file.name))).filter((folder, index, self) => self.indexOf(folder) === index);
const foldersToPrune = updateFiles.map(file => path.dirname(path.join(osuPath, ...file.folder.split("/"), file.name))).filter((folder, index, self) => self.indexOf(folder) === index);
for (const pruneFolder of foldersToPrune) {
//NOTE: check if the folder is not the osu root folder.
if (path.basename(pruneFolder) == "osu!")
continue;
if (fs.existsSync(pruneFolder)) {
for (const files of await fs.promises.readdir(pruneFolder)) {
const filePath = path.join(pruneFolder, files);
const validFolder = allFiles.find(file => path.dirname(filePath).endsWith(file.folder));
if (!validFolder) {
if (allFiles.find(file => file.name == path.basename(filePath)) === undefined) {
eventEmitter.emit("data", {
fileName: path.basename(filePath),
});
try {
await fs.promises.rm(filePath, { recursive: true, force: true });
} catch { }
}
}
for (const files of await fs.promises.readdir(pruneFolder)) {
const filePath = path.join(pruneFolder, files);
if (!updateFiles.some(file => path.join(osuPath, ...file.folder.split("/"), file.name) === filePath)) {
await fs.promises.rm(filePath, { recursive: true, force: true });
}
}
}

14
main.js
View File

@@ -557,13 +557,12 @@ function registerIPCPipes() {
status: "Looking for patcher updates...",
});
await new Promise((res) => setTimeout(res, 1000));
const [patchFiles, allUpdateFiles] = await getEZPPLauncherUpdateFiles(osuPath);
const patchFiles = await getEZPPLauncherUpdateFiles(osuPath);
if (patchFiles.length > 0) {
logger.log("EZPPLauncher updates found.");
const patcherDownloader = await downloadEZPPLauncherUpdateFiles(
osuPath,
patchFiles,
allUpdateFiles
);
let errored = false;
patcherDownloader.eventEmitter.on("error", (data) => {
@@ -588,15 +587,6 @@ function registerIPCPipes() {
}/${formatBytes(data.total)})...`,
});
});
patcherDownloader.eventEmitter.on("delete", (data) => {
logger.log(`Deleting ${data.fileName}!`);
mainWindow.webContents.send("ezpplauncher:launchprogress", {
progress: -1,
});
mainWindow.webContents.send("ezpplauncher:launchstatus", {
status: `Deleting ${data.fileName}...`,
});
});
await patcherDownloader.startDownload();
mainWindow.webContents.send("ezpplauncher:launchprogress", {
progress: -1,
@@ -674,7 +664,7 @@ function registerIPCPipes() {
if (fs.existsSync(updateFile)) {
await fs.promises.rm(updateFile, {
force: true,
recursive: (await fs.promises.lstat(updateFile)).isDirectory(),
recursive: (await fs.promises.lstat(updateFile)).isDirectory,
});
}
}