@bobfrankston/rmfmail 1.0.632 → 1.0.634

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 CHANGED
@@ -214,6 +214,9 @@ Items blocked on a design decision. Short-form question here; full context in th
214
214
  | **C44** | PARTIAL | Real OS popup windows / pop-out — floating-overlay popout landed (Q64 v1.0.344); real OS processes still blocked on msger custom-protocol fix (C28). **Blocked on msger.** |
215
215
  | [**C46**](#ext46) | PARTIAL | Mailto handler split out as [P115](#ext115) (registry-only, not blocked). Remaining (Share target, tray, notifications, MSIX) still blocked on MSIX packaging. |
216
216
  | **C127** | OPTIONAL | **Push relay for calendar / mail / tasks** — design at [`docs/push-relay.md`](push-relay.md). New `MailApps/relayer/` package, alerter-shape (single Node Express+ws process, deploy alongside other small services). Generic API: client POSTs `/subscribe` with upstream + params, relay registers the upstream `events.watch` and returns an SSE/WS endpoint the client holds open. Per-upstream adapter files (`google-calendar.ts`, `google-gmail.ts`, `ms-graph-events.ts`); fan-out + replay buffer + subscription store generic. Client side: `pushRelayUrl` + credentials in settings, falls back to syncToken polling when relay unreachable. **Build only when polling latency demonstrably matters** — for typical use, 5–10 s syncToken cadence is functionally instant. Push is a freshness boost, not a correctness fix. |
217
+ | **C128** | OPEN | **Body pre-parse on prefetch** — first click on any unviewed message pays `simpleParser` + `sanitizeHtml` cost (~100–500 ms on rich HTML). The parsedCache (added 2026-05-09) eliminates 2nd-and-later view costs but not the first. Fix: extend prefetch to ALSO parse + sanitize the body during background fetch and store the result alongside the .eml (e.g., `<uuid>.parsed.json` next to `<uuid>.eml`, or a `body_html_cached` column). Click-time path reads pre-parsed JSON, no parser invocation. Touches `mailx-imap/index.ts` prefetch path + `mailx-store/file-store.ts` for the parsed-blob storage. |
218
+ | **C129** | OPEN | **Android prod/dev split via parallel MAUI projects** — User 2026-05-09: production APK from current default MAUI project, dev APK from a sibling `MailxAppDev/` project under `android-maui/`. Different package id (`com.frankston.rmfmail` vs `com.frankston.rmfmail.dev`), different AUMID, side-by-side install possible. Each builds independently; release flow: dev folder publishes APK, prod folder publishes APK from a known-good source state. Re-visit when desktop dist-tag flow has settled and Android needs the same separation. Notes-only until that time. |
219
+ | **C130** | OPEN | **Reset prefetch error budget after fresh sync** — Android: `errors`/`failedThisSession` accumulate within a prefetch session. Already resets on next syncAll cycle (since each `prefetchBodies(account)` call is fresh). Verify this works in practice via logit; if a long sync session burns through budget and stays stuck, add an explicit reset on `bodyAvailable` events that fire while prefetch is still running. |
217
220
 
218
221
  <a id="concerns"></a>
219
222
 
@@ -121,7 +121,6 @@ function formatWhen(ms) {
121
121
  const d = new Date(ms);
122
122
  return d.toLocaleString(undefined, { weekday: "short", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit" });
123
123
  }
124
- let currentPopup = null;
125
124
  let firedThisSession = new Set();
126
125
  /** uuids whose popup is currently visible on screen — set when the
127
126
  * popup opens, cleared when the user resolves it (button or close).
@@ -155,7 +154,6 @@ function showInWebViewPopup(opts) {
155
154
  `;
156
155
  overlay.appendChild(panel);
157
156
  document.body.appendChild(overlay);
158
- currentPopup = overlay;
159
157
  const msgapi = window.msgapi;
160
158
  try {
161
159
  msgapi?.setAlwaysOnTop?.(true);
@@ -163,7 +161,6 @@ function showInWebViewPopup(opts) {
163
161
  catch { /* */ }
164
162
  const cleanup = (button) => {
165
163
  overlay.remove();
166
- currentPopup = null;
167
164
  try {
168
165
  msgapi?.setAlwaysOnTop?.(false);
169
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"alarms.js","sourceRoot":"","sources":["alarms.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"alarms.js","sourceRoot":"","sources":["alarms.ts"],"names":[],"mappings":"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"}
@@ -115,7 +115,6 @@ function formatWhen(ms: number): string {
115
115
  return d.toLocaleString(undefined, { weekday: "short", month: "short", day: "numeric", hour: "2-digit", minute: "2-digit" });
116
116
  }
117
117
 
118
- let currentPopup: HTMLElement | null = null;
119
118
  let firedThisSession = new Set<string>();
120
119
  /** uuids whose popup is currently visible on screen — set when the
121
120
  * popup opens, cleared when the user resolves it (button or close).
@@ -153,14 +152,12 @@ function showInWebViewPopup(opts: { title: string; html: string; buttons: string
153
152
  `;
154
153
  overlay.appendChild(panel);
155
154
  document.body.appendChild(overlay);
156
- currentPopup = overlay;
157
155
 
158
156
  const msgapi: any = (window as any).msgapi;
159
157
  try { msgapi?.setAlwaysOnTop?.(true); } catch { /* */ }
160
158
 
161
159
  const cleanup = (button: string): void => {
162
160
  overlay.remove();
163
- currentPopup = null;
164
161
  try { msgapi?.setAlwaysOnTop?.(false); } catch { /* */ }
165
162
  document.removeEventListener("keydown", onKey, true);
166
163
  resolve({ button });
@@ -0,0 +1,215 @@
1
+ # prod / dev release workflow — wrapper-package variant
2
+
3
+ Status: design only. Alternative to `prod.md` (dist-tag approach). Pick one.
4
+
5
+ ## Shape
6
+
7
+ Today: one package `@bobfrankston/rmfmail` ships everything.
8
+
9
+ Proposed: split into two packages, three install names.
10
+
11
+ | Name | Role | Versioning |
12
+ |---|---|---|
13
+ | `@bobfrankston/rmfmailapp` | The actual code (today's rmfmail content). | Bumps freely on every build. |
14
+ | `@bobfrankston/rmfmail` | Thin wrapper. `dependencies: { rmfmailapp: "1.0.NNN" }` pinned. | Bumps only on promotion. |
15
+ | `@bobfrankston/rmfmaildev` | Thin wrapper. `dependencies: { rmfmailapp: "*" }` (or repinned at every publish to current `@latest`). | Tracks rmfmailapp tip. |
16
+
17
+ Casual user: `npm install -g @bobfrankston/rmfmail` — pulls the wrapper, npm resolves the pinned rmfmailapp, installs both. The wrapper's `bin` shim invokes rmfmailapp's actual entry point.
18
+
19
+ Dev user: `npm install -g @bobfrankston/rmfmaildev` — wrapper that pulls `rmfmailapp@latest` (or its current `*`-resolved match).
20
+
21
+ Promotion = single git commit on the wrapper repo bumping its `dependencies.rmfmailapp` from one frozen version to a newer frozen version, plus `npm publish` of the wrapper.
22
+
23
+ ## Why this rather than dist-tags
24
+
25
+ - **Audit trail in git.** The history of "what version was current prod when" is `git log app/wrapper/package.json`, not registry-only state.
26
+ - **Promotion is reversible by `git revert`.** Same as any code change.
27
+ - **Multi-channel scales.** `rmfmail-beta`, `rmfmail-rc`, etc. are just more wrappers, each pinned independently. dist-tags work too but become a bigger pile.
28
+ - **Pre-flight gating possible.** A CI check on the wrapper's package.json (lint, smoke test) can refuse promotions that name a version that hasn't been validated.
29
+
30
+ ## Why NOT, vs dist-tags
31
+
32
+ - **Two packages to maintain** instead of one. Two `package.json`s, two `npm publish` calls per promotion.
33
+ - **One more rename.** Current `@bobfrankston/rmfmail` → `@bobfrankston/rmfmailapp` (every workspace dep that references it has to flip too — not many in mailx, but it's a non-trivial rename).
34
+ - **npm cache pressure.** Each version of rmfmailapp lingers in users' npm caches; the wrapper resolves at install time, so old transitive resolutions can sit around. dist-tags don't multiply package versions.
35
+
36
+ ## Layout
37
+
38
+ ```
39
+ mailx/
40
+ rmfmailapp/ # was app/, the actual code
41
+ package.json → "name": "@bobfrankston/rmfmailapp"
42
+ bin/mailx.ts → unchanged
43
+ packages/ → unchanged
44
+ client/ → unchanged
45
+ ...
46
+
47
+ rmfmail/ # NEW — wrapper for prod
48
+ package.json → see below
49
+ bin/rmfmail.js → 3-line shim
50
+
51
+ rmfmaildev/ # NEW — wrapper for dev
52
+ package.json → see below
53
+ bin/rmfmaildev.js → 3-line shim
54
+ ```
55
+
56
+ ### `rmfmail/package.json` (prod wrapper)
57
+
58
+ ```json
59
+ {
60
+ "name": "@bobfrankston/rmfmail",
61
+ "version": "1.0.0",
62
+ "description": "Local-first email client (current stable)",
63
+ "type": "module",
64
+ "bin": { "rmfmail": "bin/rmfmail.js" },
65
+ "dependencies": {
66
+ "@bobfrankston/rmfmailapp": "1.0.609"
67
+ },
68
+ "license": "MIT"
69
+ }
70
+ ```
71
+
72
+ Wrapper's own version (`1.0.0`) only bumps on shape changes (e.g., bin renamed, scope changed). Day-to-day promotions just re-pin the dependency line.
73
+
74
+ ### `rmfmail/bin/rmfmail.js` (shim)
75
+
76
+ ```js
77
+ #!/usr/bin/env node
78
+ // Wrapper bin — defer to the pinned rmfmailapp entry point. Keeps argv
79
+ // and exit code identical so the wrapper is invisible at the CLI.
80
+ import { fileURLToPath } from "node:url";
81
+ import { createRequire } from "node:module";
82
+ const require = createRequire(import.meta.url);
83
+ const appBin = require.resolve("@bobfrankston/rmfmailapp/bin/mailx.js");
84
+ await import(`file://${appBin}`);
85
+ ```
86
+
87
+ (Or even just `require("@bobfrankston/rmfmailapp/bin/mailx.js")` if the rmfmailapp bin runs on `import`.)
88
+
89
+ ### `rmfmaildev/package.json` (dev wrapper)
90
+
91
+ ```json
92
+ {
93
+ "name": "@bobfrankston/rmfmaildev",
94
+ "version": "1.0.0",
95
+ "description": "Local-first email client (development tip)",
96
+ "type": "module",
97
+ "bin": { "rmfmail": "bin/rmfmaildev.js" },
98
+ "dependencies": {
99
+ "@bobfrankston/rmfmailapp": "*"
100
+ },
101
+ "license": "MIT"
102
+ }
103
+ ```
104
+
105
+ `*` means "any version" — npm picks the latest published. New `npm install -g @bobfrankston/rmfmaildev` always installs whatever rmfmailapp tip is at install time. Existing dev users run `npm update -g @bobfrankston/rmfmaildev` to refresh.
106
+
107
+ Alternative: `rmfmaildev` re-pins on every rmfmailapp publish (`prepublish` hook in rmfmailapp's CI bumps rmfmaildev's pin and publishes). Adds steps but gives dev installs the same lockstep behavior as prod.
108
+
109
+ ### Workflow
110
+
111
+ **rebuild.cmd** (publishes rmfmailapp):
112
+ ```cmd
113
+ cd rmfmailapp
114
+ npmglobalize
115
+ ```
116
+
117
+ No tag flag needed (rmfmailapp's `@latest` is just "newest dev build"; rmfmail prod doesn't read from it directly).
118
+
119
+ **prod.cmd** (promote):
120
+ ```cmd
121
+ @echo off
122
+ setlocal
123
+ set TARGET=%1
124
+ if "%TARGET%"=="" (
125
+ for /f "tokens=2 delims=:," %%v in ('findstr /b " \"version\":" "%~dp0rmfmailapp\package.json"') do set TARGET=%%~v
126
+ set TARGET=%TARGET: =%
127
+ set TARGET=%TARGET:"=%
128
+ )
129
+ echo Promoting rmfmail wrapper to pin rmfmailapp@%TARGET%...
130
+
131
+ rem Edit rmfmail/package.json's dependency line. 5-line node one-liner:
132
+ node -e "const p=require('./rmfmail/package.json'); p.dependencies['@bobfrankston/rmfmailapp']='%TARGET%'; require('fs').writeFileSync('./rmfmail/package.json', JSON.stringify(p,null,2)+'\n');"
133
+
134
+ rem Bump wrapper patch version (so npm sees a new wrapper to install).
135
+ cd rmfmail && npm version patch && cd ..
136
+ git add rmfmail/package.json
137
+ git commit -m "rmfmail: pin rmfmailapp@%TARGET%"
138
+
139
+ cd rmfmail
140
+ npm publish --access public
141
+ cd ..
142
+ echo Done. Casual users running 'npm install -g @bobfrankston/rmfmail' now get rmfmail@x.y.z → rmfmailapp@%TARGET%.
143
+ endlocal
144
+ ```
145
+
146
+ **Casual install** (unchanged from today's user-facing command):
147
+ ```
148
+ npm install -g @bobfrankston/rmfmail
149
+ ```
150
+
151
+ **Dev install**:
152
+ ```
153
+ npm install -g @bobfrankston/rmfmaildev
154
+ ```
155
+
156
+ ## Required code changes
157
+
158
+ ### 1. Rename `@bobfrankston/rmfmail` → `@bobfrankston/rmfmailapp`
159
+
160
+ - `app/package.json` `"name"` field.
161
+ - Every `dependencies` reference in workspace `packages/*/package.json`. Today they use `file:` paths so this might already be transparent — check.
162
+ - `bin/postinstall.js` — any hard-coded package name strings.
163
+ - `npmglobalize` config — no changes if it reads from package.json.
164
+
165
+ The rename is a one-time event. After it lands, no package.json edits in normal day-to-day work.
166
+
167
+ ### 2. Create `rmfmail/` and `rmfmaildev/` directories
168
+
169
+ Top-level (not under `app/`). Each gets a 5-line `package.json` and a 3-line bin shim. ~30 lines total.
170
+
171
+ ### 3. CI / build wiring
172
+
173
+ Today's `rebuild.cmd` builds and publishes app. Add:
174
+ - `prod.cmd` — promotes by bumping rmfmail's pin.
175
+ - Optionally automate rmfmaildev re-pin on every app publish (postpublish hook).
176
+
177
+ ### 4. npmglobalize: no changes needed
178
+
179
+ The wrapper packages publish like any other. dist-tag flag work in `prod.md` is **not required** for this approach.
180
+
181
+ ## What this does NOT do
182
+
183
+ - Does not enable side-by-side coexistence on a single machine — same as dist-tag plan, that's the orthogonal `RMFMAIL_PROFILE` env-var design.
184
+ - Does not eliminate user upgrades — users still need to re-run `npm install -g` (or rely on mailx's in-app updater) to pick up a new prod pin.
185
+ - Does not split testing or CI per channel — same code, same tests; only the promotion step gates the user-facing pin.
186
+
187
+ ## Comparison to `prod.md`
188
+
189
+ | | `prod.md` (dist-tag) | `prod-wrapper.md` (this) |
190
+ |--|--|--|
191
+ | Number of npm packages | 1 (rmfmail) | 3 (rmfmailapp + rmfmail + rmfmaildev) |
192
+ | What "promotion" is | `npm dist-tag add` (registry call) | git commit + `npm publish` of wrapper |
193
+ | Promotion auditable in git | no | yes |
194
+ | Roll-back mechanism | retag earlier version | `git revert` then republish wrapper |
195
+ | Required npmglobalize change | yes (`--tag` flag) | no |
196
+ | Casual install command | `npm install -g @bobfrankston/rmfmail` | (same) |
197
+ | Dev install command | `... rmfmail@dev` | `... rmfmaildev` |
198
+ | One-time rename of code package | no | yes (rmfmail → rmfmailapp) |
199
+ | Multi-channel future (beta, rc, …) | more dist-tags | more wrappers |
200
+
201
+ ## Recommendation
202
+
203
+ If you want:
204
+ - **Minimum mechanical change**: dist-tag (`prod.md`).
205
+ - **Maximum traceability**: wrapper (`prod-wrapper.md`).
206
+ - **Both eventually**: nothing stops doing dist-tag now and migrating to wrapper later. The dist-tag is a cheap throwaway; the wrapper is a structural commitment.
207
+
208
+ ## Effort estimate
209
+
210
+ - One-time rename `rmfmail` → `rmfmailapp`: ~30 minutes (search-replace + verify, plus npm deprecate of old name to point users at new install path).
211
+ - `rmfmail/` + `rmfmaildev/` skeletons: ~15 minutes.
212
+ - `prod.cmd`: ~15 minutes.
213
+ - Test cycle: build app, publish, run prod.cmd, install in clean dir, verify it runs. ~30 minutes.
214
+
215
+ About 1.5 hours wall-clock. Bigger one-time investment than dist-tag (~15 minutes); smaller per-promotion friction (one git commit vs `npm dist-tag add ... prod && add ... latest`).
package/docs/prod.md CHANGED
@@ -1,105 +1,224 @@
1
1
  # prod / dev release workflow
2
2
 
3
- Status: design only. Not implemented.
3
+ Status: design. Two viable approaches; pick one. Both deliver the same shape:
4
4
 
5
- ## Goal
5
+ - `rebuild.cmd` publishes builds without affecting what casual users get.
6
+ - A separate `prod.cmd` step promotes a known-good build to be what casual users install.
7
+ - Casual users keep typing `npm install -g @bobfrankston/rmfmail` (no flags).
8
+ - Dev users explicitly opt in.
6
9
 
7
- Two flavors of `@bobfrankston/rmfmail` published to the same npm package, distinguished only by [dist-tag](https://docs.npmjs.com/cli/v10/commands/npm-dist-tag):
10
+ ## Key invariant (answers the obvious confusion)
8
11
 
9
- - **`@dev`** every successful `rebuild.cmd` publishes here. Bumps freely; no stability promise.
10
- - **`@prod`** (and **`@latest`**) — what casual `npm install -g @bobfrankston/rmfmail` gets. Promoted manually from the current `@dev` tip when something has proved stable.
12
+ `@latest` is **what casual `npm install` gets**. It only moves when prod.cmd promotes. So between promotions:
11
13
 
12
- One node_modules root per machine; the active version is whichever the install pulled. No coexistence machinery, no env-var profiles. The simple case stays simple.
14
+ ```
15
+ @latest = @prod = 1.0.609 ← last promoted, what users get
16
+ @dev = 1.0.620 ← every rebuild bumps this
17
+ ```
18
+
19
+ Casual users keep installing 1.0.609 until you say so. Dev tip never accidentally becomes the casual install.
20
+
21
+ ---
22
+
23
+ ## Approach A — npm dist-tags (one package)
24
+
25
+ ### Mechanics
26
+
27
+ npm's built-in [dist-tag](https://docs.npmjs.com/cli/v10/commands/npm-dist-tag) feature: one package, multiple movable pointers.
13
28
 
14
- ## Mechanics
29
+ - `npm publish --tag dev` sets `@dev` to the new version. `@latest` untouched.
30
+ - `npm dist-tag add @bobfrankston/rmfmail@<v> prod` moves the `prod` pointer; `npm dist-tag add ... latest` moves `latest` too. Two HTTP calls, no republish.
15
31
 
16
- npm publishes default to `--tag latest`. Passing `--tag <name>` sets that tag on the new version and **leaves `latest` untouched**. dist-tags are pointers — moving one is two HTTP calls, no republish.
32
+ ### Required changes
17
33
 
34
+ **1. npmglobalize** — accepts a `--dist-tag` flag and forwards to `npm publish`. ~5 lines. See `docs/npmglobalize-disttag.md` for the patch.
35
+
36
+ **2. rebuild.cmd** — invoke `npmglobalize --dist-tag dev`. One-line edit.
37
+
38
+ **3. prod.cmd** — new file. Explicit arg wins; otherwise query npm for the
39
+ current `@dev` and promote that. (`@dev` is the right default because you've
40
+ just published it via `rebuild.cmd` and want it to become user-facing.)
41
+
42
+ ```cmd
43
+ @echo off
44
+ setlocal
45
+ set V=%1
46
+ if "%V%"=="" (
47
+ for /f "delims=" %%v in ('npm view @bobfrankston/rmfmail dist-tags.dev') do set V=%%v
48
+ )
49
+ if "%V%"=="" (
50
+ echo No version supplied and 'npm view ... dist-tags.dev' returned empty.
51
+ echo Usage: prod.cmd [version] e.g. prod.cmd 1.0.611
52
+ exit /b 1
53
+ )
54
+ echo Promoting @bobfrankston/rmfmail@%V% to prod and latest...
55
+ call npm dist-tag add @bobfrankston/rmfmail@%V% prod
56
+ call npm dist-tag add @bobfrankston/rmfmail@%V% latest
57
+ echo Done.
58
+ endlocal
18
59
  ```
19
- # what rebuild.cmd should run (via npmglobalize):
20
- npm publish <tarball> --tag dev # version exists, dev → it, latest unchanged
21
60
 
22
- # what prod.cmd should run:
23
- npm dist-tag add @bobfrankston/rmfmail@<version> prod
24
- npm dist-tag add @bobfrankston/rmfmail@<version> latest
61
+ Roll back to an older known-good: `prod.cmd 1.0.598` — explicit arg path.
62
+
63
+ The "default = local package.json" alternative (if you never want to query
64
+ the registry):
65
+
66
+ ```cmd
67
+ for /f "tokens=2 delims=:," %%v in ('findstr /b " \"version\":" "%~dp0app\package.json"') do set V=%%~v
68
+ set V=%V: =%
69
+ set V=%V:"=%
25
70
  ```
26
71
 
27
- Anyone running `npm install -g @bobfrankston/rmfmail` keeps installing whatever `latest` currently points at i.e., the most recent prod-promoted build. Dev users explicitly run `npm install -g @bobfrankston/rmfmail@dev` (one time; subsequent installs stay on dev tip until the user reinstalls).
72
+ Use whichever default matches your workflow — the explicit-arg path works
73
+ either way.
28
74
 
29
- ## Required changes
75
+ ### Workflow
30
76
 
31
- ### 1. npmglobalize (small flag plumbing)
77
+ 1. Edit code, run `rebuild.cmd` — version bumps, publishes as `@dev`. `@latest`/`@prod` unaffected.
78
+ 2. On the dev machine: `npm install -g @bobfrankston/rmfmail@dev` to grab the freshest build.
79
+ 3. When something feels stable: run `prod.cmd`. Promotes the current `package.json` version to `@prod` and `@latest`.
80
+ 4. On the prod machine (and any default install): `npm install -g @bobfrankston/rmfmail` (no tag) gets the newly-promoted version.
32
81
 
33
- `/c/users/bob/onedrive/xfer/bin/linuxbin/node_modules/@bobfrankston/npmglobalize/lib.js:4486`:
82
+ Roll back: `npm dist-tag add @bobfrankston/rmfmail@<earlier> prod` + `... latest`. No republish, no version bump.
83
+
84
+ ### Effort
85
+
86
+ - npmglobalize change: ~5 lines, ~5 minutes.
87
+ - `rebuild.cmd`: one-line edit.
88
+ - `prod.cmd`: 15 lines, fresh file.
89
+ - Test cycle: ~10 minutes.
90
+
91
+ ---
92
+
93
+ ## Approach B — wrapper packages
94
+
95
+ ### Mechanics
96
+
97
+ Split the current single package into three:
98
+
99
+ | Name | Role | Versioning |
100
+ |---|---|---|
101
+ | `@bobfrankston/rmfmailapp` | Today's actual code. | Bumps freely on every build. |
102
+ | `@bobfrankston/rmfmail` | Wrapper. `dependencies: { rmfmailapp: "1.0.609" }` pinned. | Bumps only on promotion. |
103
+ | `@bobfrankston/rmfmaildev` | Wrapper. `dependencies: { rmfmailapp: "*" }`. | Tracks rmfmailapp tip. |
104
+
105
+ Casual user: `npm install -g @bobfrankston/rmfmail` — installs the wrapper, which pulls in the pinned rmfmailapp via npm's normal dependency resolution. Wrapper's `bin` shim invokes rmfmailapp's actual entry point, so the CLI is identical.
106
+
107
+ Promotion = git commit on the wrapper bumping `dependencies.rmfmailapp` from one frozen version to another, plus `npm publish` of the wrapper.
108
+
109
+ ### Layout
34
110
 
35
- ```js
36
- const npmArgs = ['publish', tarballName];
111
+ ```
112
+ mailx/
113
+ rmfmailapp/ # was app/
114
+ package.json "name": "@bobfrankston/rmfmailapp"
115
+ bin/, packages/, client/ unchanged
116
+ rmfmail/ # NEW
117
+ package.json pins rmfmailapp version
118
+ bin/rmfmail.js shim that imports rmfmailapp's entry
119
+ rmfmaildev/ # NEW
120
+ package.json "*" range or always-repinned
121
+ bin/rmfmaildev.js shim
37
122
  ```
38
123
 
39
- Becomes:
124
+ ### `rmfmail/package.json`
125
+
126
+ ```json
127
+ {
128
+ "name": "@bobfrankston/rmfmail",
129
+ "version": "1.0.0",
130
+ "type": "module",
131
+ "bin": { "rmfmail": "bin/rmfmail.js" },
132
+ "dependencies": { "@bobfrankston/rmfmailapp": "1.0.609" }
133
+ }
134
+ ```
135
+
136
+ ### `rmfmail/bin/rmfmail.js`
40
137
 
41
138
  ```js
42
- const npmArgs = ['publish', tarballName];
43
- if (distTag) npmArgs.push('--tag', distTag);
139
+ #!/usr/bin/env node
140
+ import { createRequire } from "node:module";
141
+ const require = createRequire(import.meta.url);
142
+ await import(`file://${require.resolve("@bobfrankston/rmfmailapp/bin/mailx.js")}`);
44
143
  ```
45
144
 
46
- Plus argv parsing for `--dist-tag <name>` (or `--tag`) at the top of the script. ~5 lines total. Default behavior unchanged when the flag is absent — still publishes to `@latest` for every other consumer of npmglobalize.
145
+ ### `rmfmaildev/package.json`
47
146
 
48
- ### 2. rebuild.cmd
147
+ Same shape but `"@bobfrankston/rmfmailapp": "*"` so npm always resolves to the freshest published rmfmailapp.
49
148
 
50
- Change the npmglobalize invocation to pass `--dist-tag dev`:
149
+ ### Required changes
51
150
 
52
- ```cmd
53
- npmglobalize --dist-tag dev
54
- ```
151
+ **1. Rename** `@bobfrankston/rmfmail` → `@bobfrankston/rmfmailapp` in `app/package.json` and any workspace deps that reference it. One-time.
55
152
 
56
- After this, every build that reaches publish goes to `@dev`. `@latest` and `@prod` are frozen at whatever was last promoted.
153
+ **2. Create** `rmfmail/` and `rmfmaildev/` directories with the package.json + shim listed above. ~30 lines total.
57
154
 
58
- ### 3. prod.cmd (new file)
155
+ **3. prod.cmd** bumps the pin and publishes the wrapper:
59
156
 
60
157
  ```cmd
61
158
  @echo off
62
159
  setlocal
63
- for /f "tokens=2 delims=:," %%v in ('findstr /b " \"version\":" "%~dp0app\package.json"') do set V=%%~v
64
- set V=%V: =%
65
- set V=%V:"=%
66
- echo Promoting @bobfrankston/rmfmail@%V% to prod and latest...
67
- call npm dist-tag add @bobfrankston/rmfmail@%V% prod
68
- call npm dist-tag add @bobfrankston/rmfmail@%V% latest
69
- echo Done. End-users running 'npm install -g @bobfrankston/rmfmail' now get %V%.
160
+ set TARGET=%1
161
+ if "%TARGET%"=="" (
162
+ for /f "tokens=2 delims=:," %%v in ('findstr /b " \"version\":" "%~dp0rmfmailapp\package.json"') do set TARGET=%%~v
163
+ set TARGET=%TARGET: =%
164
+ set TARGET=%TARGET:"=%
165
+ )
166
+ node -e "const p=require('./rmfmail/package.json'); p.dependencies['@bobfrankston/rmfmailapp']='%TARGET%'; require('fs').writeFileSync('./rmfmail/package.json', JSON.stringify(p,null,2)+'\n');"
167
+ cd rmfmail
168
+ call npm version patch
169
+ call npm publish --access public
170
+ cd ..
171
+ git add rmfmail/package.json
172
+ git commit -m "rmfmail: pin rmfmailapp@%TARGET%"
70
173
  endlocal
71
174
  ```
72
175
 
73
- (Reads the current `package.json` version. Promotes that version to both `prod` and `latest`. No build, no publish.)
176
+ **4. npmglobalize**: no changes required.
74
177
 
75
- ### 4. README / one-liner doc
178
+ ### Workflow
76
179
 
77
- User-facing instructions for the two install paths:
180
+ 1. Build, run `rebuild.cmd` publishes rmfmailapp.
181
+ 2. Dev install: `npm install -g @bobfrankston/rmfmaildev`. Pulls latest rmfmailapp through the `*` range.
182
+ 3. Promotion: `prod.cmd 1.0.611`. Edits rmfmail's pin, bumps wrapper patch version, publishes wrapper, commits.
183
+ 4. Casual install: `npm install -g @bobfrankston/rmfmail` resolves the new wrapper, npm fetches the pinned rmfmailapp, both land under the wrapper.
78
184
 
79
- - Stable: `npm install -g @bobfrankston/rmfmail` (gets `@latest` = current prod).
80
- - Dev: `npm install -g @bobfrankston/rmfmail@dev` (current dev tip).
81
- - Pin to a specific version: `npm install -g @bobfrankston/rmfmail@1.0.NNN`.
185
+ Roll back: edit rmfmail/package.json to a prior pin, `git revert`, republish wrapper.
82
186
 
83
- ## Workflow once wired
187
+ ### Effort
84
188
 
85
- 1. Edit, build, run `rebuild.cmd` — version bumps, publishes as `@dev`. `@latest`/`@prod` unaffected.
86
- 2. Daily use on the dev machine: `npm install -g @bobfrankston/rmfmail@dev` to grab the freshest build, then run `rmfmail`.
87
- 3. When a recent dev build feels solid, run `prod.cmd`. That single command promotes the *current package.json version* to `prod` + `latest`.
88
- 4. On the prod machine (or any other), `npm install -g @bobfrankston/rmfmail` (no tag) gets the newly-promoted version.
189
+ - One-time rename: ~30 minutes.
190
+ - Wrapper skeletons: ~15 minutes.
191
+ - prod.cmd: ~15 minutes.
192
+ - Test: ~30 minutes.
193
+ - Total: ~1.5 hours up-front, then near-zero per promotion.
89
194
 
90
- Rolling back a bad prod is also a tag move — `npm dist-tag add @bobfrankston/rmfmail@<earlier> prod latest`. No republish; no version-bump needed; old install scripts that pin a version keep working.
195
+ ---
91
196
 
92
- ## What this does NOT do
197
+ ## Comparison
93
198
 
94
- - It does not enable both versions side-by-side on one machine. Single global install per machine; whichever tag was most recently installed wins. Coexistence (separate config dirs / WebView2 dirs / mailto handlers) is the *other* design (`RMFMAIL_PROFILE` env-var pattern, separately).
95
- - It does not freeze any specific dependency version. Pinning of workspace deps is whatever was bundled at publish time — same as today.
96
- - It does not change the semantic-version sequence. Both dev and prod publishes share the same monotonic `1.0.N` numbering; the dist-tag is just a movable pointer.
199
+ | | A: dist-tags | B: wrappers |
200
+ |--|--|--|
201
+ | Number of npm packages | 1 | 3 (app + 2 wrappers) |
202
+ | What "promotion" is | `npm dist-tag add` (HTTP call) | git commit + `npm publish` of wrapper |
203
+ | Promotion in git history | no (registry-only) | yes |
204
+ | Roll-back | retag prior version | `git revert` then republish wrapper |
205
+ | npmglobalize change needed | yes (`--tag` flag, ~5 lines) | no |
206
+ | Casual install command | `npm install -g @bobfrankston/rmfmail` | (same) |
207
+ | Dev install command | `... rmfmail@dev` | `... rmfmaildev` |
208
+ | One-time setup work | ~15 minutes | ~1.5 hours |
209
+ | Per-promotion work | seconds (registry call) | minutes (commit + publish) |
210
+ | Multi-channel future (beta, rc) | more dist-tags | more wrappers |
97
211
 
98
- ## Effort estimate
212
+ ## Recommendation
99
213
 
100
- - npmglobalize change: ~5 lines, ~5 minutes.
101
- - `rebuild.cmd`: one-line edit.
102
- - `prod.cmd`: 15 lines, fresh file.
103
- - Test cycle: publish a dev, verify `@latest` unchanged, run `prod.cmd`, verify `@latest` moved.
214
+ If you want it working today with minimum disturbance: **A (dist-tags)**.
215
+
216
+ If auditability of "what version was prod when" matters and you're willing to spend the one-time rename: **B (wrappers)**.
217
+
218
+ A → B migration later is straightforward (the rename and wrapper creation is the same work whenever you do it; dist-tags become a non-issue once wrappers exist).
219
+
220
+ ## What neither approach does
104
221
 
105
- Order of operations: npmglobalize first, then `rebuild.cmd`, then `prod.cmd`. Ship npmglobalize before changing rebuild.cmd to avoid one cycle of "rebuild.cmd uses --dist-tag dev but npmglobalize ignores it and publishes to latest anyway."
222
+ - Does not enable side-by-side coexistence on a single machine that's the orthogonal `RMFMAIL_PROFILE` env-var design (separate config dir, AUMID, mailto handler, etc.).
223
+ - Does not change the in-app updater. mailx's existing version-check flow keeps working with either.
224
+ - Does not affect Android. APKs aren't on npm — `prod-android.md` is the parallel document with the equivalent channel-manifest design.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/rmfmail",
3
- "version": "1.0.632",
3
+ "version": "1.0.634",
4
4
  "description": "Local-first email client with IMAP sync and standalone native app",
5
5
  "type": "module",
6
6
  "main": "bin/mailx.js",
@@ -1 +1 @@
1
- {"version":3,"file":"android-bootstrap.d.ts","sourceRoot":"","sources":["android-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA+jCH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA+KjD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAIhD"}
1
+ {"version":3,"file":"android-bootstrap.d.ts","sourceRoot":"","sources":["android-bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AA6kCH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CA+KjD;AAED,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAIhD"}
@@ -178,6 +178,14 @@ class AndroidSyncManager {
178
178
  let totalFetched = 0;
179
179
  let errors = 0;
180
180
  let announced = false;
181
+ // Per-session blacklist: messages whose fetch errored once.
182
+ // `getMessagesWithoutBody` returns the same set every batch
183
+ // (no per-row failed-marker in DB yet), so without this set
184
+ // a single failing message would burn the entire ERROR_BUDGET
185
+ // by being retried first in every batch. Skipping locally
186
+ // unblocks subsequent messages; next syncAll cycle starts
187
+ // a new prefetch session and the blacklist resets.
188
+ const failedThisSession = new Set();
181
189
  // S62: INBOX always first. Within each folder the DB returns rows
182
190
  // most-recent-first (PRIMARY KEY order), so newest unfetched INBOX
183
191
  // mail wins the queue. A slow label (`[Gmail]/Jerrry`, etc.) can't
@@ -188,9 +196,14 @@ class AndroidSyncManager {
188
196
  };
189
197
  let rateLimitCooldownUntil = 0;
190
198
  while (true) {
191
- const missing = this.db.getMessagesWithoutBody(accountId, BATCH_SIZE);
199
+ const allMissing = this.db.getMessagesWithoutBody(accountId, BATCH_SIZE * 4);
200
+ const missing = allMissing.filter((m) => !failedThisSession.has(m.uid));
192
201
  if (missing.length === 0)
193
202
  break;
203
+ // Cap to BATCH_SIZE after filtering so a deep blacklist
204
+ // doesn't leave us with a tiny working set per pass.
205
+ if (missing.length > BATCH_SIZE)
206
+ missing.length = BATCH_SIZE;
194
207
  if (!announced) {
195
208
  console.log(`[prefetch] ${accountId}: ${missing.length}+ bodies to fetch`);
196
209
  vlog(`prefetch ${accountId} start: ${missing.length}+ pending`);
@@ -235,10 +248,12 @@ class AndroidSyncManager {
235
248
  }
236
249
  else {
237
250
  errors++;
251
+ failedThisSession.add(m.uid);
238
252
  }
239
253
  }
240
254
  catch (e) {
241
255
  errors++;
256
+ failedThisSession.add(m.uid);
242
257
  const msg = String(e?.message || "");
243
258
  if (/429|rate|too many/i.test(msg)) {
244
259
  console.log(`[prefetch] ${accountId}: rate-limited — pausing ${RATE_LIMIT_PAUSE_MS / 1000}s`);
@@ -1 +1 @@
1
- {"version":3,"file":"android-bootstrap.js","sourceRoot":"","sources":["android-bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"android-bootstrap.js","sourceRoot":"","sources":["android-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -185,6 +185,14 @@ class AndroidSyncManager implements WebSyncManager {
185
185
  let totalFetched = 0;
186
186
  let errors = 0;
187
187
  let announced = false;
188
+ // Per-session blacklist: messages whose fetch errored once.
189
+ // `getMessagesWithoutBody` returns the same set every batch
190
+ // (no per-row failed-marker in DB yet), so without this set
191
+ // a single failing message would burn the entire ERROR_BUDGET
192
+ // by being retried first in every batch. Skipping locally
193
+ // unblocks subsequent messages; next syncAll cycle starts
194
+ // a new prefetch session and the blacklist resets.
195
+ const failedThisSession = new Set<number>();
188
196
  // S62: INBOX always first. Within each folder the DB returns rows
189
197
  // most-recent-first (PRIMARY KEY order), so newest unfetched INBOX
190
198
  // mail wins the queue. A slow label (`[Gmail]/Jerrry`, etc.) can't
@@ -196,8 +204,12 @@ class AndroidSyncManager implements WebSyncManager {
196
204
  let rateLimitCooldownUntil = 0;
197
205
 
198
206
  while (true) {
199
- const missing = this.db.getMessagesWithoutBody(accountId, BATCH_SIZE);
207
+ const allMissing = this.db.getMessagesWithoutBody(accountId, BATCH_SIZE * 4);
208
+ const missing = allMissing.filter((m: any) => !failedThisSession.has(m.uid));
200
209
  if (missing.length === 0) break;
210
+ // Cap to BATCH_SIZE after filtering so a deep blacklist
211
+ // doesn't leave us with a tiny working set per pass.
212
+ if (missing.length > BATCH_SIZE) missing.length = BATCH_SIZE;
201
213
  if (!announced) {
202
214
  console.log(`[prefetch] ${accountId}: ${missing.length}+ bodies to fetch`);
203
215
  vlog(`prefetch ${accountId} start: ${missing.length}+ pending`);
@@ -240,9 +252,11 @@ class AndroidSyncManager implements WebSyncManager {
240
252
  emitEvent({ type: "bodyCached", accountId, uid: m.uid, folderId: m.folderId });
241
253
  } else {
242
254
  errors++;
255
+ failedThisSession.add(m.uid);
243
256
  }
244
257
  } catch (e: any) {
245
258
  errors++;
259
+ failedThisSession.add(m.uid);
246
260
  const msg = String(e?.message || "");
247
261
  if (/429|rate|too many/i.test(msg)) {
248
262
  console.log(`[prefetch] ${accountId}: rate-limited — pausing ${RATE_LIMIT_PAUSE_MS / 1000}s`);
@@ -1,226 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>rmfmail</title>
7
- <link rel="icon" type="image/svg+xml" href="favicon.svg">
8
- <link rel="stylesheet" href="styles/variables.css">
9
- <link rel="stylesheet" href="styles/components.css">
10
- <link rel="stylesheet" href="styles/layout.css">
11
- <!-- Import map for Android — resolves @bobfrankston packages to bundled assets -->
12
- <script type="importmap">
13
- {
14
- "imports": {
15
- "@bobfrankston/mailx-store-web": "../packages/mailx-store-web/index.js",
16
- "@bobfrankston/mailx-store-web/": "../packages/mailx-store-web/",
17
- "@bobfrankston/mailx-types": "../packages/mailx-types/index.js",
18
- "@bobfrankston/iflow-direct": "../node_modules/@bobfrankston/iflow-direct/index.js",
19
- "@bobfrankston/iflow-direct/": "../node_modules/@bobfrankston/iflow-direct/",
20
- "@bobfrankston/smtp-direct": "../node_modules/@bobfrankston/smtp-direct/index.js",
21
- "@bobfrankston/smtp-direct/": "../node_modules/@bobfrankston/smtp-direct/",
22
- "@bobfrankston/tcp-transport": "../node_modules/@bobfrankston/tcp-transport/index.js",
23
- "@bobfrankston/tcp-transport/": "../node_modules/@bobfrankston/tcp-transport/",
24
- "@bobfrankston/mailx-sync": "../node_modules/@bobfrankston/mailx-sync/index.js",
25
- "@bobfrankston/mailx-sync/": "../node_modules/@bobfrankston/mailx-sync/",
26
- "sql.js": "../packages/mailx-store-web/sql-wasm-esm.js"
27
- }
28
- }
29
- </script>
30
- <!-- Early error handlers — runs before modules, catches everything -->
31
- <script>
32
- window.addEventListener("unhandledrejection", function(e) {
33
- var msg = "UNHANDLED: " + (e.reason?.message || e.reason || "unknown");
34
- var el = document.getElementById("startup-status");
35
- if (el) el.textContent = msg;
36
- fetch("https://rmf39.aaz.lt/logit/" + encodeURIComponent("JS/REJECT: " + msg) + "?log=mailx-android").catch(function(){});
37
- });
38
- window.onerror = function(msg, src, line) {
39
- var el = document.getElementById("startup-status");
40
- if (el) el.textContent = "ERROR: " + msg;
41
- fetch("https://rmf39.aaz.lt/logit/" + encodeURIComponent("JS/ERR: " + msg + " " + src + ":" + line) + "?log=mailx-android").catch(function(){});
42
- };
43
- </script>
44
- <!-- Android: load bootstrap first (installs window.mailxapi), then app -->
45
- <script type="module">
46
- try {
47
- const { initAndroid } = await import("@bobfrankston/mailx-store-web/android-bootstrap.js");
48
- await initAndroid();
49
- await import("./app.js");
50
- } catch (e) {
51
- const msg = "BOOTSTRAP FAILED: " + (e.message || e) + "\n" + (e.stack || "");
52
- const el = document.getElementById("startup-status");
53
- if (el) el.textContent = msg;
54
- console.error(msg);
55
- fetch("https://rmf39.aaz.lt/logit/" + encodeURIComponent("JS/FATAL: " + msg.substring(0, 500)) + "?log=mailx-android").catch(() => {});
56
- }
57
- </script>
58
- </head>
59
- <body>
60
- <header class="toolbar">
61
- <div class="toolbar-left">
62
- <button class="tb-btn" id="btn-menu" title="Menu / rail" hidden>☰</button>
63
- <button class="tb-btn" id="btn-folder-toggle" title="Show / hide folders" hidden>📁</button>
64
- <button class="tb-btn" id="btn-compose" title="Compose (Ctrl+N)">
65
- <span class="tb-icon">✏</span> Compose
66
- </button>
67
- </div>
68
- <div class="toolbar-center">
69
- <div class="tb-menu" id="view-menu">
70
- <button class="tb-btn" id="btn-view">View</button>
71
- <div class="tb-menu-dropdown" id="view-dropdown" hidden>
72
- <label class="tb-menu-item" title="Stack From + Subject on two lines per row, date to the right — denser on narrow windows"><input type="checkbox" id="opt-two-line"> Two-line view</label>
73
- <label class="tb-menu-item" title="Show the reading pane below/beside the message list"><input type="checkbox" id="opt-preview" checked> Preview pane</label>
74
- <label class="tb-menu-item" title="Show a short body-text preview (first ~80 chars) beneath each row's subject"><input type="checkbox" id="opt-snippet" checked> Preview snippets</label>
75
- <label class="tb-menu-item" title="Collapse reply chains to one row"><input type="checkbox" id="opt-threaded"> Group by thread</label>
76
- <label class="tb-menu-item" title="Filter the list to rows in the selected message's thread"><input type="checkbox" id="opt-thread-filter"> Only this conversation</label>
77
- <label class="tb-menu-item" title="Show only flagged (★) messages in the list"><input type="checkbox" id="opt-flagged"> ★ Flagged only</label>
78
- <label class="tb-menu-item" title="Show unread/total counts next to each folder in the tree"><input type="checkbox" id="opt-folder-counts"> Folder counts</label>
79
- <label class="tb-menu-item" title="Show the right-side calendar/tasks sidebar"><input type="checkbox" id="opt-calendar-sidebar"> Calendar sidebar</label>
80
- </div>
81
- </div>
82
- <div class="tb-menu" id="settings-menu">
83
- <button class="tb-btn" id="btn-settings">Settings</button>
84
- <div class="tb-menu-dropdown" id="settings-dropdown" hidden>
85
- <span class="tb-menu-label">Theme</span>
86
- <label class="tb-menu-item"><input type="radio" name="opt-theme" value="system" id="opt-theme-system"> System</label>
87
- <label class="tb-menu-item"><input type="radio" name="opt-theme" value="light" id="opt-theme-light"> Light</label>
88
- <label class="tb-menu-item"><input type="radio" name="opt-theme" value="dark" id="opt-theme-dark"> Dark</label>
89
- <hr class="tb-menu-sep">
90
- <span class="tb-menu-label">Editor</span>
91
- <label class="tb-menu-item"><input type="radio" name="opt-editor" value="quill" id="opt-editor-quill" checked> Quill</label>
92
- <label class="tb-menu-item"><input type="radio" name="opt-editor" value="tiptap" id="opt-editor-tiptap"> tiptap</label>
93
- <hr class="tb-menu-sep">
94
- <label class="tb-menu-item" title="Ghost-text completions while composing"><input type="checkbox" id="opt-autocomplete"> AI autocomplete</label>
95
- <label class="tb-menu-item" title="Right-click in message body → Translate"><input type="checkbox" id="opt-ai-translate"> AI translate (off by default)</label>
96
- <label class="tb-menu-item" title="Right-click in compose editor → Proofread"><input type="checkbox" id="opt-ai-proofread"> AI proofread (off by default)</label>
97
- <hr class="tb-menu-sep">
98
- <button class="tb-menu-item" id="btn-edit-jsonc" title="Edit accounts.jsonc / allowlist.jsonc / contacts.jsonc">Edit config files...</button>
99
- <button class="tb-menu-item" id="btn-about" title="Show version and build info">About rmfmail...</button>
100
- </div>
101
- </div>
102
- <button class="tb-btn" id="btn-tb-delete" title="Delete selected (Del)">🗑</button>
103
- <button class="tb-btn" id="btn-tb-spam" title="Mark as spam — move to Junk">⚠</button>
104
- <span id="app-version" class="app-version">rmfmail</span>
105
- </div>
106
- <div class="toolbar-right">
107
- <button class="tb-btn" id="btn-sync" title="Sync all folders (F5)">
108
- <span class="tb-icon">↻</span> Sync
109
- </button>
110
- <div class="tb-menu" id="restart-menu">
111
- <button class="tb-btn" id="btn-restart" title="Reset">
112
- <span class="tb-icon">⚡</span> Reset ▾
113
- </button>
114
- <div class="tb-menu-dropdown" id="restart-dropdown" hidden>
115
- <button class="tb-menu-item" id="btn-restart-quick" title="Reload the page">Reload</button>
116
- <button class="tb-menu-item" id="btn-rebuild" title="Wipe local cache and re-sync">Reset local store</button>
117
- <button class="tb-menu-item" id="btn-factory-reset" title="Delete everything — accounts, settings, cache. Back to first-run.">Factory reset</button>
118
- </div>
119
- </div>
120
- </div>
121
- </header>
122
-
123
- <div class="alert-banner" id="alert-banner" hidden>
124
- <span id="alert-text"></span>
125
- <button class="alert-dismiss" id="alert-dismiss" title="Dismiss">&times;</button>
126
- </div>
127
-
128
- <aside class="icon-rail" id="icon-rail" aria-label="App rail">
129
- <div class="rail-top">
130
- <button class="rail-btn" id="rail-compose" title="Compose" aria-label="Compose">✏</button>
131
- <button class="rail-btn" id="rail-inbox" title="Inbox" aria-label="Inbox" data-active="true">✉</button>
132
- <button class="rail-btn" id="rail-unified" title="All Inboxes" aria-label="All Inboxes">⌘</button>
133
- <button class="rail-btn" id="rail-contacts" title="Contacts" aria-label="Contacts">👤</button>
134
- <button class="rail-btn" id="rail-calendar" title="Calendar" aria-label="Calendar">📅</button>
135
- <button class="rail-btn" id="rail-tasks" title="Tasks" aria-label="Tasks">☑</button>
136
- </div>
137
- <div class="rail-bottom">
138
- <button class="rail-btn" id="rail-settings" title="Settings" aria-label="Settings">⚙</button>
139
- <button class="rail-btn" id="rail-theme" title="Theme" aria-label="Theme">◐</button>
140
- <button class="rail-btn" id="rail-help" title="Help" aria-label="Help">?</button>
141
- </div>
142
- </aside>
143
-
144
- <div class="folder-panel">
145
- <div class="ft-filter">
146
- <input type="text" id="ft-filter-input" placeholder="Find folder..." autocomplete="off">
147
- </div>
148
- <nav class="folder-tree" id="folder-tree">
149
- <div class="folder-loading">Loading accounts...</div>
150
- </nav>
151
- </div>
152
-
153
- <main class="main-area">
154
- <section class="message-list" id="message-list">
155
- <search class="search-bar ml-search">
156
- <select id="search-scope" title="Search scope">
157
- <option value="all">All folders</option>
158
- <option value="current">This folder</option>
159
- </select>
160
- <input type="search" id="search-input" placeholder="Search..." autocomplete="off" title="Search messages">
161
- <label class="search-server-check" title="Also search the IMAP server"><input type="checkbox" id="search-server-too"> Server</label>
162
- </search>
163
- <div class="ml-folder-title" id="ml-folder-title"></div>
164
- <div class="ml-header">
165
- <span class="ml-col ml-col-avatar"></span>
166
- <span class="ml-col ml-col-flag"></span>
167
- <span class="ml-col ml-col-from" data-sort="from">From</span>
168
- <span class="ml-col ml-col-date" data-sort="date">Date</span>
169
- <span class="ml-col ml-col-subject">Subject</span>
170
- </div>
171
- <div class="ml-body" id="ml-body">
172
- <div class="ml-empty">Select a folder to view messages</div>
173
- </div>
174
- </section>
175
-
176
- <div class="splitter" id="splitter-h"></div>
177
-
178
- <section class="message-viewer" id="message-viewer">
179
- <div class="mv-header" id="mv-header" hidden>
180
- <div class="mv-toolbar">
181
- <button class="tb-btn btn-back-list" id="btn-back" title="Back to message list" hidden>← Inbox</button>
182
- <button class="tb-btn" id="btn-reply" title="Reply">↩</button>
183
- <button class="tb-btn" id="btn-reply-all" title="Reply All">↩↩</button>
184
- <button class="tb-btn" id="btn-forward" title="Forward">→</button>
185
- <button class="tb-btn" id="btn-delete" title="Delete">🗑</button>
186
- <button class="tb-btn" id="btn-spam" title="Mark as spam" hidden>⚠</button>
187
- <button class="tb-btn" id="btn-flag" title="Flag">⚑</button>
188
- <button class="tb-btn" id="btn-mark-unread" title="Mark unread">◉</button>
189
- <span style="flex:1"></span>
190
- <button class="mv-action mv-action-primary" id="mv-edit-draft" hidden>Edit & Send</button>
191
- <a class="mv-unsubscribe" id="mv-unsubscribe" hidden>Unsubscribe</a>
192
- <button class="mv-action" id="mv-toggle-details" title="Show/hide extra headers">Details</button>
193
- </div>
194
- <div class="mv-header-info">
195
- <div class="mv-from"></div>
196
- <div class="mv-to"></div>
197
- </div>
198
- <div class="mv-subject"></div>
199
- <div class="mv-date"></div>
200
- <div class="mv-details" id="mv-details" hidden></div>
201
- </div>
202
- <div class="mv-body" id="mv-body">
203
- <div class="mv-empty">Select a message to read</div>
204
- </div>
205
- <div class="mv-attachments" id="mv-attachments" hidden></div>
206
- </section>
207
- </main>
208
-
209
- <footer class="status-bar" id="status-bar">
210
- <span id="status-accounts"></span>
211
- <span id="status-sync">Initializing...</span>
212
- <span id="status-offline" class="status-offline" hidden title="No network — local actions queue for later">⚡ offline</span>
213
- <span id="status-diag" class="status-diag" hidden title=""></span>
214
- <span id="status-pending"></span>
215
- <span id="status-queue"></span>
216
- <span class="app-version" id="status-version">rmfmail</span>
217
- </footer>
218
-
219
- <div id="startup-overlay" class="startup-overlay">
220
- <div class="startup-content">
221
- <div class="startup-spinner"></div>
222
- <div id="startup-status">Initializing rmfmail...</div>
223
- </div>
224
- </div>
225
- </body>
226
- </html>