@bobfrankston/rmfmail 1.2.279 → 1.2.280

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/client/app.ts CHANGED
@@ -5417,9 +5417,37 @@ async function openAboutDialog(): Promise<void> {
5417
5417
  backdrop.addEventListener("mousedown", (e) => { if (e.target === backdrop) close(); });
5418
5418
 
5419
5419
  try {
5420
- const [v, accounts] = await Promise.all([
5420
+ // The bundled editor's own version, read from the tree the editor
5421
+ // actually loads from — so it cannot drift from what is running. Both
5422
+ // specs are caret ranges and the resolved version moves whenever npm
5423
+ // re-resolves: tinymce sat at 8.6.0 for weeks under ^8.5.0 with nothing
5424
+ // to notice (Bob 2026-08-23, "do you track updates for TinyMCE?").
5425
+ // build-tinymce.js also prints it, but npmglobalize swallows a
5426
+ // sub-build's stdout — only "Build succeeded" reaches the archived
5427
+ // transcript — so the build log is NOT where this question gets
5428
+ // answered. Here it is answerable on the machine showing the symptom.
5429
+ // (Claude Code 2026-08-24)
5430
+ const editorBundle = async (): Promise<string> => {
5431
+ const readJson = async <T>(url: string): Promise<T> => {
5432
+ try {
5433
+ const r = await fetch(url);
5434
+ return r.ok ? await r.json() : null;
5435
+ } catch {
5436
+ return null;
5437
+ }
5438
+ };
5439
+ const [pkg, langs] = await Promise.all([
5440
+ readJson<{ version: string }>("lib/tinymce/package.json"),
5441
+ readJson<string[]>("lib/tinymce/langs/index.json"),
5442
+ ]);
5443
+ if (!pkg?.version) return "";
5444
+ const n = langs?.length || 0;
5445
+ return n ? `TinyMCE ${pkg.version} · ${n} languages` : `TinyMCE ${pkg.version}`;
5446
+ };
5447
+ const [v, accounts, editorInfo] = await Promise.all([
5421
5448
  getVersion().catch(() => ({} as any)),
5422
5449
  getAccounts().catch(() => [] as any[]),
5450
+ editorBundle(),
5423
5451
  ]);
5424
5452
  const storage = v.storage || {};
5425
5453
  const isApp = typeof mailxapi !== "undefined" && mailxapi?.isApp;
@@ -5440,6 +5468,7 @@ async function openAboutDialog(): Promise<void> {
5440
5468
  if (storage.folderId) rows.push(["Drive folderId", storage.folderId]);
5441
5469
  if (storage.folderOwner) rows.push(["Drive owner", storage.folderOwner]);
5442
5470
  if (storage.configDir) rows.push(["Config dir", storage.configDir]);
5471
+ if (editorInfo) rows.push(["Editor bundle", editorInfo]);
5443
5472
  rows.push(["Accounts", String((accounts || []).length)]);
5444
5473
  rows.push(["User agent", navigator.userAgent]);
5445
5474
  rows.push(["Screen", `${screen.width}×${screen.height}`]);
package/npmchanges.md CHANGED
@@ -596,3 +596,22 @@ the tree had simply drifted at 8.6.0 with nothing to notice it, which is what
596
596
  prompted this. Raising the floor makes the intent explicit rather than leaving
597
597
  a fresh install free to resolve lower.
598
598
 
599
+ ## v1.2.279 — 2026-08-25
600
+
601
+ build-tinymce: report which TinyMCE and language-pack versions were copied
602
+
603
+ Both specs are caret ranges, so the resolved version moves on its own whenever
604
+ npm re-resolves the tree — tinymce sat at 8.6.0 for weeks under a ^8.5.0 spec
605
+ with nothing to notice ("do you track updates for TinyMCE?", Bob 2026-08-23).
606
+
607
+ Pinning exact would only trade silent drift for silent staleness: no more patch
608
+ fixes, and the surprise moves to whoever edits the pin. A dependency bot is the
609
+ wrong shape too — those work by filing PRs, and this repo publishes from the
610
+ local tree with direct commits.
611
+
612
+ So make it visible where it already costs nothing. Every publish archives its
613
+ build transcript to c:\temp\rebuild\, and build-tinymce.js already prints what
614
+ it copied; it now prints the resolved versions of tinymce and tinymce-i18n as
615
+ well. "Which TinyMCE shipped in 1.2.277?" is answerable from the log, with no
616
+ network call at build time and nothing to maintain.
617
+
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/rmfmail",
3
- "version": "1.2.279",
3
+ "version": "1.2.280",
4
4
  "description": "Local-first email client with IMAP sync and standalone native app",
5
5
  "type": "module",
6
6
  "main": "bin/mailx.js",