@@ -13,7 +13,7 @@ import plist from 'plist';
1313import { getState } from "./state.js" ;
1414import Events from "../types/Events.js" ;
1515import PatchTypes from '../types/PatchTypes.js' ;
16- import { ASAR_ZST_TMP_PATH , ASAR_GZ_TMP_PATH , ASAR_TMP_PATH , EXTRACTED_ENTITLEMENTS_PATH , TMP_PATH , ASAR_TMP_BACKUP_PATH , YM_EXE_TMP_BACKUP_PATH , ASAR_UNPACKED_ZIP_TMP_PATH } from '../constants/paths.js' ;
16+ import { ASAR_ZST_TMP_PATH , ASAR_GZ_TMP_PATH , ASAR_TMP_PATH , EXTRACTED_ENTITLEMENTS_PATH , TMP_PATH , ASAR_TMP_BACKUP_PATH , YM_EXE_TMP_BACKUP_PATH , ASAR_UNPACKED_ZIP_TMP_PATH , ASAR_UNPACKED_TMP_PATH } from '../constants/paths.js' ;
1717import { Logger } from "./Logger.js" ;
1818import { execFile } from 'child_process' ;
1919
@@ -28,7 +28,7 @@ import {
2828 launchYandexMusic ,
2929 unzipFolder ,
3030 createDirIfNotExist ,
31- copyFile ,
31+ copy ,
3232 decompressFile ,
3333} from "./utils.js" ;
3434import { LATEST_MOD_RELEASE_URL , YM_RELEASE_METADATA_URL } from '../constants/urls.js' ;
@@ -81,6 +81,7 @@ async function clearCaches(callback) {
8181 if ( fso . existsSync ( ASAR_ZST_TMP_PATH ) ) await fso . promises . unlink ( ASAR_ZST_TMP_PATH ) ;
8282 if ( fso . existsSync ( ASAR_GZ_TMP_PATH ) ) await fso . promises . unlink ( ASAR_GZ_TMP_PATH ) ;
8383 if ( fso . existsSync ( ASAR_TMP_PATH ) ) await fso . promises . unlink ( ASAR_TMP_PATH ) ;
84+ if ( fso . existsSync ( ASAR_UNPACKED_TMP_PATH ) ) await fso . promises . unlink ( ASAR_UNPACKED_TMP_PATH ) ;
8485 if ( fso . existsSync ( ASAR_UNPACKED_ZIP_TMP_PATH ) ) await fso . promises . unlink ( ASAR_UNPACKED_ZIP_TMP_PATH ) ;
8586 if ( fso . existsSync ( ASAR_TMP_BACKUP_PATH ) ) await fso . promises . unlink ( ASAR_TMP_BACKUP_PATH ) ;
8687 if ( fso . existsSync ( YM_EXE_TMP_BACKUP_PATH ) ) await fso . promises . unlink ( YM_EXE_TMP_BACKUP_PATH ) ;
@@ -111,25 +112,25 @@ async function postInstallTasks(ymMetadata, wasYmClosed, callback) {
111112async function applyBackups ( callback , asarPath ) {
112113
113114 callback ( - 1 , 'Reverting ASAR replace...' ) ;
114- await copyFile ( ASAR_TMP_BACKUP_PATH , asarPath ) ;
115+ await copy ( ASAR_TMP_BACKUP_PATH , asarPath ) ;
115116 callback ( - 1 , 'ASAR replace reverted.' ) ;
116117
117118 if ( isWin && YM_EXE_PATH && fs . existsSync ( YM_EXE_PATH ) && fs . existsSync ( YM_EXE_TMP_BACKUP_PATH ) ) {
118119 callback ( - 1 , 'Reverting EXE patch...' ) ;
119- await copyFile ( YM_EXE_TMP_BACKUP_PATH , YM_EXE_PATH ) ;
120+ await copy ( YM_EXE_TMP_BACKUP_PATH , YM_EXE_PATH ) ;
120121 callback ( - 1 , 'EXE patch reverted.' ) ;
121122 }
122123}
123124
124125async function createBackups ( callback , asarPath ) {
125126 callback ( 0.9 , 'Creating ASAR backup...' , undefined , 'vrb' ) ;
126- await copyFile ( asarPath , ASAR_TMP_BACKUP_PATH ) ;
127+ await copy ( asarPath , ASAR_TMP_BACKUP_PATH ) ;
127128 callback ( 0.9 , 'ASAR backup created.' , undefined , 'vrb' ) ;
128129}
129130
130131async function replaceAsar ( callback , patchType , fromAsarSrc , asarPath ) {
131132 callback ( 0.9 , 'Replacing ASAR...' ) ;
132- await copyFile ( ( patchType === PatchTypes . FROM_MOD && fromAsarSrc ) ? fromAsarSrc : ASAR_TMP_PATH , asarPath ) ;
133+ await copy ( ( patchType === PatchTypes . FROM_MOD && fromAsarSrc ) ? fromAsarSrc : ASAR_TMP_PATH , asarPath ) ;
133134 callback ( 0.9 , 'ASAR replaced.' ) ;
134135}
135136
@@ -174,9 +175,14 @@ async function prepareModAsarFile(patchType, asarPath, callback) {
174175
175176 callback ( 0.8 , 'Unzipping app.asar.unpacked.zip file...' , undefined , 'vrb' ) ;
176177
177- await unzipFolder ( ASAR_UNPACKED_ZIP_TMP_PATH , path . join ( path . dirname ( asarPath ) , 'app.asar.unpacked' ) ) ;
178+ await unzipFolder ( ASAR_UNPACKED_ZIP_TMP_PATH , ASAR_UNPACKED_TMP_PATH ) ;
178179
179180 callback ( 0.9 , 'Asar.unpacked unzipped...' ) ;
181+
182+
183+ callback ( 0.9 , 'Copying asar.unpacked to app directory...' , undefined , 'vrb' ) ;
184+ await copy ( ASAR_UNPACKED_TMP_PATH , path . join ( path . dirname ( asarPath ) , 'app.asar.unpacked' ) ) ;
185+ callback ( 0.9 , 'Asar.unpacked copied.' ) ;
180186}
181187
182188export async function installMod ( callback , { patchType = PatchTypes . DEFAULT , fromAsarSrc = undefined , customPathToYMAsar = undefined } ) {
@@ -321,7 +327,7 @@ export async function checkMacPermissions() {
321327 if ( ! isMac ) return true
322328 const asarPath = getYMAsarDefaultPath ( ) ;
323329 try {
324- await copyFile ( asarPath , asarPath ) ;
330+ await copy ( asarPath , asarPath ) ;
325331 return true ;
326332 } catch ( e ) {
327333 return false
0 commit comments