From 2552335d539bbe49f5d5eb70a56aca0457cc5d0e Mon Sep 17 00:00:00 2001 From: GabuTheDev <107962621+GabuTheDev@users.noreply.github.com> Date: Fri, 17 Jul 2026 16:22:55 +0300 Subject: [PATCH 1/3] fix: resolve static folder creation path on linux --- packages/common/utils/config.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/common/utils/config.ts b/packages/common/utils/config.ts index e9839e22..5c262e62 100644 --- a/packages/common/utils/config.ts +++ b/packages/common/utils/config.ts @@ -12,7 +12,7 @@ import type { ConfigSchema, GlobalConfig } from './config.types'; -import { getConfigPath } from './directories'; +import { getConfigPath, getStaticPath } from './directories'; import { wLogger } from './logger'; import { isRealNumber } from './manipulation'; @@ -492,5 +492,5 @@ export async function configInitialization() { await ConfigManager.initialize(configPath); // Create user-specified static folder - await fs.mkdir(config.staticFolderPath, { recursive: true }).catch(null); + await fs.mkdir(getStaticPath(), { recursive: true }).catch(null); } From bd504313169b098e88d991d9e4e24fdb1261d2cc Mon Sep 17 00:00:00 2001 From: GabuTheDev <107962621+GabuTheDev@users.noreply.github.com> Date: Fri, 17 Jul 2026 16:23:29 +0300 Subject: [PATCH 2/3] feat: set default static folder path to local share on linux by default --- packages/common/utils/config.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/common/utils/config.ts b/packages/common/utils/config.ts index 5c262e62..6059a58e 100644 --- a/packages/common/utils/config.ts +++ b/packages/common/utils/config.ts @@ -2,6 +2,7 @@ import { createHash } from 'crypto'; import * as dotenv from 'dotenv'; import EventEmitter from 'node:events'; import fs from 'node:fs/promises'; +import { homedir } from 'node:os'; import path from 'path'; import type { @@ -65,7 +66,12 @@ const defaultSchema: ConfigSchema = { }, staticFolderPath: { binding: 'STATIC_FOLDER_PATH', - default: './static' + default: + process.platform === 'linux' + ? process.env.XDG_DATA_HOME + ? path.join(process.env.XDG_DATA_HOME, 'tosu', 'static') + : path.join(homedir(), '.local', 'share', 'tosu', 'static') + : './static' }, enableIngameOverlay: { binding: 'ENABLE_INGAME_OVERLAY', From 03ee809f658a3a7fd989216340878f2dba50888e Mon Sep 17 00:00:00 2001 From: GabuTheDev <107962621+GabuTheDev@users.noreply.github.com> Date: Fri, 17 Jul 2026 16:23:29 +0300 Subject: [PATCH 3/3] feat: set default static folder path to local share on linux by default --- packages/common/utils/config.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/common/utils/config.ts b/packages/common/utils/config.ts index 6059a58e..357d1ced 100644 --- a/packages/common/utils/config.ts +++ b/packages/common/utils/config.ts @@ -2,7 +2,6 @@ import { createHash } from 'crypto'; import * as dotenv from 'dotenv'; import EventEmitter from 'node:events'; import fs from 'node:fs/promises'; -import { homedir } from 'node:os'; import path from 'path'; import type { @@ -13,7 +12,7 @@ import type { ConfigSchema, GlobalConfig } from './config.types'; -import { getConfigPath, getStaticPath } from './directories'; +import { getConfigPath, getDataPath, getStaticPath } from './directories'; import { wLogger } from './logger'; import { isRealNumber } from './manipulation'; @@ -68,9 +67,7 @@ const defaultSchema: ConfigSchema = { binding: 'STATIC_FOLDER_PATH', default: process.platform === 'linux' - ? process.env.XDG_DATA_HOME - ? path.join(process.env.XDG_DATA_HOME, 'tosu', 'static') - : path.join(homedir(), '.local', 'share', 'tosu', 'static') + ? path.join(getDataPath(), 'static') : './static' }, enableIngameOverlay: {