@bobfrankston/rmfmail 1.1.82 → 1.1.84
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 +5 -8
- package/client/app.bundle.js +11 -0
- package/client/app.bundle.js.map +2 -2
- package/client/app.js +14 -0
- package/client/app.js.map +1 -1
- package/client/app.ts +14 -0
- package/client/index.html +1 -1
- package/client/styles/components.css +3 -0
- package/npmchanges.md +20 -0
- package/package.json +3 -3
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-76680 → node_modules.npmglobalize-stash-88584}/.package-lock.json +0 -0
package/client/app.ts
CHANGED
|
@@ -1393,11 +1393,24 @@ document.getElementById("btn-tb-delete")?.addEventListener("click", deleteSelect
|
|
|
1393
1393
|
document.getElementById("btn-tb-spam")?.addEventListener("click", spamSelectedMessages);
|
|
1394
1394
|
|
|
1395
1395
|
// ── Flag toggle ──
|
|
1396
|
+
/** Sync the toolbar Flag button (glyph + gold colour) to the viewed
|
|
1397
|
+
* message's flagged state, so it mirrors the message-list row star. */
|
|
1398
|
+
function updateFlagButton(): void {
|
|
1399
|
+
const btn = document.getElementById("btn-flag");
|
|
1400
|
+
if (!btn) return;
|
|
1401
|
+
const sel = getCurrentFocused();
|
|
1402
|
+
const yes = !!sel && flaggedOf(sel);
|
|
1403
|
+
btn.classList.toggle("flagged", yes);
|
|
1404
|
+
btn.textContent = yes ? "\u2605" : "\u2606";
|
|
1405
|
+
}
|
|
1406
|
+
document.addEventListener("mailx-message-shown", updateFlagButton);
|
|
1407
|
+
|
|
1396
1408
|
document.getElementById("btn-flag")?.addEventListener("click", async () => {
|
|
1397
1409
|
const sel = getCurrentFocused();
|
|
1398
1410
|
if (!sel) return;
|
|
1399
1411
|
const wasFlagged = flaggedOf(sel);
|
|
1400
1412
|
setFlagged(sel, !wasFlagged);
|
|
1413
|
+
updateFlagButton();
|
|
1401
1414
|
try {
|
|
1402
1415
|
await updateFlags(sel.accountId, sel.uid, sel.flags);
|
|
1403
1416
|
messageState.updateMessageFlags(sel.accountId, sel.uid, sel.flags);
|
|
@@ -1407,6 +1420,7 @@ document.getElementById("btn-flag")?.addEventListener("click", async () => {
|
|
|
1407
1420
|
} catch (e: unknown) {
|
|
1408
1421
|
// Revert local state on failure so visual + data stay consistent.
|
|
1409
1422
|
setFlagged(sel, wasFlagged);
|
|
1423
|
+
updateFlagButton();
|
|
1410
1424
|
console.error(`Flag toggle failed: ${(e as Error).message}`);
|
|
1411
1425
|
}
|
|
1412
1426
|
});
|
package/client/index.html
CHANGED
|
@@ -864,7 +864,7 @@
|
|
|
864
864
|
<button class="tb-btn" id="btn-delete" title="Delete (Del)">🗑</button>
|
|
865
865
|
<button class="tb-btn" id="btn-spam" title="Mark as spam — move to configured spam folder" hidden>⚠</button>
|
|
866
866
|
<button class="tb-btn" id="btn-spam-report" title="Report as spam (append to ~/.rmfmail/spam.csv for later analysis)">🚫</button>
|
|
867
|
-
<button class="tb-btn" id="btn-flag" title="Flag"
|
|
867
|
+
<button class="tb-btn" id="btn-flag" title="Flag">★</button>
|
|
868
868
|
<button class="tb-btn" id="btn-mark-unread" title="Mark unread (R)">◉</button>
|
|
869
869
|
<button class="tb-btn" id="mv-view-thread" title="View thread (conversation)" hidden>💬</button>
|
|
870
870
|
<span style="flex:1"></span>
|
|
@@ -78,6 +78,9 @@
|
|
|
78
78
|
.tb-icon { font-size: 1.1em; }
|
|
79
79
|
.tb-btn.syncing .tb-icon { animation: spin 1s linear infinite; }
|
|
80
80
|
@keyframes spin { to { transform: rotate(360deg); } }
|
|
81
|
+
/* Viewer Flag button tracks the viewed message's flagged state — same
|
|
82
|
+
gold as the message-list row star (.ml-row.flagged .ml-flag). */
|
|
83
|
+
#btn-flag.flagged { color: oklch(0.70 0.18 60); }
|
|
81
84
|
.app-version { font-size: var(--font-size-sm); color: var(--color-text); opacity: 0.7; }
|
|
82
85
|
|
|
83
86
|
.tb-menu { position: relative; display: inline-block; }
|
package/npmchanges.md
CHANGED
|
@@ -96,3 +96,23 @@ actually opened in Acrobat:
|
|
|
96
96
|
stopped. Replaced with a non-blocking banner via a mailx-alert
|
|
97
97
|
CustomEvent handled by app.ts showAlert().
|
|
98
98
|
|
|
99
|
+
## v1.1.82 — 2026-05-18
|
|
100
|
+
|
|
101
|
+
UX: larger viewer action icons + bigger, bolder flag star
|
|
102
|
+
|
|
103
|
+
Message-viewer toolbar glyphs (reply / reply-all / forward / delete /
|
|
104
|
+
flag / mark-unread) bumped to 1.4rem with more padding for an easier
|
|
105
|
+
target; the "← Inbox" text label stays normal-sized.
|
|
106
|
+
|
|
107
|
+
Message-list flag star enlarged from 0.9em to 1.45em, vertically
|
|
108
|
+
centered, with a gold hover preview and a stronger solid-gold colour
|
|
109
|
+
when flagged. Flag grid column widened 1.2em -> 1.7em to fit it.
|
|
110
|
+
|
|
111
|
+
## v1.1.83 — 2026-05-18
|
|
112
|
+
|
|
113
|
+
Viewer flag button: use a star glyph, matching the list star
|
|
114
|
+
|
|
115
|
+
The toolbar Flag button showed a ⚑ while the message-list row uses
|
|
116
|
+
★/☆ for the same flag state. Changed the toolbar glyph to ★ so the
|
|
117
|
+
two are visibly the same action.
|
|
118
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/rmfmail",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.84",
|
|
4
4
|
"description": "Local-first email client with IMAP sync and standalone native app",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "bin/mailx.js",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"@bobfrankston/miscinfo": "^1.0.12",
|
|
46
46
|
"@bobfrankston/msger": "^0.1.381",
|
|
47
47
|
"@bobfrankston/node-tcp-transport": "^0.1.8",
|
|
48
|
-
"@bobfrankston/oauthsupport": "^1.0.
|
|
48
|
+
"@bobfrankston/oauthsupport": "^1.0.27",
|
|
49
49
|
"@bobfrankston/rmf-tiny": "^0.1.11",
|
|
50
50
|
"@bobfrankston/smtp-direct": "^0.1.8",
|
|
51
51
|
"@bobfrankston/tcp-transport": "^0.1.6",
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
"@bobfrankston/miscinfo": "^1.0.12",
|
|
126
126
|
"@bobfrankston/msger": "^0.1.381",
|
|
127
127
|
"@bobfrankston/node-tcp-transport": "^0.1.8",
|
|
128
|
-
"@bobfrankston/oauthsupport": "^1.0.
|
|
128
|
+
"@bobfrankston/oauthsupport": "^1.0.27",
|
|
129
129
|
"@bobfrankston/rmf-tiny": "^0.1.11",
|
|
130
130
|
"@bobfrankston/smtp-direct": "^0.1.8",
|
|
131
131
|
"@bobfrankston/tcp-transport": "^0.1.6",
|