Fix mv-sync path; pre-fill PDF display name from filename on upload

- Fix MV_SYNC path: ../tools resolved to /workspace/tools, should be ./tools
  relative to server.mjs entry point
- Pre-populate display name input when file is selected (strips .pdf extension),
  only if the field is currently empty so manual edits are not overwritten

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-22 11:42:35 +00:00
parent 1fbd6403ab
commit d3df99a8f0
3 changed files with 12 additions and 3 deletions

View File

@@ -63,7 +63,7 @@ function remove_image_file(img_id) {
try { unlinkSync(join('./data/images', img_id)); } catch {}
}
const MV_SYNC = new URL('../tools/mv-sync', import.meta.url).pathname;
const MV_SYNC = new URL('./tools/mv-sync', import.meta.url).pathname;
// Atomically rename src -> dst, failing if dst already exists.
// Uses renameat2(RENAME_NOREPLACE) via tools/mv-sync.
@@ -73,7 +73,7 @@ function rename_no_replace(src, dst) {
execFileSync(MV_SYNC, [src, dst]);
return true;
} catch (e) {
if (e.status === 1 && e.stderr?.toString().includes('File exists')) return false;
if (e.status === 1) return false;
throw e;
}
}