@bobfrankston/rmfmail 1.2.229 → 1.2.231
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/TODO.md +27 -0
- package/client/app.bundle.js +349 -66
- package/client/app.bundle.js.map +4 -4
- package/client/app.js +16 -2
- package/client/app.js.map +1 -1
- package/client/app.ts +14 -1
- package/client/components/calendar-sidebar.js +1 -1
- package/client/components/calendar-sidebar.js.map +1 -1
- package/client/components/calendar-sidebar.ts +1 -1
- package/client/components/context-menu.js +12 -1
- package/client/components/context-menu.js.map +1 -1
- package/client/components/context-menu.ts +36 -1
- package/client/components/edit-menu.js +339 -0
- package/client/components/edit-menu.js.map +1 -0
- package/client/components/edit-menu.ts +343 -0
- package/client/components/folder-tree.js +2 -2
- package/client/components/folder-tree.js.map +1 -1
- package/client/components/folder-tree.ts +2 -2
- package/client/components/message-list.js +3 -1
- package/client/components/message-list.js.map +1 -1
- package/client/components/message-list.ts +3 -1
- package/client/compose/compose.bundle.js +254 -83
- package/client/compose/compose.bundle.js.map +4 -4
- package/client/compose/compose.js +5 -28
- package/client/compose/compose.js.map +1 -1
- package/client/compose/compose.ts +4 -13
- package/client/compose/edit-commands.js +10 -89
- package/client/compose/edit-commands.js.map +1 -1
- package/client/compose/edit-commands.ts +11 -77
- package/package.json +1 -1
- /package/packages/mailx-imap/{node_modules.npmglobalize-stash-146480 → node_modules.npmglobalize-stash-7472}/.package-lock.json +0 -0
package/client/app.js
CHANGED
|
@@ -9,6 +9,8 @@ import { initTabs, setActiveView as setActiveTabView, openTab } from "./componen
|
|
|
9
9
|
import { getCurrentMessage, initViewer, popOutCurrentMessage, popOutToWindow, printCurrentMessage, toggleFullscreenPreview, showPreviewBodyMenu, wrapHtmlBody } from "./components/message-viewer.js";
|
|
10
10
|
import { connectWebSocket, onWsEvent, triggerSync, syncAccount, reauthenticate, getAccounts, getFolders, deleteMessage, deleteMessages, undeleteMessage, restartServer, getSyncPending, getVersion, getSettings, saveSettings, getAutocompleteSettings, saveAutocompleteSettings, repairAccounts, updateFlags, markAsSpamMessages, logClientEvent, sendMessage as apiSendMessage, subscribeStore, cancelServerSearch, installConsoleCapture, getAttachment } from "./lib/api-client.js";
|
|
11
11
|
import * as messageState from "./lib/message-state.js";
|
|
12
|
+
import { editMenuItems } from "./components/edit-menu.js";
|
|
13
|
+
import { showContextMenu as showMenu } from "./components/context-menu.js";
|
|
12
14
|
// FIRST THING. Captures every console.log/warn/error + window errors +
|
|
13
15
|
// unhandled promise rejections to the daemon log via logClientEvent, so
|
|
14
16
|
// debugging client-side bugs never requires opening devtools — search
|
|
@@ -138,8 +140,20 @@ window.__btick && window.__btick("app.ts module body executing");
|
|
|
138
140
|
// right-click in preview) can react. We only kill it if it would
|
|
139
141
|
// otherwise show the browser default — i.e., no other handler
|
|
140
142
|
// called preventDefault.
|
|
141
|
-
if (
|
|
142
|
-
|
|
143
|
+
if (e.defaultPrevented)
|
|
144
|
+
return;
|
|
145
|
+
e.preventDefault();
|
|
146
|
+
// …but suppressing the native menu means the search box, the folder
|
|
147
|
+
// rename field, the task title, and every other plain input in the
|
|
148
|
+
// main window lost Cut/Copy/Paste with nothing put back (Bob's wife,
|
|
149
|
+
// 2026-08-09: "some menus don't show copy/cut/paste"). Anywhere no
|
|
150
|
+
// surface claimed the click, offer the standard block — the same one
|
|
151
|
+
// compose and the other menus build from. Where it doesn't apply
|
|
152
|
+
// (an icon, a row with nothing selected) editMenuItems returns
|
|
153
|
+
// nothing and we're back to suppressing, as before.
|
|
154
|
+
const items = editMenuItems({ target: e.target });
|
|
155
|
+
if (items.length > 0)
|
|
156
|
+
showMenu(e.clientX, e.clientY, items);
|
|
143
157
|
});
|
|
144
158
|
})();
|
|
145
159
|
let baseTitle = APP_NAME;
|