@bobfrankston/rmfmail 1.2.278 → 1.2.279
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.commitmsg
CHANGED
|
@@ -1,29 +1,16 @@
|
|
|
1
|
-
TinyMCE
|
|
1
|
+
build-tinymce: report which TinyMCE and language-pack versions were copied
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Both specs are caret ranges, so the resolved version moves on its own whenever
|
|
4
|
+
npm re-resolves the tree — tinymce sat at 8.6.0 for weeks under a ^8.5.0 spec
|
|
5
|
+
with nothing to notice ("do you track updates for TinyMCE?", Bob 2026-08-23).
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
- CSS custom property names and colour values in a style attribute were
|
|
11
|
-
lowercased when parsed (8.7.0) — that is quoted mail passing through a
|
|
12
|
-
reply/forward.
|
|
13
|
-
- Copying or dragging in an image didn't set width/height on the tag (8.7.0),
|
|
14
|
-
which the inline-image → cid path then had to carry.
|
|
15
|
-
- The link plugin threw a querySelectorAll syntax error on anchors containing
|
|
16
|
-
semicolons (8.8.0). Mail bodies are full of odd links.
|
|
7
|
+
Pinning exact would only trade silent drift for silent staleness: no more patch
|
|
8
|
+
fixes, and the surprise moves to whoever edits the pin. A dependency bot is the
|
|
9
|
+
wrong shape too — those work by filing PRs, and this repo publishes from the
|
|
10
|
+
local tree with direct commits.
|
|
17
11
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
61 packs added in 1.2.277 come from tinymce-i18n and are copied after the tree,
|
|
24
|
-
so the re-copy keeps them (62 files present, manifest included).
|
|
25
|
-
|
|
26
|
-
The spec moves from ^8.5.0 to ^8.8.2. The old floor already permitted 8.8.2;
|
|
27
|
-
the tree had simply drifted at 8.6.0 with nothing to notice it, which is what
|
|
28
|
-
prompted this. Raising the floor makes the intent explicit rather than leaving
|
|
29
|
-
a fresh install free to resolve lower.
|
|
12
|
+
So make it visible where it already costs nothing. Every publish archives its
|
|
13
|
+
build transcript to c:\temp\rebuild\, and build-tinymce.js already prints what
|
|
14
|
+
it copied; it now prints the resolved versions of tinymce and tinymce-i18n as
|
|
15
|
+
well. "Which TinyMCE shipped in 1.2.277?" is answerable from the log, with no
|
|
16
|
+
network call at build time and nothing to maintain.
|
package/bin/build-tinymce.js
CHANGED
|
@@ -18,6 +18,21 @@ const dst = path.join(root, "client", "lib", "tinymce");
|
|
|
18
18
|
const langSrc = path.join(root, "node_modules", "tinymce-i18n", "langs8");
|
|
19
19
|
const langDst = path.join(dst, "langs");
|
|
20
20
|
|
|
21
|
+
// Which versions went into this build. The spec is a caret range, so the
|
|
22
|
+
// resolved version moves on its own whenever npm re-resolves the tree — it sat
|
|
23
|
+
// at 8.6.0 for weeks under a ^8.5.0 spec with nothing to notice (Bob
|
|
24
|
+
// 2026-08-23: "do you track updates for TinyMCE?"). Pinning would only trade
|
|
25
|
+
// silent drift for silent staleness. Printing it puts the answer in the build
|
|
26
|
+
// transcript every publish archives, at no cost and with no network call.
|
|
27
|
+
// (Claude Code 2026-08-24)
|
|
28
|
+
function pkgVersion(name) {
|
|
29
|
+
try {
|
|
30
|
+
return JSON.parse(fs.readFileSync(path.join(root, "node_modules", name, "package.json"), "utf-8")).version;
|
|
31
|
+
} catch {
|
|
32
|
+
return "unknown";
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
21
36
|
if (!fs.existsSync(src)) {
|
|
22
37
|
console.error(`build-tinymce: source not found at ${src} — run npm install first`);
|
|
23
38
|
process.exit(1);
|
|
@@ -53,7 +68,7 @@ if (fs.existsSync(langSrc)) {
|
|
|
53
68
|
}
|
|
54
69
|
langs.sort();
|
|
55
70
|
fs.writeFileSync(path.join(langDst, "index.json"), JSON.stringify(langs, null, 2) + "\n");
|
|
56
|
-
console.log(`build-tinymce: copied ${langs.length} language packs → client/lib/tinymce/langs/`);
|
|
71
|
+
console.log(`build-tinymce: copied ${langs.length} language packs (tinymce-i18n ${pkgVersion("tinymce-i18n")}) → client/lib/tinymce/langs/`);
|
|
57
72
|
} else {
|
|
58
73
|
// Never silently ship an editor whose language menu is empty.
|
|
59
74
|
console.error(`build-tinymce: WARNING no language packs at ${langSrc} — run npm install; the editor will be English-only`);
|
|
@@ -66,4 +81,4 @@ function tally(p) {
|
|
|
66
81
|
else { count++; bytes += st.size; }
|
|
67
82
|
}
|
|
68
83
|
tally(dst);
|
|
69
|
-
console.log(`build-tinymce: copied ${count} files (${(bytes / 1024 / 1024).toFixed(1)} MB) → client/lib/tinymce/`);
|
|
84
|
+
console.log(`build-tinymce: copied tinymce ${pkgVersion("tinymce")} — ${count} files (${(bytes / 1024 / 1024).toFixed(1)} MB) → client/lib/tinymce/`);
|
package/npmchanges.md
CHANGED
|
@@ -564,3 +564,35 @@ Harper (English only) are untouched, and Quill/tiptap have no localized chrome.
|
|
|
564
564
|
tests/tinymce-langs.test.ts pins the resolution against the real manifest.
|
|
565
565
|
Needs rmf-tiny 0.1.52 for the adapter's `language` option.
|
|
566
566
|
|
|
567
|
+
## v1.2.278 — 2026-08-25
|
|
568
|
+
|
|
569
|
+
TinyMCE 8.6.0 → 8.8.2
|
|
570
|
+
|
|
571
|
+
Routine maintenance releases — no security advisories, no breaking changes
|
|
572
|
+
(all within major 8). Four of the fixes land on paths mailx actually uses:
|
|
573
|
+
|
|
574
|
+
- The menubar could wrap onto multiple rows on narrow viewports or at high
|
|
575
|
+
browser zoom, leaving little or no visible editable area (8.8.1). Same class
|
|
576
|
+
of failure as the v1.2.264 "body must fill the iframe" bug, and compose is
|
|
577
|
+
routinely used zoomed.
|
|
578
|
+
- CSS custom property names and colour values in a style attribute were
|
|
579
|
+
lowercased when parsed (8.7.0) — that is quoted mail passing through a
|
|
580
|
+
reply/forward.
|
|
581
|
+
- Copying or dragging in an image didn't set width/height on the tag (8.7.0),
|
|
582
|
+
which the inline-image → cid path then had to carry.
|
|
583
|
+
- The link plugin threw a querySelectorAll syntax error on anchors containing
|
|
584
|
+
semicolons (8.8.0). Mail bodies are full of odd links.
|
|
585
|
+
|
|
586
|
+
Also: undo not restoring the selection, deleting a newline in a list item
|
|
587
|
+
eating the item, and the emoticons dialog's 300-item cap (we load that plugin).
|
|
588
|
+
|
|
589
|
+
Verified before publishing: all 17 plugins we request still exist in 8.8.2, the
|
|
590
|
+
dom model is unchanged, and the package still ships no langs/ directory — the
|
|
591
|
+
61 packs added in 1.2.277 come from tinymce-i18n and are copied after the tree,
|
|
592
|
+
so the re-copy keeps them (62 files present, manifest included).
|
|
593
|
+
|
|
594
|
+
The spec moves from ^8.5.0 to ^8.8.2. The old floor already permitted 8.8.2;
|
|
595
|
+
the tree had simply drifted at 8.6.0 with nothing to notice it, which is what
|
|
596
|
+
prompted this. Raising the floor makes the intent explicit rather than leaving
|
|
597
|
+
a fresh install free to resolve lower.
|
|
598
|
+
|
package/package.json
CHANGED