From 0f6e16c9869bb77519877e24fde9f516c71ec158 Mon Sep 17 00:00:00 2001 From: Neo Date: Mon, 31 Mar 2025 11:56:12 +0700 Subject: [PATCH] fix: resolve diff file path before ending stream, add environment temp directory, and fix error when enabling diff package map --- api/.env.example | 1 + api/script/routes/management.ts | 2 +- api/script/utils/package-diffing.ts | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/api/.env.example b/api/.env.example index 352ed8fb9..966364e53 100644 --- a/api/.env.example +++ b/api/.env.example @@ -61,6 +61,7 @@ DISABLE_MANAGEMENT=false # Disable management routes ENABLE_ACCOUNT_REGISTRATION=true # Enable account registration UPLOAD_SIZE_LIMIT_MB=200 # Max file upload size (in MB) ENABLE_PACKAGE_DIFFING=false # Enable generating diffs for releases +TMPDIR=./tmp # Temporary directory for server diff package generation # ============================== # Azure KeyVault Configuration (Optional) diff --git a/api/script/routes/management.ts b/api/script/routes/management.ts index 97f185570..f74a7d78f 100644 --- a/api/script/routes/management.ts +++ b/api/script/routes/management.ts @@ -1286,7 +1286,7 @@ export function getManagementRouter(config: ManagementConfig): Router { } function processDiff(accountId: string, appId: string, deploymentId: string, appPackage: storageTypes.Package): q.Promise { - if (!appPackage.manifestBlobUrl || process.env.ENABLE_PACKAGE_DIFFING) { + if (!appPackage.manifestBlobUrl || !process.env.ENABLE_PACKAGE_DIFFING) { // No need to process diff because either: // 1. The release just contains a single file. // 2. Diffing disabled. diff --git a/api/script/utils/package-diffing.ts b/api/script/utils/package-diffing.ts index 385c201e0..ac56251eb 100644 --- a/api/script/utils/package-diffing.ts +++ b/api/script/utils/package-diffing.ts @@ -172,7 +172,7 @@ export class PackageDiffer { readStreamCounter--; if (readStreamCounter === 0 && !readStreamError) { // All read streams have completed successfully - resolve(); + resolve(diffFilePath); } }); @@ -185,8 +185,8 @@ export class PackageDiffer { if (readStreamError) { reject(readStreamError); } else { + resolve(diffFilePath); diffFile.end(); - resolve(); } } });