@bobfrankston/rmfmail 1.1.84 → 1.1.86
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 +13 -5
- package/client/app.bundle.js +5 -2
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +14 -3
- package/client/app.js.map +1 -1
- package/client/app.ts +13 -3
- package/client/components/message-list.js.map +1 -1
- package/client/components/message-list.ts +1 -0
- package/client/compose/compose.js +38 -16
- package/client/compose/compose.js.map +1 -1
- package/client/compose/compose.ts +34 -15
- package/client/lib/mailxapi.js +5 -0
- package/client/lib/tinymce/skins/content/dark/content.js +4 -10
- package/client/lib/tinymce/skins/content/dark/content.js.map +1 -0
- package/client/lib/tinymce/skins/content/dark/content.min.js +4 -0
- package/client/lib/tinymce/skins/content/dark/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/content/default/content.js +4 -10
- package/client/lib/tinymce/skins/content/default/content.js.map +1 -0
- package/client/lib/tinymce/skins/content/default/content.min.js +4 -0
- package/client/lib/tinymce/skins/content/default/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/content/document/content.js +4 -10
- package/client/lib/tinymce/skins/content/document/content.js.map +1 -0
- package/client/lib/tinymce/skins/content/document/content.min.js +4 -0
- package/client/lib/tinymce/skins/content/document/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/content/tinymce-5/content.js +4 -10
- package/client/lib/tinymce/skins/content/tinymce-5/content.js.map +1 -0
- package/client/lib/tinymce/skins/content/tinymce-5/content.min.js +4 -0
- package/client/lib/tinymce/skins/content/tinymce-5/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/content/tinymce-5-dark/content.js +4 -10
- package/client/lib/tinymce/skins/content/tinymce-5-dark/content.js.map +1 -0
- package/client/lib/tinymce/skins/content/tinymce-5-dark/content.min.js +4 -0
- package/client/lib/tinymce/skins/content/tinymce-5-dark/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/content/writer/content.js +4 -10
- package/client/lib/tinymce/skins/content/writer/content.js.map +1 -0
- package/client/lib/tinymce/skins/content/writer/content.min.js +4 -0
- package/client/lib/tinymce/skins/content/writer/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide/content.inline.js +4 -10
- package/client/lib/tinymce/skins/ui/oxide/content.inline.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide/content.inline.min.js +4 -0
- package/client/lib/tinymce/skins/ui/oxide/content.inline.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide/content.js +4 -10
- package/client/lib/tinymce/skins/ui/oxide/content.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide/content.min.js +4 -0
- package/client/lib/tinymce/skins/ui/oxide/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide/skin.js +4 -1
- package/client/lib/tinymce/skins/ui/oxide/skin.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide/skin.min.js +4 -0
- package/client/lib/tinymce/skins/ui/oxide/skin.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide/skin.shadowdom.js +4 -1
- package/client/lib/tinymce/skins/ui/oxide/skin.shadowdom.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide/skin.shadowdom.min.js +4 -0
- package/client/lib/tinymce/skins/ui/oxide/skin.shadowdom.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/content.inline.js +4 -10
- package/client/lib/tinymce/skins/ui/oxide-dark/content.inline.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/content.inline.min.js +4 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/content.inline.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/content.js +4 -10
- package/client/lib/tinymce/skins/ui/oxide-dark/content.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/content.min.js +4 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/skin.js +4 -1
- package/client/lib/tinymce/skins/ui/oxide-dark/skin.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/skin.min.js +4 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/skin.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/skin.shadowdom.js +4 -1
- package/client/lib/tinymce/skins/ui/oxide-dark/skin.shadowdom.js.map +1 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.js +4 -0
- package/client/lib/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/content.inline.js +4 -10
- package/client/lib/tinymce/skins/ui/tinymce-5/content.inline.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/content.inline.min.js +4 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/content.inline.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/content.js +4 -10
- package/client/lib/tinymce/skins/ui/tinymce-5/content.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/content.min.js +4 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/skin.js +4 -1
- package/client/lib/tinymce/skins/ui/tinymce-5/skin.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/skin.min.js +4 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/skin.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/skin.shadowdom.js +4 -1
- package/client/lib/tinymce/skins/ui/tinymce-5/skin.shadowdom.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.js +4 -0
- package/client/lib/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.inline.js +4 -10
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.inline.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.inline.min.js +4 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.inline.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.js +4 -10
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.min.js +4 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/content.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.js +4 -1
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.min.js +4 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.min.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js +4 -1
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.js.map +1 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.js +4 -0
- package/client/lib/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.js.map +1 -0
- package/client/styles/components.css +8 -5
- package/client/styles/variables.css +4 -0
- package/npmchanges.md +24 -0
- package/package.json +1 -1
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-88584 → node_modules.npmglobalize-stash-88224}/.package-lock.json +0 -0
package/client/app.js
CHANGED
|
@@ -315,15 +315,22 @@ window.addEventListener("mailx-alert", (e) => {
|
|
|
315
315
|
if (d.message)
|
|
316
316
|
showAlert(String(d.message), d.key);
|
|
317
317
|
});
|
|
318
|
-
function hideAlert() {
|
|
318
|
+
function hideAlert(opts) {
|
|
319
319
|
if (alertBanner) {
|
|
320
|
+
// The "update available" notice is sticky: routine "clear the
|
|
321
|
+
// transient banner" calls (after a successful sync, etc.) must not
|
|
322
|
+
// wipe it — otherwise the next sync, seconds later, hides the
|
|
323
|
+
// update banner and the user never sees it. Only the explicit X
|
|
324
|
+
// (force) clears it.
|
|
325
|
+
if (!opts?.force && alertBanner.dataset.key === "update-available")
|
|
326
|
+
return;
|
|
320
327
|
const key = alertBanner.dataset.key;
|
|
321
328
|
if (key)
|
|
322
329
|
dismissedAlerts.add(key);
|
|
323
330
|
alertBanner.hidden = true;
|
|
324
331
|
}
|
|
325
332
|
}
|
|
326
|
-
alertDismiss?.addEventListener("click", hideAlert);
|
|
333
|
+
alertDismiss?.addEventListener("click", () => hideAlert({ force: true }));
|
|
327
334
|
/** Show the alert banner with a "Restart" button wired to the mailxapi
|
|
328
335
|
* restartDaemon action. Used when a watched config file whose changes
|
|
329
336
|
* don't apply live (accounts.jsonc) has been modified. */
|
|
@@ -1436,7 +1443,7 @@ function updateFlagButton() {
|
|
|
1436
1443
|
const sel = getCurrentFocused();
|
|
1437
1444
|
const yes = !!sel && flaggedOf(sel);
|
|
1438
1445
|
btn.classList.toggle("flagged", yes);
|
|
1439
|
-
btn.textContent = yes ? "
|
|
1446
|
+
btn.textContent = yes ? "★" : "☆";
|
|
1440
1447
|
}
|
|
1441
1448
|
document.addEventListener("mailx-message-shown", updateFlagButton);
|
|
1442
1449
|
document.getElementById("btn-flag")?.addEventListener("click", async () => {
|
|
@@ -2575,6 +2582,9 @@ onWsEvent((event) => {
|
|
|
2575
2582
|
const text = document.getElementById("alert-text");
|
|
2576
2583
|
if (banner && text) {
|
|
2577
2584
|
banner.hidden = false;
|
|
2585
|
+
// Mark as the sticky update banner so hideAlert() (called
|
|
2586
|
+
// after every successful sync) leaves it alone.
|
|
2587
|
+
banner.dataset.key = "update-available";
|
|
2578
2588
|
// Green update banner — matches the Android update bar Bob
|
|
2579
2589
|
// likes (was blue, oklch hue 250).
|
|
2580
2590
|
banner.style.background = "oklch(0.52 0.14 150)";
|
|
@@ -2604,6 +2614,7 @@ onWsEvent((event) => {
|
|
|
2604
2614
|
const restoreHtml = window.__mailxUpdateBannerHtml;
|
|
2605
2615
|
const prefix = event.offline ? "No connection — update postponed. " : "Update failed — ";
|
|
2606
2616
|
banner.hidden = false;
|
|
2617
|
+
banner.dataset.key = "update-available"; // sticky — survives sync
|
|
2607
2618
|
banner.style.background = event.offline ? "oklch(0.42 0.06 70)" : "oklch(0.45 0.12 25)";
|
|
2608
2619
|
text.innerHTML = `${prefix}${restoreHtml ?? ""}`;
|
|
2609
2620
|
document.getElementById("btn-do-update")?.addEventListener("click", () => {
|