From 4067caf1d4668b2433cf45004001a786359e91d9 Mon Sep 17 00:00:00 2001 From: Rohit Kushwaha Date: Sun, 19 Apr 2026 10:04:46 +0530 Subject: [PATCH 1/3] feat: added public directory --- src/pages/fileBrowser/fileBrowser.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/pages/fileBrowser/fileBrowser.js b/src/pages/fileBrowser/fileBrowser.js index 48edd2ea2..43ef6188e 100644 --- a/src/pages/fileBrowser/fileBrowser.js +++ b/src/pages/fileBrowser/fileBrowser.js @@ -1073,6 +1073,25 @@ function FileBrowserInclude(mode, info, doesOpenLast = true) { console.error("Error checking Terminal installation:", error); } + try{ + const terminalPublicUrl = cordova.file.dataDirectory + "public"; + + // Check if this storage is not already in the list + const terminalPublicStorageExists = allStorages.find( + (storage) => + storage.uuid === "terminal-public" || + storage.url === terminalPublicUrl, + ); + + if (!terminalPublicStorageExists) { + util.pushFolder(allStorages, "Terminal Public", terminalPublicUrl, { + uuid: "terminal-public", + }); + } + }catch(err){ + console.error("Error while adding public directory", err); + } + try { const res = await externalFs.listStorages(); res.forEach((storage) => { From 7703ae2b91454c64fdd9139692dbdc2476651212 Mon Sep 17 00:00:00 2001 From: Rohit Kushwaha Date: Sun, 19 Apr 2026 10:05:31 +0530 Subject: [PATCH 2/3] format --- src/pages/fileBrowser/fileBrowser.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/pages/fileBrowser/fileBrowser.js b/src/pages/fileBrowser/fileBrowser.js index 43ef6188e..0eb9c6ad7 100644 --- a/src/pages/fileBrowser/fileBrowser.js +++ b/src/pages/fileBrowser/fileBrowser.js @@ -1073,22 +1073,22 @@ function FileBrowserInclude(mode, info, doesOpenLast = true) { console.error("Error checking Terminal installation:", error); } - try{ + try { const terminalPublicUrl = cordova.file.dataDirectory + "public"; // Check if this storage is not already in the list - const terminalPublicStorageExists = allStorages.find( - (storage) => - storage.uuid === "terminal-public" || - storage.url === terminalPublicUrl, - ); + const terminalPublicStorageExists = allStorages.find( + (storage) => + storage.uuid === "terminal-public" || + storage.url === terminalPublicUrl, + ); - if (!terminalPublicStorageExists) { - util.pushFolder(allStorages, "Terminal Public", terminalPublicUrl, { - uuid: "terminal-public", - }); - } - }catch(err){ + if (!terminalPublicStorageExists) { + util.pushFolder(allStorages, "Terminal Public", terminalPublicUrl, { + uuid: "terminal-public", + }); + } + } catch (err) { console.error("Error while adding public directory", err); } From d5a47afc69b3cba2b1c3df74b527b0ccbfbbf489 Mon Sep 17 00:00:00 2001 From: Rohit Kushwaha Date: Sun, 19 Apr 2026 10:26:12 +0530 Subject: [PATCH 3/3] feat: merged /root /home and /public --- src/pages/fileBrowser/fileBrowser.js | 27 -------------------- src/plugins/terminal/scripts/init-sandbox.sh | 22 ++++++++++++++++ 2 files changed, 22 insertions(+), 27 deletions(-) diff --git a/src/pages/fileBrowser/fileBrowser.js b/src/pages/fileBrowser/fileBrowser.js index 0eb9c6ad7..24408c007 100644 --- a/src/pages/fileBrowser/fileBrowser.js +++ b/src/pages/fileBrowser/fileBrowser.js @@ -1046,33 +1046,6 @@ function FileBrowserInclude(mode, info, doesOpenLast = true) { ); } - // Check for Terminal Home Directory storage - try { - const isTerminalInstalled = await Terminal.isInstalled(); - if (typeof Terminal !== "undefined" && isTerminalInstalled) { - const isTerminalSupported = await Terminal.isSupported(); - - if (isTerminalSupported && isTerminalInstalled) { - const terminalHomeUrl = cordova.file.dataDirectory + "alpine/home"; - - // Check if this storage is not already in the list - const terminalStorageExists = allStorages.find( - (storage) => - storage.uuid === "terminal-home" || - storage.url === terminalHomeUrl, - ); - - if (!terminalStorageExists) { - util.pushFolder(allStorages, "Terminal Home", terminalHomeUrl, { - uuid: "terminal-home", - }); - } - } - } - } catch (error) { - console.error("Error checking Terminal installation:", error); - } - try { const terminalPublicUrl = cordova.file.dataDirectory + "public"; diff --git a/src/plugins/terminal/scripts/init-sandbox.sh b/src/plugins/terminal/scripts/init-sandbox.sh index 3b8a7c3d8..90154f793 100644 --- a/src/plugins/terminal/scripts/init-sandbox.sh +++ b/src/plugins/terminal/scripts/init-sandbox.sh @@ -4,6 +4,26 @@ mkdir -p "$PREFIX/tmp" mkdir -p "$PREFIX/alpine/tmp" mkdir -p "$PREFIX/public" +SRC1="$PREFIX/alpine/home" +SRC2="$PREFIX/alpine/root" +DEST="$PREFIX/public" + +mkdir -p "$DEST" + +move_all() { + SRC="$1" + + [ -d "$SRC" ] || return 0 + + # Only continue if directory is not empty + [ "$(find "$SRC" -mindepth 1 -maxdepth 1 | head -n 1)" ] || return 0 + + find "$SRC" -mindepth 1 -maxdepth 1 -exec mv -f {} "$DEST"/ \; +} + +move_all "$SRC1" +move_all "$SRC2" + export PROOT_TMP_DIR=$PREFIX/tmp if [ "$FDROID" = "true" ]; then @@ -63,6 +83,8 @@ ARGS="$ARGS -b /proc" ARGS="$ARGS -b /sys" ARGS="$ARGS -b $PREFIX" ARGS="$ARGS -b $PREFIX/public:/public" +ARGS="$ARGS -b $PREFIX/public:/home" +ARGS="$ARGS -b $PREFIX/public:/root" ARGS="$ARGS -b $PREFIX/alpine/tmp:/dev/shm"