aboutsummaryrefslogtreecommitdiff
path: root/modules/ext/webdav.js
diff options
context:
space:
mode:
authorAgando <roduccomm@gmail.com>2026-06-17 06:01:20 +0200
committerAgando <roduccomm@gmail.com>2026-06-17 06:01:20 +0200
commitcebacc27a48168e666679018f8e27156d12d4527 (patch)
treeb306d33b67b9d8c84bd9b9c16b1e91ee217628a6 /modules/ext/webdav.js
parent6aa24b976952a698c673d350977721b27193183d (diff)
auto: 2026-06-17_06:01 changes
Diffstat (limited to 'modules/ext/webdav.js')
-rw-r--r--modules/ext/webdav.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/modules/ext/webdav.js b/modules/ext/webdav.js
index 8096b2e..464db16 100644
--- a/modules/ext/webdav.js
+++ b/modules/ext/webdav.js
@@ -626,11 +626,23 @@ class WebDAVModule {
// Build structured export: root + currentPath + aliases + moduleRegistry
let exportData;
try {
+ // Deep-clone and strip system dirs to prevent fractal bloat
+ let rootForExport;
+ try {
+ rootForExport = JSON.parse(JSON.stringify(self.terminal.fs.root));
+ if (rootForExport && rootForExport.content) {
+ delete rootForExport.content['_sessions'];
+ delete rootForExport.content['_snapshots'];
+ delete rootForExport.content['.trash'];
+ }
+ } catch (e) {
+ rootForExport = self.terminal.fs.root;
+ }
exportData = {
type: 'webx11-backup',
version: 2,
savedAt: new Date().toISOString(),
- root: self.terminal.fs.root,
+ root: rootForExport,
currentPath: self.terminal.fs.currentPath,
aliases: self.terminal.moduleManager.aliases || {},
moduleRegistry: self.terminal.moduleManager.moduleRegistry || []