@@ -16571,6 +16571,7 @@ var $983f70f1027f6cfd$exports = {};
1657116571 */ // jshint ignore: start
1657216572/*eslint no-console: 0*/ /*eslint strict: ["error", "global"]*/ /* jshint ignore:start */ const $2ef5299e07961cfe$var$Constants = {
1657316573 MOUNT_DEVICE_NAME: "nativeFsAccess",
16574+ ELECTRON_DEVICE_NAME: "electron",
1657416575 TAURI_DEVICE_NAME: "tauri",
1657516576 TAURI_WS_DEVICE_NAME: "tauriWS",
1657616577 KIND_FILE: "file",
@@ -17149,7 +17150,7 @@ const $659ab4db13967c07$var$createFromTauriStat = function(vfsPath, stats) {
1714917150 };
1715017151 return new $659ab4db13967c07$var$Stats(vfsPath, fileDetails, `${$659ab4db13967c07$require$Constants.TAURI_DEVICE_NAME}_${stats.dev}`);
1715117152};
17152- const $659ab4db13967c07$var$createFromNodeStat = function(vfsPath, stats) {
17153+ const $659ab4db13967c07$var$createFromNodeStat = function(vfsPath, stats, deviceNamePrefix ) {
1715317154 let type = $659ab4db13967c07$require$Constants.NODE_TYPE_DIRECTORY;
1715417155 if (stats.isFile) type = $659ab4db13967c07$require$Constants.NODE_TYPE_FILE;
1715517156 else if (stats.isSymbolicLink) type = $659ab4db13967c07$require$Constants.NODE_TYPE_SYMBOLIC_LINK;
@@ -17164,23 +17165,7 @@ const $659ab4db13967c07$var$createFromNodeStat = function(vfsPath, stats) {
1716417165 mtime: stats.mtimeMs,
1716517166 nlinks: stats.nlink
1716617167 };
17167- return new $659ab4db13967c07$var$Stats(vfsPath, fileDetails, `${$659ab4db13967c07$require$Constants.TAURI_WS_DEVICE_NAME}_${stats.dev}`);
17168- };
17169- const $659ab4db13967c07$var$createFromElectronStat = function(vfsPath, stats) {
17170- let type = $659ab4db13967c07$require$Constants.NODE_TYPE_DIRECTORY;
17171- if (stats.isFile) type = $659ab4db13967c07$require$Constants.NODE_TYPE_FILE;
17172- else if (stats.isSymbolicLink) type = $659ab4db13967c07$require$Constants.NODE_TYPE_SYMBOLIC_LINK;
17173- let fileDetails = {
17174- type: type,
17175- size: stats.size,
17176- mode: stats.mode,
17177- readonly: false,
17178- ctime: stats.ctimeMs,
17179- atime: stats.atimeMs,
17180- mtime: stats.mtimeMs,
17181- nlinks: stats.nlink
17182- };
17183- return new $659ab4db13967c07$var$Stats(vfsPath, fileDetails, `${$659ab4db13967c07$require$Constants.TAURI_DEVICE_NAME}_${stats.dev}`);
17168+ return new $659ab4db13967c07$var$Stats(vfsPath, fileDetails, `${deviceNamePrefix}_${stats.dev}`);
1718417169};
1718517170function $659ab4db13967c07$var$validateFileOptions(options, enc, fileMode) {
1718617171 if (!options || typeof options === "function") options = {
@@ -17385,7 +17370,6 @@ const $659ab4db13967c07$var$Utils = {
1738517370 createDummyStatObject: $659ab4db13967c07$var$createDummyStatObject,
1738617371 createFromTauriStat: $659ab4db13967c07$var$createFromTauriStat,
1738717372 createFromNodeStat: $659ab4db13967c07$var$createFromNodeStat,
17388- createFromElectronStat: $659ab4db13967c07$var$createFromElectronStat,
1738917373 isTauriSubPath: $659ab4db13967c07$var$isTauriSubPath,
1739017374 isTauriPath: $659ab4db13967c07$var$isTauriPath,
1739117375 getTauriPlatformPath: $659ab4db13967c07$var$getTauriPlatformPath,
@@ -18138,7 +18122,7 @@ function $17476582ace0b2bc$var$readdir(path, options, callback) {
1813818122 if (metadata.data.contents) callback(null, metadata.data.contents);
1813918123 else if (metadata.data.contentStats) {
1814018124 let stats = [];
18141- for (let contentStat of metadata.data.contentStats)stats.push($17476582ace0b2bc$require$Utils.createFromNodeStat(`${path}/${contentStat.name}`, contentStat));
18125+ for (let contentStat of metadata.data.contentStats)stats.push($17476582ace0b2bc$require$Utils.createFromNodeStat(`${path}/${contentStat.name}`, contentStat, $17476582ace0b2bc$require$Constants.TAURI_WS_DEVICE_NAME ));
1814218126 callback(null, stats);
1814318127 } else callback(new $17476582ace0b2bc$require$Errors.EIO("Failed readdir as node ws connector returned empty", path));
1814418128 }).catch((err)=>{
@@ -18150,7 +18134,7 @@ function $17476582ace0b2bc$var$stat(path, callback) {
1815018134 $17476582ace0b2bc$var$_execCommand($17476582ace0b2bc$var$WS_COMMAND.STAT, {
1815118135 path: platformPath
1815218136 }).then(({ metadata: metadata })=>{
18153- callback(null, $17476582ace0b2bc$require$Utils.createFromNodeStat(`${path}/${metadata.data.stat.name}`, metadata.data.stat));
18137+ callback(null, $17476582ace0b2bc$require$Utils.createFromNodeStat(`${path}/${metadata.data.stat.name}`, metadata.data.stat, $17476582ace0b2bc$require$Constants.TAURI_WS_DEVICE_NAME ));
1815418138 }).catch((err)=>{
1815518139 callback($17476582ace0b2bc$var$mapNodeTauriErrorMessage(err, path, "Failed to get stat: "));
1815618140 });
@@ -18829,6 +18813,20 @@ var $f1a90a4a391136ce$require$Utils = $659ab4db13967c07$exports.Utils;
1882918813var $f1a90a4a391136ce$require$NodeTauriFS = $17476582ace0b2bc$exports.NodeTauriFS;
1883018814const $f1a90a4a391136ce$var$IS_WINDOWS = navigator.userAgent.includes("Windows");
1883118815let $f1a90a4a391136ce$var$preferNodeWs = false, $f1a90a4a391136ce$var$forceNodeWs = false;
18816+ /**
18817+ * Electron IPC strips Error.code during serialization (both main→preload and preload→renderer
18818+ * via contextBridge). FS handlers in main.js return {__fsError, code, message} plain objects
18819+ * on failure instead of throwing. This helper unwraps those into rejected promises.
18820+ */ function $f1a90a4a391136ce$var$unwrapFsResult(promise) {
18821+ return promise.then((result)=>{
18822+ if (result && result.__fsError) {
18823+ const err = new Error(result.message);
18824+ err.code = result.code;
18825+ throw err;
18826+ }
18827+ return result;
18828+ });
18829+ }
1883218830/**
1883318831 * Maps Node.js error codes to Phoenix FS errors.
1883418832 * @param {Error} err - The Node.js error
@@ -18929,8 +18927,8 @@ let $f1a90a4a391136ce$var$preferNodeWs = false, $f1a90a4a391136ce$var$forceNodeW
1892918927}
1893018928async function $f1a90a4a391136ce$var$_getElectronStat(vfsPath) {
1893118929 const platformPath = globalObject.fs.getTauriPlatformPath(vfsPath);
18932- const stats = await window.electronAPI.fsStat(platformPath);
18933- return $f1a90a4a391136ce$require$Utils.createFromElectronStat (vfsPath, stats);
18930+ const stats = await $f1a90a4a391136ce$var$unwrapFsResult( window.electronAPI.fsStat(platformPath) );
18931+ return $f1a90a4a391136ce$require$Utils.createFromNodeStat (vfsPath, stats, $f1a90a4a391136ce$require$Constants.ELECTRON_DEVICE_NAME );
1893418932}
1893518933function $f1a90a4a391136ce$var$_readDirHelper(entries, path, options, callback, useDummyStats) {
1893618934 let children = [];
@@ -18962,7 +18960,7 @@ function $f1a90a4a391136ce$var$_readDirHelper(entries, path, options, callback,
1896218960 return;
1896318961 }
1896418962 const platformPath = $f1a90a4a391136ce$require$Utils.getTauriPlatformPath(path);
18965- window.electronAPI.fsReaddir(platformPath).then((entries)=>{
18963+ $f1a90a4a391136ce$var$unwrapFsResult( window.electronAPI.fsReaddir(platformPath) ).then((entries)=>{
1896618964 $f1a90a4a391136ce$var$_readDirHelper(entries, path, options, callback);
1896718965 }).catch((err)=>{
1896818966 callback($f1a90a4a391136ce$var$mapNodeErrorMessage(err, path, "Failed to read directory: "));
@@ -18986,10 +18984,10 @@ function $f1a90a4a391136ce$var$_readDirHelper(entries, path, options, callback,
1898618984 return;
1898718985 }
1898818986 const platformPath = $f1a90a4a391136ce$require$Utils.getTauriPlatformPath(path);
18989- window.electronAPI.fsMkdir(platformPath, {
18987+ $f1a90a4a391136ce$var$unwrapFsResult( window.electronAPI.fsMkdir(platformPath, {
1899018988 recursive: recursive,
1899118989 mode: mode
18992- }).then(()=>{
18990+ })) .then(()=>{
1899318991 callback(null);
1899418992 }).catch((err)=>{
1899518993 callback($f1a90a4a391136ce$var$mapNodeErrorMessage(err, path, "Failed to create directory: "));
@@ -19014,12 +19012,12 @@ function $f1a90a4a391136ce$var$unlink(path, callback) {
1901419012 }
1901519013 $f1a90a4a391136ce$var$_getElectronStat(path).then((stat)=>{
1901619014 const platformPath = $f1a90a4a391136ce$require$Utils.getTauriPlatformPath(path);
19017- if (stat.isDirectory()) window.electronAPI.fsRmdir(platformPath, {
19015+ if (stat.isDirectory()) $f1a90a4a391136ce$var$unwrapFsResult( window.electronAPI.fsRmdir(platformPath, {
1901819016 recursive: true
19019- }).then(()=>{
19017+ })) .then(()=>{
1902019018 callback(null);
1902119019 }).catch(errCallback);
19022- else window.electronAPI.fsUnlink(platformPath).then(()=>{
19020+ else $f1a90a4a391136ce$var$unwrapFsResult( window.electronAPI.fsUnlink(platformPath) ).then(()=>{
1902319021 callback(null);
1902419022 }).catch(errCallback);
1902519023 }).catch(errCallback);
@@ -19033,7 +19031,7 @@ function $f1a90a4a391136ce$var$rename(oldPath, newPath, callback) {
1903319031 }
1903419032 const oldPlatformPath = $f1a90a4a391136ce$require$Utils.getTauriPlatformPath(oldPath);
1903519033 const newPlatformPath = $f1a90a4a391136ce$require$Utils.getTauriPlatformPath(newPath);
19036- window.electronAPI.fsRename(oldPlatformPath, newPlatformPath).then(()=>{
19034+ $f1a90a4a391136ce$var$unwrapFsResult( window.electronAPI.fsRename(oldPlatformPath, newPlatformPath) ).then(()=>{
1903719035 callback(null);
1903819036 }).catch((err)=>{
1903919037 callback($f1a90a4a391136ce$var$mapNodeErrorMessage(err, oldPath, `Failed to rename ${oldPath} to ${newPath}`));
@@ -19075,7 +19073,7 @@ function $f1a90a4a391136ce$var$rename(oldPath, newPath, callback) {
1907519073 return;
1907619074 }
1907719075 const platformPath = $f1a90a4a391136ce$require$Utils.getTauriPlatformPath(path);
19078- window.electronAPI.fsReadFile(platformPath).then((contents)=>{
19076+ $f1a90a4a391136ce$var$unwrapFsResult( window.electronAPI.fsReadFile(platformPath) ).then((contents)=>{
1907919077 // Electron returns a Buffer, convert to ArrayBuffer
1908019078 let arrayBuffer;
1908119079 if (contents instanceof ArrayBuffer) arrayBuffer = contents;
@@ -19117,7 +19115,7 @@ function $f1a90a4a391136ce$var$rename(oldPath, newPath, callback) {
1911719115 const platformPath = $f1a90a4a391136ce$require$Utils.getTauriPlatformPath(path);
1911819116 // Convert ArrayBuffer to Uint8Array for IPC transfer
1911919117 const uint8Array = new Uint8Array(arrayBuffer);
19120- window.electronAPI.fsWriteFile(platformPath, Array.from(uint8Array)).then(()=>{
19118+ $f1a90a4a391136ce$var$unwrapFsResult( window.electronAPI.fsWriteFile(platformPath, Array.from(uint8Array) )).then(()=>{
1912119119 callback(null);
1912219120 }).catch((err)=>{
1912319121 callback($f1a90a4a391136ce$var$mapNodeErrorMessage(err, path, `Failed to write File at path ${path}`));
0 commit comments