diff --git a/packages/api/src/utility/cloudIntf.js b/packages/api/src/utility/cloudIntf.js index 7fb4232c3..f1e7bd8f6 100644 --- a/packages/api/src/utility/cloudIntf.js +++ b/packages/api/src/utility/cloudIntf.js @@ -216,7 +216,7 @@ async function updateCloudFiles(isRefresh) { { headers: { ...getLicenseHttpHeaders(), - ...(await getCloudSigninHeaders()), + ...(await getCloudInstanceHeaders()), 'x-app-version': currentVersion.version, }, } @@ -300,6 +300,17 @@ async function callCloudApiGet(endpoint, signinHolder = null, additionalHeaders return resp.data; } +async function getCloudInstanceHeaders() { + if (!(await fs.exists(path.join(datadir(), 'cloud-instance.txt')))) { + const newInstanceId = crypto.randomUUID(); + await fs.writeFile(path.join(datadir(), 'cloud-instance.txt'), newInstanceId); + } + const instanceId = await fs.readFile(path.join(datadir(), 'cloud-instance.txt'), 'utf-8'); + return { + 'x-cloud-instance': instanceId, + }; +} + async function callCloudApiPost(endpoint, body, signinHolder = null) { if (!signinHolder) { signinHolder = await getCloudSigninHolder();