@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.
Files changed (31) hide show
  1. package/TODO.md +27 -0
  2. package/client/app.bundle.js +349 -66
  3. package/client/app.bundle.js.map +4 -4
  4. package/client/app.js +16 -2
  5. package/client/app.js.map +1 -1
  6. package/client/app.ts +14 -1
  7. package/client/components/calendar-sidebar.js +1 -1
  8. package/client/components/calendar-sidebar.js.map +1 -1
  9. package/client/components/calendar-sidebar.ts +1 -1
  10. package/client/components/context-menu.js +12 -1
  11. package/client/components/context-menu.js.map +1 -1
  12. package/client/components/context-menu.ts +36 -1
  13. package/client/components/edit-menu.js +339 -0
  14. package/client/components/edit-menu.js.map +1 -0
  15. package/client/components/edit-menu.ts +343 -0
  16. package/client/components/folder-tree.js +2 -2
  17. package/client/components/folder-tree.js.map +1 -1
  18. package/client/components/folder-tree.ts +2 -2
  19. package/client/components/message-list.js +3 -1
  20. package/client/components/message-list.js.map +1 -1
  21. package/client/components/message-list.ts +3 -1
  22. package/client/compose/compose.bundle.js +254 -83
  23. package/client/compose/compose.bundle.js.map +4 -4
  24. package/client/compose/compose.js +5 -28
  25. package/client/compose/compose.js.map +1 -1
  26. package/client/compose/compose.ts +4 -13
  27. package/client/compose/edit-commands.js +10 -89
  28. package/client/compose/edit-commands.js.map +1 -1
  29. package/client/compose/edit-commands.ts +11 -77
  30. package/package.json +1 -1
  31. /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 (!e.defaultPrevented)
142
- e.preventDefault();
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;