@bobfrankston/rmfmail 1.2.305 → 1.2.306
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 -40
- package/bin/popout-server.js +40 -0
- package/bin/popout-server.js.map +1 -1
- package/bin/popout-server.ts +40 -0
- package/docs/rules-design.md +43 -0
- package/npmchanges.md +43 -0
- package/package.json +3 -3
- package/packages/mailx-imap/node_modules.npmglobalize-stash-83696/.package-lock.json +0 -116
package/.commitmsg
CHANGED
|
@@ -1,40 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
"
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
fault as a filter that reads as a selection.
|
|
15
|
-
|
|
16
|
-
The daemon log shows it exactly: at the moment of the attempt there is a
|
|
17
|
-
getMessage and an updateFlags and no trashMessages at all. Nothing was slow or
|
|
18
|
-
failing; the gesture never left the client.
|
|
19
|
-
|
|
20
|
-
Routing now follows the pane the user last acted in, tracked on capture-phase
|
|
21
|
-
pointerdown so it lands before any handler that stops propagation and before
|
|
22
|
-
focus moves. The toolbar buttons sit in neither pane, so clicking one leaves
|
|
23
|
-
that reading as the user's last real interaction set it — which is the point,
|
|
24
|
-
since the button is how you act on what you were just doing. Select tasks and
|
|
25
|
-
press Delete and the tasks still go, which is what the priority rule was
|
|
26
|
-
written for; the part that was never intended is gone. A delete routed to
|
|
27
|
-
messages also clears any leftover task selection, so the sidebar stops showing
|
|
28
|
-
rows as chosen after the gesture has moved on.
|
|
29
|
-
|
|
30
|
-
I made this worse yesterday and should say so. Before v1.2.304 the swallowed
|
|
31
|
-
delete at least put up the native confirm — misplaced and late, but visible, so
|
|
32
|
-
"my delete went to the tasks" was discoverable. Moving that question to a menu
|
|
33
|
-
anchored over the task pane made the misrouting completely silent whenever the
|
|
34
|
-
sidebar was collapsed or scrolled away. The routing bug was already there; my
|
|
35
|
-
change removed the last evidence of it.
|
|
36
|
-
|
|
37
|
-
Also guarded, from the same cause: the batch confirm measured its anchor with
|
|
38
|
-
getBoundingClientRect on a possibly-hidden sidebar, which is 0x0 at 0,0 — it
|
|
39
|
-
now falls back to the middle of the window rather than asking in a corner
|
|
40
|
-
nobody is looking at.
|
|
1
|
+
Pop-out window: Ctrl+wheel and Ctrl+= / Ctrl+- / Ctrl+0 now zoom the window
|
|
2
|
+
|
|
3
|
+
"The wheel didn't work in a popped out window. It did work in the main preview
|
|
4
|
+
window" (Bob 2026-09-06). The separate-OS-window pop-out (bin/popout-server.ts)
|
|
5
|
+
renders the letter in a sandboxed iframe. msger's own zoom handler is injected
|
|
6
|
+
into every frame and posts its request over window.ipc, but wry only listens
|
|
7
|
+
to the top-level document's WebMessageReceived, so a request posted from the
|
|
8
|
+
body frame was silently dropped after the handler had already preventDefault'd
|
|
9
|
+
the gesture: no zoom, no error. The body page now forwards Ctrl+wheel and the
|
|
10
|
+
zoom keys to the parent page (postMessage `popout-zoom`), which re-dispatches
|
|
11
|
+
them as real events on the top-level document so the host applies its zoom.
|
|
12
|
+
The page never learns msger's IPC protocol. The in-window overlay pop-out was
|
|
13
|
+
already fine (it installs the viewer's own zoom controls).
|
package/bin/popout-server.js
CHANGED
|
@@ -366,7 +366,20 @@ function renderPage(msg, a, u, f, token) {
|
|
|
366
366
|
fetch("/open?t="+encodeURIComponent(T),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({url:e.data.url})});
|
|
367
367
|
}
|
|
368
368
|
if(e.data && e.data.type==="popout-key"){ run(hotkey(e.data)); }
|
|
369
|
+
if(e.data && e.data.type==="popout-zoom"){ hostZoom(e.data.mode); }
|
|
369
370
|
});
|
|
371
|
+
// Zoom forwarded out of the body iframe (see renderBody). Re-dispatch it
|
|
372
|
+
// as a real event on THIS document — the top-level one — so the host's
|
|
373
|
+
// own Ctrl+wheel / Ctrl+0 handler (msger-api.js) applies the zoom. The
|
|
374
|
+
// page never learns msger's IPC protocol; a plain browser just ignores
|
|
375
|
+
// the synthetic event. (Claude Code 2026-09-06)
|
|
376
|
+
function hostZoom(mode){
|
|
377
|
+
if(mode==="reset"){
|
|
378
|
+
document.dispatchEvent(new KeyboardEvent("keydown",{key:"0",ctrlKey:true,bubbles:true,cancelable:true}));
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
document.dispatchEvent(new WheelEvent("wheel",{deltaY:mode==="in"?-100:100,ctrlKey:true,bubbles:true,cancelable:true}));
|
|
382
|
+
}
|
|
370
383
|
document.addEventListener("keydown", function(e){
|
|
371
384
|
var a=hotkey(e);
|
|
372
385
|
if(!a)return;
|
|
@@ -405,6 +418,33 @@ document.addEventListener("keydown",function(e){
|
|
|
405
418
|
if(e.ctrlKey&&!e.altKey&&!e.metaKey&&(k==="r"||k==="f"||k==="d"))e.preventDefault();
|
|
406
419
|
try{parent.postMessage({type:"popout-key",key:e.key,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,metaKey:e.metaKey},"*");}catch(_){}
|
|
407
420
|
});
|
|
421
|
+
// Zoom. Ctrl+wheel did nothing over the letter in a popped-out window while
|
|
422
|
+
// the main window's preview zoomed fine (Bob 2026-09-06). The host's own zoom
|
|
423
|
+
// handler (msger-api.js) is injected into EVERY frame, this one included, and
|
|
424
|
+
// posts its request over window.ipc — but wry subscribes only to the
|
|
425
|
+
// top-level document's WebMessageReceived, so a request posted from a child
|
|
426
|
+
// frame is dropped on the floor, and the handler had already preventDefault'd
|
|
427
|
+
// the gesture. Forward it to the parent page instead; that is the top-level
|
|
428
|
+
// document, and it re-dispatches the event there (hostZoom in renderPage).
|
|
429
|
+
// Keys are caught on window in the capture phase: that runs BEFORE the
|
|
430
|
+
// host's document-level capture listener, which stops propagation on a zoom
|
|
431
|
+
// key. (Claude Code 2026-09-06)
|
|
432
|
+
function zoomMode(e){
|
|
433
|
+
if(!(e.ctrlKey||e.metaKey)||e.altKey||e.shiftKey)return null;
|
|
434
|
+
return (e.key==="+"||e.key==="=")?"in":(e.key==="-"||e.key==="_")?"out":(e.key==="0")?"reset":null;
|
|
435
|
+
}
|
|
436
|
+
window.addEventListener("wheel",function(e){
|
|
437
|
+
if(!(e.ctrlKey||e.metaKey))return;
|
|
438
|
+
e.preventDefault();
|
|
439
|
+
try{parent.postMessage({type:"popout-zoom",mode:e.deltaY<0?"in":"out"},"*");}catch(_){}
|
|
440
|
+
},{passive:false,capture:true});
|
|
441
|
+
window.addEventListener("keydown",function(e){
|
|
442
|
+
var mode=zoomMode(e);
|
|
443
|
+
if(!mode)return;
|
|
444
|
+
e.preventDefault();
|
|
445
|
+
e.stopImmediatePropagation();
|
|
446
|
+
try{parent.postMessage({type:"popout-zoom",mode:mode},"*");}catch(_){}
|
|
447
|
+
},true);
|
|
408
448
|
</script></body></html>`;
|
|
409
449
|
}
|
|
410
450
|
//# sourceMappingURL=popout-server.js.map
|
package/bin/popout-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popout-server.js","sourceRoot":"","sources":["popout-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"popout-server.js","sourceRoot":"","sources":["popout-server.ts"],"names":[],"mappings":"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"}
|
package/bin/popout-server.ts
CHANGED
|
@@ -368,7 +368,20 @@ function renderPage(msg: any, a: string, u: number, f: number | undefined, token
|
|
|
368
368
|
fetch("/open?t="+encodeURIComponent(T),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({url:e.data.url})});
|
|
369
369
|
}
|
|
370
370
|
if(e.data && e.data.type==="popout-key"){ run(hotkey(e.data)); }
|
|
371
|
+
if(e.data && e.data.type==="popout-zoom"){ hostZoom(e.data.mode); }
|
|
371
372
|
});
|
|
373
|
+
// Zoom forwarded out of the body iframe (see renderBody). Re-dispatch it
|
|
374
|
+
// as a real event on THIS document — the top-level one — so the host's
|
|
375
|
+
// own Ctrl+wheel / Ctrl+0 handler (msger-api.js) applies the zoom. The
|
|
376
|
+
// page never learns msger's IPC protocol; a plain browser just ignores
|
|
377
|
+
// the synthetic event. (Claude Code 2026-09-06)
|
|
378
|
+
function hostZoom(mode){
|
|
379
|
+
if(mode==="reset"){
|
|
380
|
+
document.dispatchEvent(new KeyboardEvent("keydown",{key:"0",ctrlKey:true,bubbles:true,cancelable:true}));
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
document.dispatchEvent(new WheelEvent("wheel",{deltaY:mode==="in"?-100:100,ctrlKey:true,bubbles:true,cancelable:true}));
|
|
384
|
+
}
|
|
372
385
|
document.addEventListener("keydown", function(e){
|
|
373
386
|
var a=hotkey(e);
|
|
374
387
|
if(!a)return;
|
|
@@ -408,5 +421,32 @@ document.addEventListener("keydown",function(e){
|
|
|
408
421
|
if(e.ctrlKey&&!e.altKey&&!e.metaKey&&(k==="r"||k==="f"||k==="d"))e.preventDefault();
|
|
409
422
|
try{parent.postMessage({type:"popout-key",key:e.key,ctrlKey:e.ctrlKey,shiftKey:e.shiftKey,altKey:e.altKey,metaKey:e.metaKey},"*");}catch(_){}
|
|
410
423
|
});
|
|
424
|
+
// Zoom. Ctrl+wheel did nothing over the letter in a popped-out window while
|
|
425
|
+
// the main window's preview zoomed fine (Bob 2026-09-06). The host's own zoom
|
|
426
|
+
// handler (msger-api.js) is injected into EVERY frame, this one included, and
|
|
427
|
+
// posts its request over window.ipc — but wry subscribes only to the
|
|
428
|
+
// top-level document's WebMessageReceived, so a request posted from a child
|
|
429
|
+
// frame is dropped on the floor, and the handler had already preventDefault'd
|
|
430
|
+
// the gesture. Forward it to the parent page instead; that is the top-level
|
|
431
|
+
// document, and it re-dispatches the event there (hostZoom in renderPage).
|
|
432
|
+
// Keys are caught on window in the capture phase: that runs BEFORE the
|
|
433
|
+
// host's document-level capture listener, which stops propagation on a zoom
|
|
434
|
+
// key. (Claude Code 2026-09-06)
|
|
435
|
+
function zoomMode(e){
|
|
436
|
+
if(!(e.ctrlKey||e.metaKey)||e.altKey||e.shiftKey)return null;
|
|
437
|
+
return (e.key==="+"||e.key==="=")?"in":(e.key==="-"||e.key==="_")?"out":(e.key==="0")?"reset":null;
|
|
438
|
+
}
|
|
439
|
+
window.addEventListener("wheel",function(e){
|
|
440
|
+
if(!(e.ctrlKey||e.metaKey))return;
|
|
441
|
+
e.preventDefault();
|
|
442
|
+
try{parent.postMessage({type:"popout-zoom",mode:e.deltaY<0?"in":"out"},"*");}catch(_){}
|
|
443
|
+
},{passive:false,capture:true});
|
|
444
|
+
window.addEventListener("keydown",function(e){
|
|
445
|
+
var mode=zoomMode(e);
|
|
446
|
+
if(!mode)return;
|
|
447
|
+
e.preventDefault();
|
|
448
|
+
e.stopImmediatePropagation();
|
|
449
|
+
try{parent.postMessage({type:"popout-zoom",mode:mode},"*");}catch(_){}
|
|
450
|
+
},true);
|
|
411
451
|
</script></body></html>`;
|
|
412
452
|
}
|
package/docs/rules-design.md
CHANGED
|
@@ -170,3 +170,46 @@ Once `rules.jsonc` lands, the same effect can be expressed via a rule + the `pri
|
|
|
170
170
|
6. Rename `flaggedSenders/flaggedDomains` → keep field names for compat; UI already uses "watch list" wording
|
|
171
171
|
7. Migration step on first launch with new file
|
|
172
172
|
8. `rules.md` doc deployed to GDrive (same mechanism as the other `.md` files in 1.0.498+)
|
|
173
|
+
|
|
174
|
+
## Retired recipient aliases (notes, 2026-09-06 — Claude Code, for Bob to think through later)
|
|
175
|
+
|
|
176
|
+
Prompted by mail still arriving at `site_20200505t165119.948z_149.28.87.177_1@bobf.frankston.com`
|
|
177
|
+
(those site aliases now live at site.bob.com). Bob: no special case for that pattern, but there
|
|
178
|
+
should be user-provided screening on addresses like it. Parked until he has time to think it through.
|
|
179
|
+
|
|
180
|
+
**Reframing.** That address is not a sender. It is one of Bob's own tagged RECIPIENT aliases, so the
|
|
181
|
+
rule is "which of my addresses are still live", the classic disposable-address pattern. The old imail
|
|
182
|
+
screener did exactly this (`rule.to == msg.deliveredTo`, see `imail/screener/screener.ts`).
|
|
183
|
+
|
|
184
|
+
**Bob's clarification (2026-09-06):** it is NOT an exact pattern. What matters is HOW LONG AGO the
|
|
185
|
+
alias was minted — the date is embedded in the local part (`site_20200505t165119.948z_…`). So the rule
|
|
186
|
+
is age-based: an alias older than N is stale. The matcher therefore has to extract a timestamp from
|
|
187
|
+
the address and compare it against an age, not just test a regex. Something like:
|
|
188
|
+
|
|
189
|
+
```jsonc
|
|
190
|
+
"retiredRecipients": [
|
|
191
|
+
"old_alias@bobf.frankston.com", // exact
|
|
192
|
+
{ "pattern": "/^site_(\d{8})t/", "olderThan": "2y" } // capture group 1 = yyyymmdd; stale when older than 2 years
|
|
193
|
+
]
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Open: date format(s) to accept in the capture (yyyymmdd here; ISO with `t` separator), what "age"
|
|
197
|
+
is measured from (now, or the message date), and whether an alias that is still receiving wanted mail
|
|
198
|
+
can be pinned live by an exact entry in `recipients` (positive list wins).
|
|
199
|
+
|
|
200
|
+
**Where it goes.** allowlist.jsonc is already the per-address list store (senders / domains /
|
|
201
|
+
recipients / flagged / trusted), evaluated in ONE spot, `mailx-store/store.ts` around line 346, and
|
|
202
|
+
exposed through `getAllowlist()`. `retiredRecipients` is one more field of the same kind — the
|
|
203
|
+
negative counterpart of the existing positive `recipients`. Match on Delivered-To first (already
|
|
204
|
+
extracted at store.ts ~line 610; the alias may be in Bcc), then To/Cc.
|
|
205
|
+
|
|
206
|
+
**What a hit does, first step:** a trust finding, not a move. New `TrustFinding` id
|
|
207
|
+
`retired-recipient` in `mailx-types/trust.ts`, severity caution, text naming the address ("Sent to
|
|
208
|
+
retired address site_2020…@bobf.frankston.com"). Visible, non-destructive, fits the evidence model.
|
|
209
|
+
Must never widen `allowRemote` (same rule as `trustedSenders`). When rules.jsonc (above) ships, its
|
|
210
|
+
`header: "to"` predicate + `moveTo` subsumes this; the list can stay as the fast path or migrate.
|
|
211
|
+
|
|
212
|
+
**UI hook:** viewer address menu already has "Trust all senders at ‹domain›"; add "Retire address
|
|
213
|
+
‹addr›" on To/Cc entries that are the reader's own. Names the target per the never-"here" rule.
|
|
214
|
+
|
|
215
|
+
Estimate: ~2 hours incl. allowlist.md docs, once the age semantics are decided.
|
package/npmchanges.md
CHANGED
|
@@ -1572,3 +1572,46 @@ folder move/delete, contact delete, discard draft — are untouched. They are
|
|
|
1572
1572
|
the same dialog with the same problems and they should follow, but each is a
|
|
1573
1573
|
destructive action worth reading before it moves.
|
|
1574
1574
|
|
|
1575
|
+
## v1.2.305 — 2026-09-05
|
|
1576
|
+
|
|
1577
|
+
One click on a task disabled Delete for the whole app
|
|
1578
|
+
|
|
1579
|
+
"I press del and the message is not deleted whether I'm in the letter or
|
|
1580
|
+
summary and trashcan is not working" (Bob 2026-09-05).
|
|
1581
|
+
|
|
1582
|
+
`deleteSelection()` — the one route for the Delete key, Ctrl+D, and both trash
|
|
1583
|
+
buttons — gave tasks an unconditional priority: if `getSelectedTaskUuids()` was
|
|
1584
|
+
non-empty it deleted tasks and returned, whatever the user was actually looking
|
|
1585
|
+
at. A task selection is set by a single click on a task row in the sidebar, is
|
|
1586
|
+
never cleared by anything done in the mail panes, and has no indicator outside
|
|
1587
|
+
the sidebar. So one stray click on a task turned off Delete and both trash
|
|
1588
|
+
buttons for messages, indefinitely, and the only symptom was nothing happening.
|
|
1589
|
+
Invisible modal state deciding what a destructive gesture means — the same
|
|
1590
|
+
fault as a filter that reads as a selection.
|
|
1591
|
+
|
|
1592
|
+
The daemon log shows it exactly: at the moment of the attempt there is a
|
|
1593
|
+
getMessage and an updateFlags and no trashMessages at all. Nothing was slow or
|
|
1594
|
+
failing; the gesture never left the client.
|
|
1595
|
+
|
|
1596
|
+
Routing now follows the pane the user last acted in, tracked on capture-phase
|
|
1597
|
+
pointerdown so it lands before any handler that stops propagation and before
|
|
1598
|
+
focus moves. The toolbar buttons sit in neither pane, so clicking one leaves
|
|
1599
|
+
that reading as the user's last real interaction set it — which is the point,
|
|
1600
|
+
since the button is how you act on what you were just doing. Select tasks and
|
|
1601
|
+
press Delete and the tasks still go, which is what the priority rule was
|
|
1602
|
+
written for; the part that was never intended is gone. A delete routed to
|
|
1603
|
+
messages also clears any leftover task selection, so the sidebar stops showing
|
|
1604
|
+
rows as chosen after the gesture has moved on.
|
|
1605
|
+
|
|
1606
|
+
I made this worse yesterday and should say so. Before v1.2.304 the swallowed
|
|
1607
|
+
delete at least put up the native confirm — misplaced and late, but visible, so
|
|
1608
|
+
"my delete went to the tasks" was discoverable. Moving that question to a menu
|
|
1609
|
+
anchored over the task pane made the misrouting completely silent whenever the
|
|
1610
|
+
sidebar was collapsed or scrolled away. The routing bug was already there; my
|
|
1611
|
+
change removed the last evidence of it.
|
|
1612
|
+
|
|
1613
|
+
Also guarded, from the same cause: the batch confirm measured its anchor with
|
|
1614
|
+
getBoundingClientRect on a possibly-hidden sidebar, which is 0x0 at 0,0 — it
|
|
1615
|
+
now falls back to the middle of the window rather than asking in a corner
|
|
1616
|
+
nobody is looking at.
|
|
1617
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bobfrankston/rmfmail",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.306",
|
|
4
4
|
"description": "Local-first email client with IMAP sync and standalone native app",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "bin/mailx.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@bobfrankston/mailx-store-web": "^0.1.106",
|
|
39
39
|
"@bobfrankston/mailx-sync": "^0.1.29",
|
|
40
40
|
"@bobfrankston/miscinfo": "^1.0.21",
|
|
41
|
-
"@bobfrankston/msger": "^0.1.
|
|
41
|
+
"@bobfrankston/msger": "^0.1.431",
|
|
42
42
|
"@bobfrankston/node-tcp-transport": "^0.1.10",
|
|
43
43
|
"@bobfrankston/oauthsupport": "^1.0.35",
|
|
44
44
|
"@bobfrankston/rmf-tiny": "^0.1.54",
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"@bobfrankston/mailx-store-web": "^0.1.106",
|
|
121
121
|
"@bobfrankston/mailx-sync": "^0.1.29",
|
|
122
122
|
"@bobfrankston/miscinfo": "^1.0.21",
|
|
123
|
-
"@bobfrankston/msger": "^0.1.
|
|
123
|
+
"@bobfrankston/msger": "^0.1.431",
|
|
124
124
|
"@bobfrankston/node-tcp-transport": "^0.1.10",
|
|
125
125
|
"@bobfrankston/oauthsupport": "^1.0.35",
|
|
126
126
|
"@bobfrankston/rmf-tiny": "^0.1.54",
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@bobfrankston/mailx-imap",
|
|
3
|
-
"version": "0.1.12",
|
|
4
|
-
"lockfileVersion": 3,
|
|
5
|
-
"requires": true,
|
|
6
|
-
"packages": {
|
|
7
|
-
"../../../../projects/oauth/oauthsupport": {
|
|
8
|
-
"name": "@bobfrankston/oauthsupport",
|
|
9
|
-
"version": "1.0.25",
|
|
10
|
-
"license": "MIT",
|
|
11
|
-
"devDependencies": {
|
|
12
|
-
"@types/node": "^25.2.1"
|
|
13
|
-
},
|
|
14
|
-
"engines": {
|
|
15
|
-
"node": ">=18.0.0"
|
|
16
|
-
}
|
|
17
|
-
},
|
|
18
|
-
"../../../MailApps/iflow-direct": {
|
|
19
|
-
"name": "@bobfrankston/iflow-direct",
|
|
20
|
-
"version": "0.1.27",
|
|
21
|
-
"license": "ISC",
|
|
22
|
-
"dependencies": {
|
|
23
|
-
"@bobfrankston/tcp-transport": "file:../tcp-transport"
|
|
24
|
-
},
|
|
25
|
-
"devDependencies": {
|
|
26
|
-
"@types/node": "^25.6.0"
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
"../../../MailApps/mailx-sync": {
|
|
30
|
-
"name": "@bobfrankston/mailx-sync",
|
|
31
|
-
"version": "0.1.10",
|
|
32
|
-
"license": "ISC",
|
|
33
|
-
"dependencies": {
|
|
34
|
-
"@bobfrankston/iflow-direct": "file:../iflow-direct",
|
|
35
|
-
"@bobfrankston/tcp-transport": "file:../tcp-transport"
|
|
36
|
-
},
|
|
37
|
-
"devDependencies": {
|
|
38
|
-
"@types/node": "^25.6.0"
|
|
39
|
-
}
|
|
40
|
-
},
|
|
41
|
-
"../../../MailApps/smtp-direct": {
|
|
42
|
-
"name": "@bobfrankston/smtp-direct",
|
|
43
|
-
"version": "0.1.5",
|
|
44
|
-
"license": "ISC",
|
|
45
|
-
"dependencies": {
|
|
46
|
-
"@bobfrankston/tcp-transport": "file:../tcp-transport"
|
|
47
|
-
},
|
|
48
|
-
"devDependencies": {
|
|
49
|
-
"@types/node": "^25.6.0"
|
|
50
|
-
}
|
|
51
|
-
},
|
|
52
|
-
"../../../MailApps/tcp-transport": {
|
|
53
|
-
"name": "@bobfrankston/tcp-transport",
|
|
54
|
-
"version": "0.1.5",
|
|
55
|
-
"license": "ISC",
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"@types/node": "^25.6.0"
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"../../app/packages/mailx-settings": {
|
|
61
|
-
"name": "@bobfrankston/mailx-settings",
|
|
62
|
-
"version": "0.1.6",
|
|
63
|
-
"license": "ISC",
|
|
64
|
-
"dependencies": {
|
|
65
|
-
"@bobfrankston/mailx-types": "file:../mailx-types",
|
|
66
|
-
"jsonc-parser": "^3.3.1"
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
"../../app/packages/mailx-store": {
|
|
70
|
-
"name": "@bobfrankston/mailx-store",
|
|
71
|
-
"version": "0.1.5",
|
|
72
|
-
"license": "ISC",
|
|
73
|
-
"dependencies": {
|
|
74
|
-
"@bobfrankston/mailx-settings": "file:../mailx-settings",
|
|
75
|
-
"@bobfrankston/mailx-types": "file:../mailx-types"
|
|
76
|
-
}
|
|
77
|
-
},
|
|
78
|
-
"../../app/packages/mailx-types": {
|
|
79
|
-
"name": "@bobfrankston/mailx-types",
|
|
80
|
-
"version": "0.1.5",
|
|
81
|
-
"license": "ISC"
|
|
82
|
-
},
|
|
83
|
-
"node_modules/@bobfrankston/iflow-direct": {
|
|
84
|
-
"resolved": "../../../MailApps/iflow-direct",
|
|
85
|
-
"link": true
|
|
86
|
-
},
|
|
87
|
-
"node_modules/@bobfrankston/mailx-settings": {
|
|
88
|
-
"resolved": "../../app/packages/mailx-settings",
|
|
89
|
-
"link": true
|
|
90
|
-
},
|
|
91
|
-
"node_modules/@bobfrankston/mailx-store": {
|
|
92
|
-
"resolved": "../../app/packages/mailx-store",
|
|
93
|
-
"link": true
|
|
94
|
-
},
|
|
95
|
-
"node_modules/@bobfrankston/mailx-sync": {
|
|
96
|
-
"resolved": "../../../MailApps/mailx-sync",
|
|
97
|
-
"link": true
|
|
98
|
-
},
|
|
99
|
-
"node_modules/@bobfrankston/mailx-types": {
|
|
100
|
-
"resolved": "../../app/packages/mailx-types",
|
|
101
|
-
"link": true
|
|
102
|
-
},
|
|
103
|
-
"node_modules/@bobfrankston/oauthsupport": {
|
|
104
|
-
"resolved": "../../../../projects/oauth/oauthsupport",
|
|
105
|
-
"link": true
|
|
106
|
-
},
|
|
107
|
-
"node_modules/@bobfrankston/smtp-direct": {
|
|
108
|
-
"resolved": "../../../MailApps/smtp-direct",
|
|
109
|
-
"link": true
|
|
110
|
-
},
|
|
111
|
-
"node_modules/@bobfrankston/tcp-transport": {
|
|
112
|
-
"resolved": "../../../MailApps/tcp-transport",
|
|
113
|
-
"link": true
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|