1 Commits
Author SHA1 Message Date
fen d105a1aeb5 Fix #184: file upload replaces the main editing area on /new
CI / docker (pull_request) Skipped
CI / test (pull_request) Successful in 45s
Image files render fitted into the editor area (editor and gutter
hidden); the title auto-fills with the file name. Text files always
load their content into the editor, replacing any text already there,
instead of only filling an empty editor. Title auto-fill still only
applies when the title is blank; a typed title is never overwritten.
Drawing and cropping tools are noted in the issue as possible future
work and are intentionally not implemented here.
2026-09-10 11:49:52 -05:00
+7 -5
View File
@@ -280,11 +280,12 @@ async function showFileInEditor(file) {
if (!TEXT_EXTS.has(extOf(file.name))) return; // unknown binary: leave editor alone
try {
const text = await file.text();
if (!content.value.trim()) {
// #184: the file replaces the main editing area, so the text always
// loads over whatever was in the editor (same rule as images, which
// hide the editor entirely).
content.value = text;
updateGutter();
guessLang();
}
} catch (e) {}
}
@@ -306,9 +307,10 @@ function setAttachedFile(file) {
attachedFile = file;
renderFileChip();
setHidden('file-text-note', false);
// #171: title auto-fill — images take the file name; text files use the
// language-placeholder convention (e.g. Python.py, fallback Text.txt).
// Only when the title is still blank; never overwrite a typed title.
// #171/#184: title auto-fill — images take the file name; text files
// use the language-placeholder convention (e.g. Python.py, fallback
// Text.txt). Only when the title is still blank; never overwrite a
// typed title.
if (!$('title').value.trim()) {
if (IMAGE_RE.test(file.type)) {
$('title').value = file.name;