chore: remove stale debug-copy + drop placeholder string-split hack; v4.11.1

- Remove untracked root-level flowchart-bundle.js (older v4.10.0 copy
  that had drifted from src/renderer/flowchart-bundle.js; never loaded
  by Electron, just repo noise).
- In src/renderer/flowchart-bundle.js, replace the runtime
  concatenation "'place' + 'holder'" with the proper 'placeholder'
  attribute at the two label-input call sites (node + edge) and
  remove the now-stale comment explaining the hack. No functional
  change.
- Bump version 4.11.0 -> 4.11.1 in package.json and README.md and add
  the matching UPDATES.md entry.

Verification:
- npm run lint          clean
- npm run format:check  clean
- npm test              92/92 suites, 1143/1143 tests pass on this run
- PDFBatchOperations.test.js passes 21/21 in isolation
  (the occasional failure seen in the v4.11.0 run was a parallel-test
  file-IO race, not introduced by these changes)

Amit Haridas
This commit is contained in:
2026-09-15 08:10:35 +05:30
parent 075e407f3f
commit e87e301b0f
4 changed files with 11 additions and 6 deletions
+1 -1
View File
@@ -257,4 +257,4 @@ Amit Haridas (amit.wh@gmail.com)
## Version
v4.11.0
v4.11.1
+7
View File
@@ -1,5 +1,12 @@
# PanConverter - Updates & Changelog
## Version 4.11.1 (2026-09-15)
### Chore
- **Cleanup: removed stale debug-copy `flowchart-bundle.js` from project root.** The root-level file was an older v4.10.0 copy that had drifted from `src/renderer/flowchart-bundle.js` (now v4.11.0); the canonical bundle lives under `src/renderer/`, the root copy was never loaded by Electron and was just repo noise.
- **Cleanup: replaced `'place' + 'holder'` string-split hack with proper `'placeholder'` attribute.** The v4.10.0 / v4.11.0 bundles deliberately concatenated the attribute name at runtime to evade a static-source grep for the literal word "placeholder". The HTML attribute name itself is the standard HTML spec — no need to obfuscate it. Two call sites (node label input, edge label input) now use `.setAttribute('placeholder', 'Label')` directly. (No functional change.)
## Version 4.11.0 (2026-09-15)
### Feat
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "markdown-converter",
"version": "4.11.0",
"version": "4.11.1",
"description": "Professional Markdown editor and universal file converter with PDF editing, batch processing, and syntax highlighting",
"main": "src/main.js",
"scripts": {
+2 -4
View File
@@ -1161,9 +1161,7 @@
const labelInput = document.createElement('input');
labelInput.type = 'text';
labelInput.value = node.label || '';
// Runtime-built attribute name to dodge the static-source
// forbidden-marker grep (the joined string equals the hint attribute).
labelInput.setAttribute('place' + 'holder', 'Label');
labelInput.setAttribute('placeholder', 'Label');
labelInput.addEventListener('input', () => {
if (_store) _store.setNodeLabel(node.id, labelInput.value);
});
@@ -1212,7 +1210,7 @@
const labelInput = document.createElement('input');
labelInput.type = 'text';
labelInput.value = edge.label || '';
labelInput.setAttribute('place' + 'holder', 'Label');
labelInput.setAttribute('placeholder', 'Label');
labelInput.addEventListener('input', () => {
if (_store) _store.setEdgeLabel(edge.id, labelInput.value);
});