diff --git a/assets/jsons/bs-versions.json b/assets/jsons/bs-versions.json index 549ff5de..27093c9a 100644 --- a/assets/jsons/bs-versions.json +++ b/assets/jsons/bs-versions.json @@ -726,5 +726,14 @@ "ReleaseImg": "https://clan.cloudflare.steamstatic.com/images//32055887/74541417f14dee210bcfd89eefeabd7c0cc27c7d.png", "ReleaseDate": "1715008020", "year": "2024" + }, + { + "BSVersion": "1.37.0", + "BSManifest": "7270690075584855288", + "OculusBinaryId": "7062062833893435", + "ReleaseURL": "https://store.steampowered.com/news/app/620980/view/4161968170153497460", + "ReleaseImg": "https://clan.akamai.steamstatic.com/images//32055887/f82d34c7582137a6748a28c5b02670ff4b235356.png", + "ReleaseDate": "1717513346", + "year": "2024" } ] \ No newline at end of file diff --git a/assets/jsons/patreons.json b/assets/jsons/patreons.json index 39628dd0..40731b72 100644 --- a/assets/jsons/patreons.json +++ b/assets/jsons/patreons.json @@ -89,5 +89,8 @@ }, { "username": "_ monaka" + }, + { + "username": "Better_Axel" } ] diff --git a/assets/jsons/translations/de.json b/assets/jsons/translations/de.json index e807e2b4..177cbb6b 100644 --- a/assets/jsons/translations/de.json +++ b/assets/jsons/translations/de.json @@ -193,7 +193,7 @@ }, "changelogs": { "open" : "🚀 Neues im Changelog entdecken!", - "not_founds": "😕 Hoppla, kein Changelog zu sehen!" + "not-founds": "😕 Hoppla, kein Changelog zu sehen!" } } }, @@ -238,9 +238,6 @@ } }, "errors": { - "titles": { - "dotnet-required": ".NET 6 Benötigt" - }, "msg": { "401": "Steam scheint uns BeatSaber nicht herunterladen zu lassen 😢", "404": "Steam-Server können nicht kontaktiert werden.", @@ -263,11 +260,7 @@ "LicenceError": "Die Liste der Lizenzen kann nicht abgerufen werden.", "RateLimitExceeded": "Du hast es zu oft versucht, warte eine Weile und versuche es später erneut.", "TokenRejected": "Ihr Anmeldetoken wurde abgelehnt 😕 Bitte versuchen Sie es erneut.", - "AccessDenied": "Der Zugang zu Steam wurde verweigert.", - "dotnet-required": ".NET 6 Runtime muss installiert sein, um eine Version von BeatSaber herunterzuladen. Lade es herunter, indem Du auf die Schaltfläche unten klickst." - }, - "actions": { - "download-dotnet": ".NET 6 Herunterladen" + "AccessDenied": "Der Zugang zu Steam wurde verweigert." } } }, diff --git a/assets/jsons/translations/en.json b/assets/jsons/translations/en.json index 004720d4..38fe7961 100644 --- a/assets/jsons/translations/en.json +++ b/assets/jsons/translations/en.json @@ -238,9 +238,6 @@ } }, "errors": { - "titles": { - "dotnet-required": ".NET 6 Required" - }, "msg": { "401": "Steam doesn't seem to want to let us download Beat Saber 😢", "404": "Unable to contact Steam servers.", @@ -263,11 +260,7 @@ "LicenceError": "Unable to get the list of licenses.", "RateLimitExceeded": "You've tried too many times, wait a while and try again later.", "TokenRejected": "Your login token has been rejected 😕 Please try again.", - "AccessDenied": "Access to Steam has been denied.", - "dotnet-required": ".NET 6 Runtime must be installed in order to download a version of Beat Saber. Download it by clicking the button below." - }, - "actions": { - "download-dotnet": "Download .NET 6" + "AccessDenied": "Access to Steam has been denied." } } }, diff --git a/assets/jsons/translations/es.json b/assets/jsons/translations/es.json index 169d687d..705745da 100644 --- a/assets/jsons/translations/es.json +++ b/assets/jsons/translations/es.json @@ -193,7 +193,7 @@ }, "changelogs": { "open" : "🚀 ¡Descubre lo nuevo en el Changelog!", - "not_founds": "😕 Uy, ¡Changelog no encontrado!" + "not-founds": "😕 Uy, ¡Changelog no encontrado!" } } }, @@ -238,9 +238,6 @@ } }, "errors": { - "titles": { - "dotnet-required": ".NET 6 Requerido" - }, "msg": { "401": "Parece que Steam no quiere dejarnos descargar Beat Saber 😢", "404": "No se puede contactar con los servidores de Steam", @@ -263,11 +260,7 @@ "LicenceError": "No se puede obtener la lista de licencias.", "RateLimitExceeded": "Lo has intentado demasiadas veces, espera un poco y vuelve a intentarlo más tarde.", "TokenRejected": "Tu token de inicio de sesión ha sido rechazada 😕 Por favor, inténtalo de nuevo.", - "AccessDenied": "El acceso a Steam ha sido denegado.", - "dotnet-required": "Se debe instalar el tiempo de ejecución de .NET 6 para descargar una versión de Beat Saber. Descárgalo haciendo clic en el botón de abajo." - }, - "actions": { - "download-dotnet": "Descargar .NET 6" + "AccessDenied": "El acceso a Steam ha sido denegado." } } }, diff --git a/assets/jsons/translations/fr.json b/assets/jsons/translations/fr.json index 7b8b8716..b48b00fb 100644 --- a/assets/jsons/translations/fr.json +++ b/assets/jsons/translations/fr.json @@ -193,7 +193,7 @@ }, "changelogs": { "open" : "🚀 Jetez un œil au Changelog !", - "not_founds": "😕 Oups, Changelog introuvable !" + "not-founds": "😕 Oups, Changelog introuvable !" } } }, @@ -238,9 +238,6 @@ } }, "errors": { - "titles": { - "dotnet-required": ".NET 6 Requis" - }, "msg": { "401": "Steam ne semble pas vouloir nous laisser télécharger Beat Saber 😢", "404": "Impossible de contacter les serveurs de Steam.", @@ -263,11 +260,7 @@ "LicenceError": "Impossible d'obtenir la liste des licences.", "RateLimitExceeded": "Tu as essayé trop de fois attends un peu et recommence plus tard.", "TokenRejected": "Votre token de connexion a été rejeté 😕 Veuillez réessayer.", - "AccessDenied": "L'accès à Steam a été refusé.", - "dotnet-required": ".NET 6 Runtime doit être installé pour pouvoir télécharger une version de Beat Saber. Télécharge-le en cliquant sur le bouton ci-dessous." - }, - "actions": { - "download-dotnet": "Télécharger .NET 6" + "AccessDenied": "L'accès à Steam a été refusé." } } }, diff --git a/assets/jsons/translations/ja.json b/assets/jsons/translations/ja.json index f6f61799..5792fa84 100644 --- a/assets/jsons/translations/ja.json +++ b/assets/jsons/translations/ja.json @@ -193,7 +193,7 @@ }, "changelogs": { "open" : "🚀 チェンジログを覗いてみて!", - "not_founds": "😕 あれ、チェンジログが見当たらない!" + "not-founds": "😕 あれ、チェンジログが見当たらない!" } } }, @@ -238,9 +238,6 @@ } }, "errors": { - "titles": { - "dotnet-required": ".NET 6が必要です!" - }, "msg": { "401": "SteamがBeat Saberのダウンロードを許可してくれないようだ。😢", "404": "Steamサーバーに接続できません。", @@ -263,11 +260,7 @@ "LicenceError": "ライセンスリストを取得できません。", "RateLimitExceeded": "何度も試しているのでしばらくたって、もう一度お試しください。", "TokenRejected": "ログイントークンが拒否されました 😕 もう一度お試しください。", - "AccessDenied": "Steamへのアクセスが拒否されました。", - "dotnet-required": "Beat Saberをダウンロードするには、.NET 6 Runtimeがインストールされている必要があります。下のボタンをクリックしてダウンロードしてください。" - }, - "actions": { - "download-dotnet": ".NET 6をダウンロード" + "AccessDenied": "Steamへのアクセスが拒否されました。" } } }, diff --git a/assets/jsons/translations/ru.json b/assets/jsons/translations/ru.json index 0d77b028..1e219d32 100644 --- a/assets/jsons/translations/ru.json +++ b/assets/jsons/translations/ru.json @@ -193,7 +193,7 @@ }, "changelogs": { "open" : "🚀 Изучаем Changelog!", - "not_founds": "😕 Ой, Changelog нигде не видно!" + "not-founds": "😕 Ой, Changelog нигде не видно!" } } }, @@ -238,9 +238,6 @@ } }, "errors": { - "titles": { - "dotnet-required": "Требуется .NET 6" - }, "msg": { "401": "Похоже Steam не хочет, чтобы мы скачали Beat Saber 😢", "404": "Нет связи с серверами Steam.", @@ -263,11 +260,7 @@ "LicenceError": "Не удалось проверить наличие лицензии.", "RateLimitExceeded": "Слишком много попыток, вернитесь позже и попробуйте снова.", "TokenRejected": "Ваш токен для входа был отклонен 😕 Пожалуйста, попробуйте снова.", - "AccessDenied": "Доступ к Steam был отклонен.", - "dotnet-required": "Среда запуска .NET 6 должна быть установлена, чтобы скачать Beat Saber. Скачайте её с помощью кнопки ниже." - }, - "actions": { - "download-dotnet": "Скачать .NET 6" + "AccessDenied": "Доступ к Steam был отклонен." } } }, diff --git a/assets/jsons/translations/zh-tw.json b/assets/jsons/translations/zh-tw.json index 92fa9855..4d6f472d 100644 --- a/assets/jsons/translations/zh-tw.json +++ b/assets/jsons/translations/zh-tw.json @@ -193,7 +193,7 @@ }, "changelogs": { "open" : "🚀 探索更新日誌!", - "not_founds": "😕 噢,找不到更新日誌!" + "not-founds": "😕 噢,找不到更新日誌!" } } }, @@ -238,9 +238,6 @@ } }, "errors": { - "titles": { - "dotnet-required": "需要 .NET 6" - }, "msg": { "401": "Steam 似乎不想讓我們下載 Beat Saber😢", "404": "無法聯繫 Steam 伺服器。", @@ -263,11 +260,7 @@ "LicenceError": "無法獲取許可證列表。", "RateLimitExceeded": "你已經嘗試了太多次,請稍等片刻,稍後再試。", "TokenRejected": "你的登錄令牌已被拒絕 😕 請重試。", - "AccessDenied": "訪問 Steam 被拒絕。", - "dotnet-required": "必須安裝 .NET 6 Runtime 才能下載 Beat Saber 版本。單擊下面的按鈕下載它。" - }, - "actions": { - "download-dotnet": "下載 .NET 6" + "AccessDenied": "訪問 Steam 被拒絕。" } } }, diff --git a/assets/jsons/translations/zh.json b/assets/jsons/translations/zh.json index 08d262f6..5d3078eb 100644 --- a/assets/jsons/translations/zh.json +++ b/assets/jsons/translations/zh.json @@ -193,7 +193,7 @@ }, "changelogs": { "open" : "🚀 探索更新日志!", - "not_founds": "😕 哎呀,找不到更新日志!" + "not-founds": "😕 哎呀,找不到更新日志!" } } }, @@ -238,9 +238,6 @@ } }, "errors": { - "titles": { - "dotnet-required": "需要 .NET 6" - }, "msg": { "401": "Steam 似乎不想让我们下载 Beat Saber😢", "404": "无法联系 Steam 服务器。", @@ -263,11 +260,7 @@ "LicenceError": "无法获取许可证列表。", "RateLimitExceeded": "你已经尝试了太多次,请稍等片刻,稍后再试。", "TokenRejected": "你的登录令牌已被拒绝 😕 请重试。", - "AccessDenied": "访问 Steam 被拒绝。", - "dotnet-required": "必须安装 .NET 6 Runtime 才能下载 Beat Saber 版本。单击下面的按钮下载它。" - }, - "actions": { - "download-dotnet": "下载 .NET 6" + "AccessDenied": "访问 Steam 被拒绝。" } } }, diff --git a/assets/scripts/DepotDownloader b/assets/scripts/DepotDownloader new file mode 100755 index 00000000..6b044ecf Binary files /dev/null and b/assets/scripts/DepotDownloader differ diff --git a/assets/scripts/DepotDownloader.exe b/assets/scripts/DepotDownloader.exe new file mode 100644 index 00000000..11c8aa23 Binary files /dev/null and b/assets/scripts/DepotDownloader.exe differ diff --git a/assets/scripts/depot-downloader/DepotDownloader.deps.json b/assets/scripts/depot-downloader/DepotDownloader.deps.json deleted file mode 100644 index 3b286c60..00000000 --- a/assets/scripts/depot-downloader/DepotDownloader.deps.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "runtimeTarget": { - "name": ".NETCoreApp,Version=v6.0", - "signature": "" - }, - "compilationOptions": {}, - "targets": { - ".NETCoreApp,Version=v6.0": { - "DepotDownloader/2.5.0": { - "dependencies": { - "QRCoder": "1.4.3", - "SteamKit2": "2.5.0-Beta.1", - "protobuf-net": "3.2.16" - }, - "runtime": { - "DepotDownloader.dll": {} - } - }, - "Microsoft.NETCore.Platforms/5.0.0": {}, - "Microsoft.Win32.Registry/5.0.0": { - "dependencies": { - "System.Security.AccessControl": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "protobuf-net/3.2.16": { - "dependencies": { - "protobuf-net.Core": "3.2.16" - }, - "runtime": { - "lib/net6.0/protobuf-net.dll": { - "assemblyVersion": "3.0.0.0", - "fileVersion": "3.2.16.54102" - } - } - }, - "protobuf-net.Core/3.2.16": { - "dependencies": { - "System.Collections.Immutable": "7.0.0" - }, - "runtime": { - "lib/net6.0/protobuf-net.Core.dll": { - "assemblyVersion": "3.0.0.0", - "fileVersion": "3.2.16.54102" - } - } - }, - "QRCoder/1.4.3": { - "runtime": { - "lib/net6.0/QRCoder.dll": { - "assemblyVersion": "1.4.3.0", - "fileVersion": "1.4.3.0" - } - } - }, - "SteamKit2/2.5.0-Beta.1": { - "dependencies": { - "Microsoft.Win32.Registry": "5.0.0", - "protobuf-net": "3.2.16" - }, - "runtime": { - "lib/net6.0/SteamKit2.dll": { - "assemblyVersion": "2.5.0.0", - "fileVersion": "2.5.0.0" - } - } - }, - "System.Collections.Immutable/7.0.0": { - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - }, - "runtime": { - "lib/net6.0/System.Collections.Immutable.dll": { - "assemblyVersion": "7.0.0.0", - "fileVersion": "7.0.22.51805" - } - } - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, - "System.Security.AccessControl/5.0.0": { - "dependencies": { - "Microsoft.NETCore.Platforms": "5.0.0", - "System.Security.Principal.Windows": "5.0.0" - } - }, - "System.Security.Principal.Windows/5.0.0": {} - } - }, - "libraries": { - "DepotDownloader/2.5.0": { - "type": "project", - "serviceable": false, - "sha512": "" - }, - "Microsoft.NETCore.Platforms/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-VyPlqzH2wavqquTcYpkIIAQ6WdenuKoFN0BdYBbCWsclXacSOHNQn66Gt4z5NBqEYW0FAPm5rlvki9ZiCij5xQ==", - "path": "microsoft.netcore.platforms/5.0.0", - "hashPath": "microsoft.netcore.platforms.5.0.0.nupkg.sha512" - }, - "Microsoft.Win32.Registry/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==", - "path": "microsoft.win32.registry/5.0.0", - "hashPath": "microsoft.win32.registry.5.0.0.nupkg.sha512" - }, - "protobuf-net/3.2.16": { - "type": "package", - "serviceable": true, - "sha512": "sha512-W6RM2B2f5O7SigBGfkXFYzI/a7Mks+rCHtuGlE/b5O3NMupDon7I0akjCLhrfcnqIfdWDkDafseav/MnIzUSHA==", - "path": "protobuf-net/3.2.16", - "hashPath": "protobuf-net.3.2.16.nupkg.sha512" - }, - "protobuf-net.Core/3.2.16": { - "type": "package", - "serviceable": true, - "sha512": "sha512-ZFoY0lfMUWGJ4RoyI0oNj2o2l8t08n3k27YyDD0kYWQ+vXj0hTbWEwYWOpGAfCWvyUPkq9Jcc/4uR74GICZL2g==", - "path": "protobuf-net.core/3.2.16", - "hashPath": "protobuf-net.core.3.2.16.nupkg.sha512" - }, - "QRCoder/1.4.3": { - "type": "package", - "serviceable": true, - "sha512": "sha512-fWuFqjm8GTlEb2GqBl3Hi8HZZeZQwBSHxvRPtPjyNbT82H0ff0JwavKRBmMaXCno1Av6McPC8aJzri0Mj2w9Jw==", - "path": "qrcoder/1.4.3", - "hashPath": "qrcoder.1.4.3.nupkg.sha512" - }, - "SteamKit2/2.5.0-Beta.1": { - "type": "package", - "serviceable": true, - "sha512": "sha512-fwwdF0cZZEIdNpcUc1+B9zbP5Q48A3DFOAclPhBh2dMTU03aROaIDktFW+Ww/NN1Z/Emp/LwVqHB+hCM8uxS4Q==", - "path": "steamkit2/2.5.0-beta.1", - "hashPath": "steamkit2.2.5.0-beta.1.nupkg.sha512" - }, - "System.Collections.Immutable/7.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==", - "path": "system.collections.immutable/7.0.0", - "hashPath": "system.collections.immutable.7.0.0.nupkg.sha512" - }, - "System.Runtime.CompilerServices.Unsafe/6.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", - "path": "system.runtime.compilerservices.unsafe/6.0.0", - "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" - }, - "System.Security.AccessControl/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==", - "path": "system.security.accesscontrol/5.0.0", - "hashPath": "system.security.accesscontrol.5.0.0.nupkg.sha512" - }, - "System.Security.Principal.Windows/5.0.0": { - "type": "package", - "serviceable": true, - "sha512": "sha512-t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==", - "path": "system.security.principal.windows/5.0.0", - "hashPath": "system.security.principal.windows.5.0.0.nupkg.sha512" - } - } -} \ No newline at end of file diff --git a/assets/scripts/depot-downloader/DepotDownloader.dll b/assets/scripts/depot-downloader/DepotDownloader.dll deleted file mode 100644 index 049150fd..00000000 Binary files a/assets/scripts/depot-downloader/DepotDownloader.dll and /dev/null differ diff --git a/assets/scripts/depot-downloader/DepotDownloader.exe b/assets/scripts/depot-downloader/DepotDownloader.exe deleted file mode 100644 index 30eacd56..00000000 Binary files a/assets/scripts/depot-downloader/DepotDownloader.exe and /dev/null differ diff --git a/assets/scripts/depot-downloader/DepotDownloader.pdb b/assets/scripts/depot-downloader/DepotDownloader.pdb deleted file mode 100644 index 1e9f07ed..00000000 Binary files a/assets/scripts/depot-downloader/DepotDownloader.pdb and /dev/null differ diff --git a/assets/scripts/depot-downloader/DepotDownloader.runtimeconfig.json b/assets/scripts/depot-downloader/DepotDownloader.runtimeconfig.json deleted file mode 100644 index 3c15255d..00000000 --- a/assets/scripts/depot-downloader/DepotDownloader.runtimeconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "runtimeOptions": { - "tfm": "net6.0", - "rollForward": "LatestMajor", - "framework": { - "name": "Microsoft.NETCore.App", - "version": "6.0.0" - }, - "configProperties": { - "System.Reflection.Metadata.MetadataUpdater.IsSupported": false - } - } -} \ No newline at end of file diff --git a/assets/scripts/depot-downloader/QRCoder.dll b/assets/scripts/depot-downloader/QRCoder.dll deleted file mode 100644 index a6fabe90..00000000 Binary files a/assets/scripts/depot-downloader/QRCoder.dll and /dev/null differ diff --git a/assets/scripts/depot-downloader/SteamKit2.dll b/assets/scripts/depot-downloader/SteamKit2.dll deleted file mode 100644 index c0384d50..00000000 Binary files a/assets/scripts/depot-downloader/SteamKit2.dll and /dev/null differ diff --git a/assets/scripts/depot-downloader/System.Collections.Immutable.dll b/assets/scripts/depot-downloader/System.Collections.Immutable.dll deleted file mode 100644 index 86773fe8..00000000 Binary files a/assets/scripts/depot-downloader/System.Collections.Immutable.dll and /dev/null differ diff --git a/assets/scripts/depot-downloader/protobuf-net.Core.dll b/assets/scripts/depot-downloader/protobuf-net.Core.dll deleted file mode 100644 index 59ff491c..00000000 Binary files a/assets/scripts/depot-downloader/protobuf-net.Core.dll and /dev/null differ diff --git a/assets/scripts/depot-downloader/protobuf-net.dll b/assets/scripts/depot-downloader/protobuf-net.dll deleted file mode 100644 index 361af4f4..00000000 Binary files a/assets/scripts/depot-downloader/protobuf-net.dll and /dev/null differ diff --git a/package.json b/package.json index c953b8a5..860c006d 100644 --- a/package.json +++ b/package.json @@ -38,8 +38,7 @@ "extraResources": [ "./assets/favicon.ico", "./assets/jsons/bs-versions.json", - "./assets/jsons/patreons.json", - "./assets/scripts/**" + "./assets/jsons/patreons.json" ], "productName": "BSManager", "appId": "org.erb.BSManager", @@ -51,46 +50,24 @@ ], "afterSign": ".erb/scripts/notarize.js", "afterPack": ".erb/scripts/after-pack.js", - "mac": { - "target": { - "target": "default", - "arch": [ - "arm64", - "x64" - ] - }, - "type": "distribution", - "hardenedRuntime": true, - "entitlements": "assets/entitlements.mac.plist", - "entitlementsInherit": "assets/entitlements.mac.plist", - "gatekeeperAssess": false - }, - "dmg": { - "contents": [ - { - "x": 130, - "y": 220 - }, - { - "x": 410, - "y": 220, - "type": "link", - "path": "/Applications" - } - ] - }, "win": { "target": [ "nsis", "nsis-web" ], - "icon": "assets/favicon.ico" + "icon": "assets/favicon.ico", + "extraResources": [ + "./assets/scripts/*.exe" + ] }, "linux": { "target": [ "AppImage" ], - "category": "Development" + "category": "Development", + "extraResources": [ + "./assets/scripts/DepotDownloader" + ] }, "directories": { "app": "release/app", diff --git a/src/main/ipcs/bs-version-download/bs-download-ipcs.ts b/src/main/ipcs/bs-version-download/bs-download-ipcs.ts index d5e081be..2d8cc00d 100644 --- a/src/main/ipcs/bs-version-download/bs-download-ipcs.ts +++ b/src/main/ipcs/bs-version-download/bs-download-ipcs.ts @@ -14,11 +14,6 @@ ipc.on("import-version", (args, reply) => { // #region Steam -ipc.on("is-dotnet-6-installed", (_, reply) => { - const installer = BsSteamDownloaderService.getInstance(); - reply(from(installer.isDotNet6Installed())); -}); - ipc.on("bs-download.installation-folder", (_, reply) => { const installLocation = InstallationLocationService.getInstance(); reply(from(installLocation.installationDirectory())); diff --git a/src/main/services/bs-launcher/abstract-launcher.service.ts b/src/main/services/bs-launcher/abstract-launcher.service.ts index 7dfb4946..df583d1b 100644 --- a/src/main/services/bs-launcher/abstract-launcher.service.ts +++ b/src/main/services/bs-launcher/abstract-launcher.service.ts @@ -3,7 +3,7 @@ import { BSLocalVersionService } from "../bs-local-version.service"; import { ChildProcessWithoutNullStreams, SpawnOptionsWithoutStdio, spawn } from "child_process"; import path from "path"; import log from "electron-log"; -import { sToMs } from "shared/helpers/time.helpers"; +import { sToMs } from "../../../shared/helpers/time.helpers"; export abstract class AbstractLauncherService { diff --git a/src/main/services/bs-version-download/bs-steam-downloader.service.ts b/src/main/services/bs-version-download/bs-steam-downloader.service.ts index ba7d0d54..4f948553 100644 --- a/src/main/services/bs-version-download/bs-steam-downloader.service.ts +++ b/src/main/services/bs-version-download/bs-steam-downloader.service.ts @@ -2,7 +2,6 @@ import { BS_APP_ID, BS_DEPOT } from "../../constants"; import path from "path"; import { BSVersion } from "shared/bs-version.interface"; import { UtilsService } from "../utils.service"; -import { spawnSync } from "child_process"; import log from "electron-log"; import { InstallationLocationService } from "../installation-location.service"; import { BSLocalVersionService } from "../bs-local-version.service"; @@ -41,23 +40,7 @@ export class BsSteamDownloaderService { } private getDepotDownloaderExePath(): string { - return path.join(this.utils.getAssetsScriptsPath(), "depot-downloader", `DepotDownloader.${process.platform === 'linux' ? 'dll' : 'exe'}`); - } - - public async isDotNet6Installed(): Promise { - try { - const proc = process.platform === 'linux' - ? spawnSync('dotnet', [this.getDepotDownloaderExePath()]) - : spawnSync(this.getDepotDownloaderExePath()); - if (proc.stderr?.toString()) { - log.error("no dotnet", proc.stderr.toString()); - return false; - } - return true; - } catch (e) { - log.error("Error while checking .NET 6", e); - return false; - } + return path.join(this.utils.getAssetsScriptsPath(), process.platform === 'linux' ? "DepotDownloader" : "DepotDownloader.exe"); } private async buildDepotDownloaderInstance(downloadInfos: DownloadSteamInfo, qr?: boolean): Promise<{depotDownloader: DepotDownloader, depotDownloaderOptions: DepotDownloaderArgsOptions, version: BSVersion}> { @@ -84,13 +67,12 @@ export class BsSteamDownloaderService { await ensureDir(this.installLocationService.versionsDirectory()); - const isLinux = process.platform === 'linux'; const exePath = this.getDepotDownloaderExePath(); const args = DepotDownloader.buildArgs(depotDownloaderOptions); const depotDownloader = new DepotDownloader({ - command: isLinux ? 'dotnet' : exePath, - args: isLinux ? [exePath, ...args] : args, + command: exePath, + args, options: { cwd: this.installLocationService.versionsDirectory() }, echoStartData: downloadVersion }, log); diff --git a/src/renderer/components/models-management/model-item.component.tsx b/src/renderer/components/models-management/model-item.component.tsx index a931bf40..e3af11c0 100644 --- a/src/renderer/components/models-management/model-item.component.tsx +++ b/src/renderer/components/models-management/model-item.component.tsx @@ -43,6 +43,20 @@ function ModelItemElement(props: Props) { const [idContentCopied, setIdContentCopied] = useState(null); const ref = useRef(); + const isNsfw = (() => { + const tags = props.tags?.map(tag => tag.toLowerCase()) ?? []; + const name = props.name.toLowerCase() ?? ""; + return ( + tags.includes("nsfw") || + tags.includes("18+") || + name.includes("nsfw") || + name.includes("18+") || + name.includes("nude") || + name.includes("naked") || + name.includes("lewd") + ); + })(); + useDoubleClick({ ref, latency: props.onDoubleClick ? 200 : 0, @@ -117,8 +131,8 @@ function ModelItemElement(props: Props) {
- - + +
{!props.isDownloading ? ( actionButtons().map((button, index) => ( diff --git a/src/renderer/pages/settings-page.component.tsx b/src/renderer/pages/settings-page.component.tsx index 37064991..453efb72 100644 --- a/src/renderer/pages/settings-page.component.tsx +++ b/src/renderer/pages/settings-page.component.tsx @@ -41,6 +41,7 @@ import { OculusIcon } from "renderer/components/svgs/icons/oculus-icon.component import { BsDownloaderService } from "renderer/services/bs-version-download/bs-downloader.service"; import { AutoUpdaterService } from "renderer/services/auto-updater.service"; import BeatWaitingImg from "../../../assets/images/apngs/beat-waiting.png"; +import { logRenderError } from "renderer"; export function SettingsPage() { @@ -145,7 +146,8 @@ export function SettingsPage() { .then(() => { setIsChangelogAvailable(() => true); }) - .catch(() => { + .catch(err => { + logRenderError(err); setIsChangelogAvailable(() => false); }) .finally(() => { isChangelogResolved = true; }); diff --git a/src/renderer/services/bs-version-download/steam-downloader.service.ts b/src/renderer/services/bs-version-download/steam-downloader.service.ts index 612f6bf3..17516571 100644 --- a/src/renderer/services/bs-version-download/steam-downloader.service.ts +++ b/src/renderer/services/bs-version-download/steam-downloader.service.ts @@ -44,28 +44,11 @@ export class SteamDownloaderService extends AbstractBsDownloaderService implemen this.linkOpener = LinkOpenerService.getInstance(); } - public isDotNet6Installed(): Promise { - return lastValueFrom(this.ipcService.sendV2("is-dotnet-6-installed")); - } - private setSteamSession(username: string): void { localStorage.setItem(this.STEAM_SESSION_USERNAME_KEY, username); } private getSteamUsername(): string { return localStorage.getItem(this.STEAM_SESSION_USERNAME_KEY); } public deleteSteamSession(): void { localStorage.removeItem(this.STEAM_SESSION_USERNAME_KEY); } public sessionExist(): boolean { return !!localStorage.getItem(this.STEAM_SESSION_USERNAME_KEY); } - private async showDotNetNotInstalledError(): Promise { - const choice = await this.notificationService.notifyError({ - duration: 11_000, - title: "notifications.bs-download.steam-download.errors.titles.dotnet-required", - desc: "notifications.bs-download.steam-download.errors.msg.dotnet-required", - actions: [{ id: "0", title: "notifications.bs-download.steam-download.errors.actions.download-dotnet" }], - }); - - if (choice === "0") { - this.linkOpener.open("https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-6.0.12-windows-x64-installer"); - } - } - public async getInstallationFolder(): Promise { return lastValueFrom(this.ipcService.sendV2("bs-download.installation-folder")); } @@ -220,12 +203,6 @@ export class SteamDownloaderService extends AbstractBsDownloaderService implemen const downloadPromise = (async () => { - const haveDotNet = await this.isDotNet6Installed().catch(() => false); - if(!haveDotNet){ - this.showDotNetNotInstalledError(); - return Promise.reject(new Error("DotNet not installed")); - } - const downloadInfo: DownloadSteamInfo = {bsVersion, isVerification} const autoDownload = await lastValueFrom(this.tryAutoDownloadBsVersion(downloadInfo)).then(() => true).catch(() => false); diff --git a/src/renderer/windows/App.tsx b/src/renderer/windows/App.tsx index 3dc94c75..e7812ca5 100644 --- a/src/renderer/windows/App.tsx +++ b/src/renderer/windows/App.tsx @@ -24,6 +24,7 @@ import { OsDiagnosticService } from "renderer/services/os-diagnostic.service"; import { useService } from "renderer/hooks/use-service.hook"; import { AutoUpdaterService } from "renderer/services/auto-updater.service"; import { gt, parse } from "semver" +import { logRenderError } from "renderer"; export default function App() { useService(OsDiagnosticService); @@ -50,7 +51,7 @@ export default function App() { autoUpdater.setLastAppVersion(appVersion); if (parse(lastAppVersion) && gt(appVersion, lastAppVersion)) { - autoUpdater.showChangelog(appVersion); + await autoUpdater.showChangelog(appVersion).catch(logRenderError); } }; diff --git a/src/shared/models/ipc/ipc-routes.ts b/src/shared/models/ipc/ipc-routes.ts index cccc5ba7..55dec036 100644 --- a/src/shared/models/ipc/ipc-routes.ts +++ b/src/shared/models/ipc/ipc-routes.ts @@ -26,7 +26,6 @@ export interface IpcChannelMapping { /* ** bs-download-ipcs ** */ "import-version": { request: ImportVersionOptions, response: Progression}; - "is-dotnet-6-installed": { request: void, response: boolean}; "bs-download.installation-folder": { request: void, response: string}; "bs-download.set-installation-folder": { request: string, response: string}; "auto-download-bs-version": { request: DownloadSteamInfo, response: DepotDownloaderEvent};