diff --git a/browse/js/tree.js b/browse/js/tree.js index da8a372..ed6e804 100644 --- a/browse/js/tree.js +++ b/browse/js/tree.js @@ -43,7 +43,13 @@ // True when this entry was synthesized client-side (e.g. // canonical project folders that don't exist on disk yet). // Rendered with a muted style + an "(empty)" hint. - virtual: !!raw.virtual + virtual: !!raw.virtual, + // Server-computed write authority. Editors (preview-yaml, + // preview-markdown) consult this via canSave() to decide + // whether to mount read-only. Dropping the field here + // silently makes every node read-only — the actual root + // cause behind "I'm admin but the editor says read-only". + writable: !!raw.writable }; state.nodes.set(id, node); return node;