diff --git a/apps/libfileview.app/fileHandler.js b/apps/libfileview.app/fileHandler.js index abbc1ab5..03241974 100644 --- a/apps/libfileview.app/fileHandler.js +++ b/apps/libfileview.app/fileHandler.js @@ -124,6 +124,9 @@ function openFile (path) { case 'py': runPython(path) break; + default: + openText(path) + break; } } diff --git a/src/api/Files.ts b/src/api/Files.ts index fd6e9ff0..b658ca03 100644 --- a/src/api/Files.ts +++ b/src/api/Files.ts @@ -10,6 +10,12 @@ class FilesAPI { (await (await fetch(handler)).text()) + `openFile(${JSON.stringify(path)})`, ); // here, JSON.stringify is used to properly escape the string + } else if (extHandlers["default"]) { + const handler = extHandlers["default"]; + eval( + (await (await fetch(handler)).text()) + + `openFile(${JSON.stringify(path)})`, + ); // here, JSON.stringify is used to properly escape the string } }; diff --git a/src/oobe/OobeView.tsx b/src/oobe/OobeView.tsx index 3b0b4ee4..7f29dcd9 100644 --- a/src/oobe/OobeView.tsx +++ b/src/oobe/OobeView.tsx @@ -213,6 +213,11 @@ class OobeView { if (anura.settings.get("use-sw-cache")) await preloadFiles(); console.log("Cached important files"); // Register default filehandlers + + anura.files.set( + "/apps/libfileview.app/fileHandler.js", + "default", + ); anura.files.set("/apps/libfileview.app/fileHandler.js", "txt"); anura.files.set("/apps/libfileview.app/fileHandler.js", "mp3"); anura.files.set("/apps/libfileview.app/fileHandler.js", "flac");