@bobfrankston/mailx-settings 0.1.53 → 0.1.56

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.
@@ -0,0 +1,291 @@
1
+ # Thundermail / Thunderbird Pro — protocol surface and what mailx would need
2
+
3
+ *Researched 2026-08-17. Everything in "Live endpoints" was pulled directly from their servers
4
+ that day, not from documentation — re-run the probes at the bottom before acting on it.*
5
+
6
+ ## Status (as of 2026-08-17)
7
+
8
+ Thundermail is **not generally available**. It is invite-wave beta off the tb.pro waitlist —
9
+ first invites May 2026, the [June 2026 update](https://blog.thunderbird.net/2026/06/thundermail-june-2026-update-what-we-learned-after-the-first-few-waves-of-invites/)
10
+ is the most recent substantive post, webmail was in early alpha as of July 2026. No GA
11
+ announcement on blog.thunderbird.net through 2026-08-17.
12
+
13
+ Early Bird plan: $6/month paid annually — 30 GB mail, 60 GB Send storage, one inbox with 15
14
+ addresses, 3 custom domains. Addresses at `@thundermail.com` or `@tb.pro`, or bring your own
15
+ domain. Infrastructure in Germany per tb.pro; an April 2026 blog comment thread noted the
16
+ entity is under US jurisdiction with EU servers.
17
+
18
+ **There is no Thundermail-specific API and no developer program.** The service is
19
+ [Stalwart](https://stalw.art/), so the "API" is exactly Stalwart's standards surface. That is
20
+ the good news: no proprietary client to write, no app-registration wall.
21
+
22
+ ## Live endpoints
23
+
24
+ ### Autoconfig
25
+
26
+ `https://thundermail.com/.well-known/autoconfig/mail/config-v1.1.xml`
27
+ (302 → `mail.thundermail.com`; the same file is served from `tb.pro`). RFC 6764 discovery
28
+ works — `/.well-known/caldav` and `/.well-known/carddav` 307 to the DAV roots.
29
+
30
+ | Service | Endpoint | Auth |
31
+ |---|---|---|
32
+ | IMAP | `mail.thundermail.com:993` SSL | `password-cleartext` |
33
+ | SMTP | `mail.thundermail.com:465` SSL | `password-cleartext` |
34
+ | SMTP | `mail.thundermail.com:587` STARTTLS | `password-cleartext` |
35
+ | CardDAV | `https://mail.thundermail.com/dav/card` | `http-basic` |
36
+ | CalDAV | `https://mail.thundermail.com/dav/cal` | `http-basic` |
37
+ | WebDAV (files) | `https://mail.thundermail.com/dav/file` | `http-basic` |
38
+
39
+ `clientConfigUpdate` points at `https://autoconfig.tb.pro/mail/config-v1.1.xml`.
40
+ `password-cleartext` means SASL PLAIN **over TLS** — normal, not a red flag.
41
+
42
+ `autoconfig.thunderbird.net/v1.1/thundermail.com` (Mozilla's ISPDB) 404s, so the domain
43
+ self-hosts its autoconfig rather than shipping it through the ISPDB.
44
+
45
+ ### JMAP session document
46
+
47
+ `https://mail.thundermail.com/.well-known/jmap` — served **unauthenticated** with an empty
48
+ `accounts` map, so the per-account capability set may differ once authenticated.
49
+ `implementation: "Stalwart v1.0.0"`.
50
+
51
+ ```
52
+ apiUrl https://mail.thundermail.com:443/jmap/
53
+ downloadUrl https://mail.thundermail.com:443/jmap/download/{accountId}/{blobId}/{name}?accept={type}
54
+ uploadUrl https://mail.thundermail.com:443/jmap/upload/{accountId}/
55
+ eventSourceUrl https://mail.thundermail.com:443/jmap/eventsource/?types={types}&closeafter={closeafter}&ping={ping}
56
+ websocket wss://mail.thundermail.com:443/jmap/ws supportsPush: true
57
+ ```
58
+
59
+ Advertised capabilities:
60
+
61
+ ```
62
+ urn:ietf:params:jmap:core urn:ietf:params:jmap:blob
63
+ urn:ietf:params:jmap:mail urn:ietf:params:jmap:quota
64
+ urn:ietf:params:jmap:submission urn:ietf:params:jmap:sieve
65
+ urn:ietf:params:jmap:vacationresponse urn:ietf:params:jmap:websocket
66
+ urn:ietf:params:jmap:calendars (+ :parse) urn:ietf:params:jmap:filenode
67
+ urn:ietf:params:jmap:contacts (+ :parse) urn:ietf:params:jmap:principals (+ :availability)
68
+ ```
69
+
70
+ Core limits: `maxObjectsInGet` 500, `maxObjectsInSet` 500, `maxCallsInRequest` 16,
71
+ `maxConcurrentRequests` 4, `maxConcurrentUpload` 4, `maxSizeUpload` 50 MB,
72
+ `maxSizeRequest` 10 MB.
73
+
74
+ ### OAuth / OIDC
75
+
76
+ Both `/.well-known/oauth-authorization-server` and `/.well-known/openid-configuration`
77
+ return 200.
78
+
79
+ ```
80
+ issuer https://mail.thundermail.com:443
81
+ authorization_endpoint /authorize/code
82
+ token_endpoint /auth/token
83
+ device_authorization_endpoint /auth/device
84
+ registration_endpoint /auth/register ← dynamic client registration
85
+ introspection_endpoint /auth/introspect
86
+ userinfo_endpoint /auth/userinfo
87
+ jwks_uri /auth/jwks.json
88
+ grant_types authorization_code, implicit, urn:ietf:params:oauth:grant-type:device_code
89
+ ```
90
+
91
+ **Gotcha worth remembering:** `scopes_supported` is
92
+ `openid, offline_access, urn:ietf:params:jmap:core, urn:ietf:params:jmap:mail,
93
+ urn:ietf:params:jmap:submission, urn:ietf:params:jmap:vacationresponse` —
94
+ **no calendars or contacts scope**. OAuth looks mail-only today; CalDAV/CardDAV are
95
+ `http-basic` per autoconfig. Re-check before designing a token-based calendar path.
96
+
97
+ Dynamic client registration means no Azure-style registration wall — contrast C23 Outlook
98
+ Graph, blocked for months on exactly that.
99
+
100
+ ## Specs behind the capabilities
101
+
102
+ | Capability | Spec | Stable? |
103
+ |---|---|---|
104
+ | Core | RFC 8620 | yes |
105
+ | Mail (Mailbox/Email/Thread/EmailSubmission/Identity/VacationResponse) | RFC 8621 | yes |
106
+ | WebSocket | RFC 8887 | yes |
107
+ | Blob management | RFC 9404 | yes |
108
+ | Quotas | RFC 9425 | yes |
109
+ | Sieve scripts | RFC 9661 | yes |
110
+ | Sharing | RFC 9670 | yes |
111
+ | MDN handling | RFC 9007 | yes |
112
+ | **Contacts** | RFC 9610; data format JSContact RFC 9553 | **yes** |
113
+ | **Calendars** | **IETF draft** `draft-ietf-jmap-calendars`; JSCalendar RFC 8984 (2.0 in draft) | **no — draft** |
114
+ | File storage (`filenode`) | **IETF draft** | **no — draft** |
115
+
116
+ Mail and contacts rest on published RFCs; calendars and file storage do not. That asymmetry
117
+ is the main technical reason to stage any implementation rather than do all three at once.
118
+
119
+ Reference: <https://jmap.io/spec/index.html>, Stalwart's writeup at
120
+ <https://stalw.art/blog/jmap-collaboration/>.
121
+
122
+ ## Can I send from my own From address?
123
+
124
+ **Yes — and this is the question that decides whether Thundermail is usable at all, so it
125
+ gets answered before anything else here.**
126
+
127
+ Verified from Thundermail's own support articles (fetched 2026-08-17):
128
+
129
+ - The **15-address cap applies only to `@thundermail.com` / `@tb.pro` addresses.** For a
130
+ custom domain you get **unlimited aliases**. The plan allows 3 custom domains.
131
+ - **Catch-all is supported**: in the Thundermail dashboard under *Custom Domains → Email
132
+ Aliases*, add an alias with the **name field left empty** and your domain selected. Every
133
+ prefix at that domain then funnels into the primary inbox.
134
+ - With a catch-all active you can **send from any prefix without registering it first**.
135
+ Their own worked example is `name+vendor@example.com` "when contacting a specific vendor" —
136
+ which is exactly the per-vendor alias pattern already in use on `bob.ma`
137
+ (`buydig@bob.ma` and friends).
138
+ - *Without* a catch-all, each alias needs its own identity before you can send as it.
139
+
140
+ Caveat they flag themselves: a catch-all attracts dictionary spam to `admin@`, `info@`,
141
+ `help@`, `support@`. Given mailx already has the screener work planned (Phase 4) and a
142
+ DNSBL/reputation path shipped, that is a known-shape problem rather than a blocker.
143
+
144
+ ### What that means for mailx
145
+
146
+ Almost nothing to build. mailx already carries a per-message From identity end to end — the
147
+ draft From-identity round-trip landed in v1.2.201 and threads through all six draft-path
148
+ files. So arbitrary-From on send is a solved problem *client-side*; Thundermail simply has to
149
+ accept it, and per the docs above it does.
150
+
151
+ **Untested, worth checking with a real account:** whether Stalwart's submission service
152
+ validates `MAIL FROM` / the `From:` header against registered identities when a catch-all is
153
+ configured, and whether DKIM signs correctly for a prefix that was never registered. The
154
+ DKIM `d=` would be the custom domain, so signing *should* be fine, but nobody has run it.
155
+ On the JMAP side the equivalent question is whether `Identity/get` returns a wildcard entry
156
+ or whether `EmailSubmission/set` will accept an `identityId` whose email does not match the
157
+ `From`. Both are one test each once an invite arrives.
158
+
159
+ ## The Drive-equivalent problem
160
+
161
+ **The second real gap** (the From-address question above turned out fine). This is why
162
+ Thundermail can't be a drop-in replacement for the Google side of mailx even if JMAP mail
163
+ were finished.
164
+
165
+ mailx does not merely read mail from Google. It uses Google Drive as its *shared
166
+ configuration store* — `accounts.jsonc`, `contacts.jsonc`, `preferences.jsonc`, the
167
+ allowlist, reminders — the cross-machine state that makes desktop and Android agree.
168
+ `docs/config.md` and `packages/mailx-settings/` treat "sharedDir" as a first-class
169
+ dependency, and `cloud.ts` is GDrive-only by deliberate decision (OneDrive/Dropbox were
170
+ removed). Thunderbird Pro has **Send**, which is encrypted file *sharing* — one-shot
171
+ transfers, not a mounted, listable, revisable key-value store. It is not a Drive.
172
+
173
+ Three candidate answers, worst to best:
174
+
175
+ 1. **JMAP `filenode` / WebDAV `/dav/file`.** Stalwart does expose a real file store, and
176
+ `/dav/file` is listable and revisable, so it is technically the closest analogue.
177
+ Against it: `filenode` is an unratified draft, WebDAV means a second client to write and
178
+ a second auth mode (http-basic) to carry, and it binds mailx's config store to a paid
179
+ Thundermail subscription — trading a Google dependency for a Thunderbird one rather than
180
+ removing the dependency.
181
+
182
+ 2. **Keep Google Drive, use Thundermail only for mail.** Works today with zero code and is
183
+ the honest short-term answer, but it means "escape Google" is not actually achieved —
184
+ which is presumably the point of looking at Thundermail at all.
185
+
186
+ 3. **C161 — the `_rmfmail` IMAP folder as the state channel.** *This is the right answer and
187
+ it is already designed.* A hidden per-account IMAP folder holding one message per state
188
+ document, keyed by `X-Rmfmail-State: <name>`, save = delete-and-reappend. It needs no
189
+ Drive, no WebDAV, no draft spec, and no second vendor: it works on **every** IMAP account
190
+ including Thundermail, is naturally per-account, is versioned by APPEND, and rides the
191
+ connection machinery mailx already has. The draft-freshness probe (v1.2.180) already
192
+ proves the search-by-header primitive works.
193
+
194
+ **So the sequencing is: C161 is the prerequisite, not JMAP.** Landing C161 removes the Drive
195
+ dependency for every account type at once; only after that does "add a Thundermail account"
196
+ become a genuine alternative to the Google stack rather than a half-migration. If C161 lands
197
+ and JMAP is implemented later, the state channel keeps working unchanged — `Email/set` into
198
+ a hidden mailbox is the same operation as IMAP APPEND.
199
+
200
+ One caveat to check when C161 is built against Thundermail specifically: Stalwart's behaviour
201
+ for hidden/unsubscribed folders and whether a 30 GB quota plan is comfortable holding state
202
+ documents alongside mail. Both are small, but neither has been tested.
203
+
204
+ ## What this means for mailx
205
+
206
+ ### Mail — works today, zero code
207
+
208
+ IMAP 993 + SMTP 465 through iflow with password auth. An `accounts.jsonc` entry and nothing
209
+ else. No provider work, no OAuth flow, no new transport. If the goal is just "read a
210
+ Thundermail account in mailx", that is the whole job.
211
+
212
+ ### Contacts / calendar — new work either way
213
+
214
+ mailx uses Google Contacts and Google Calendar REST today. Thundermail offers CardDAV and
215
+ CalDAV, for which mailx has no client at all. Adding DAV is the same size of job whether it
216
+ is for Thundermail or any other non-Google account, so scope it as "mailx gets a DAV client",
217
+ not "mailx gets Thundermail support".
218
+
219
+ ### JMAP — the interesting bet
220
+
221
+ One JSON-over-HTTP API covering mail, contacts, calendars, submission, sieve and quota. It
222
+ drops into the existing provider abstraction (`packages/mailx-imap/providers/types.ts`) as a
223
+ third provider next to `gmail-api.ts` and the IMAP path.
224
+
225
+ Why it is more attractive than the IMAP path for mailx's known pain points:
226
+
227
+ - **`supportsPush: true` over WebSocket replaces IDLE outright.** No idle lane, no
228
+ reconnect-on-dead-socket dance (C38), no `connectProgress` narration for a socket that may
229
+ never come back.
230
+ - **No connection-limit problem.** The 5-lane `createClientWithLimit()` semaphore and the
231
+ Dovecot 20-connection ceiling do not apply. `maxConcurrentRequests: 4` is a request budget,
232
+ not sockets.
233
+ - **Transport-agnostic by construction.** Plain fetch + WebSocket, so it works in the browser
234
+ and on Android with no `TransportFactory` injection — the constraint that forced the
235
+ `mailx-imap` / `mailx-store-web` split C125 is trying to unify.
236
+ - **Set-difference sync is native.** `Email/changes` with a state string is exactly the
237
+ identity-based reconciliation model mailx already moved to — no UID-vs-Message-ID mapping,
238
+ no high-water-mark trap.
239
+ - **Server-side search and Sieve** come free rather than as separate IMAP extensions.
240
+
241
+ ### Why not to build it yet
242
+
243
+ 1. Calendars is an unratified draft — the shape can still change.
244
+ 2. OAuth scopes for calendars/contacts are not advertised, so auth for two of the three
245
+ services is unresolved.
246
+ 3. Invite-only beta, so there is no account to test against.
247
+ 4. The Drive-equivalent gap above is unsolved, and C161 (not JMAP) is what solves it.
248
+ 5. JMAP is not Thundermail-specific — Fastmail and any Stalwart deployment speak it — so the
249
+ payoff is broader than one provider, and nothing is tied to Thundermail's launch date.
250
+
251
+ ### If/when you do build it
252
+
253
+ In the order that keeps each step independently useful:
254
+
255
+ 1. **Get a Thundermail account** (waitlist) and add it as a plain IMAP account. Confirms the
256
+ boring path and gives something to test against.
257
+ 2. **Land C161** so the config store stops depending on Drive. Prerequisite, not an aside.
258
+ 3. **`packages/mailx-jmap/`** — session fetch + `Core/echo`, then `Mailbox/get`,
259
+ `Email/query`, `Email/get`, `Email/changes`, implemented against `providers/types.ts` so
260
+ the existing sync orchestration drives it unchanged.
261
+ 4. **WebSocket push** — `wss://…/jmap/ws`; `StateChange` replaces the IDLE lane.
262
+ 5. **`EmailSubmission/set`** for send; the outbox worker's SMTP path becomes
263
+ provider-selected.
264
+ 6. **Contacts** (RFC 9610, stable) before calendars (draft).
265
+ 7. **CalDAV/CardDAV as the fallback** for servers without JMAP — the piece that also serves
266
+ non-Thundermail accounts.
267
+
268
+ Reference implementation to read: `github.com/thunderbird/thunderbird-ios` reportedly carries
269
+ a JMAP client alongside its IMAP one.
270
+
271
+ ## Reproducing the probes
272
+
273
+ ```bash
274
+ curl -sSL https://mail.thundermail.com/.well-known/autoconfig/mail/config-v1.1.xml
275
+ curl -sSL https://mail.thundermail.com/.well-known/jmap | jq .
276
+ curl -sSL https://mail.thundermail.com/.well-known/oauth-authorization-server | jq .
277
+ curl -sSL https://mail.thundermail.com/.well-known/openid-configuration | jq .
278
+ curl -sS -o /dev/null -w '%{http_code} -> %{redirect_url}\n' \
279
+ https://mail.thundermail.com/.well-known/caldav
280
+ ```
281
+
282
+ ## Sources
283
+
284
+ - <https://www.tb.pro/en-US/> — plan, pricing, availability
285
+ - <https://blog.thunderbird.net/2026/06/thundermail-june-2026-update-what-we-learned-after-the-first-few-waves-of-invites/>
286
+ - <https://blog.thunderbird.net/2026/04/thunderbird-pro-april-2026-update/>
287
+ - <https://blog.thunderbird.net/2025/04/thundermail-and-thunderbird-pro-services/> — original announcement
288
+ - <https://stalw.art/blog/jmap-collaboration/> — JMAP calendars/contacts/files in Stalwart
289
+ - <https://stalw.art/docs/collaboration/contact/>
290
+ - <https://jmap.io/spec/index.html> — spec index with RFC numbers
291
+ - <https://support.mozilla.org/en-US/kb/thunderbird-desktop-and-thundermail>
package/index.d.ts CHANGED
@@ -97,6 +97,7 @@ declare const DEFAULT_PREFERENCES: {
97
97
  folderWidth: number;
98
98
  listViewerSplit: number;
99
99
  fontSize: number;
100
+ composeFontSize: number;
100
101
  };
101
102
  sync: {
102
103
  intervalMinutes: number;
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AA0G3H,QAAA,MAAM,SAAS,QAA4E,CAAC;AA0E5F,qFAAqF;AACrF,KAAK,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAE/G,wBAAgB,YAAY,CAAC,EAAE,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAM/D;AAeD,iBAAS,YAAY,IAAI,MAAM,CAgB9B;AAOD,sEAAsE;AACtE,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkDxE;AAED;;;;8BAI8B;AAC9B,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkB9E;AA6BD;;qCAEqC;AACrC,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjF;AAyBD,4CAA4C;AAC5C,wBAAgB,cAAc,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CA+B3L;AAmFD,MAAM,WAAW,gBAAgB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAA;KAAE,CAAC;IAChF,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAA;KAAE,CAAC;CASnF;AAmDD;;;;uEAIuE;AACvE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE9E;AAED;;;;;;;;;;;;4EAY4E;AAC5E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAcpD;AAED;;;0EAG0E;AAC1E,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;qDAEqD;AACrD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,aAAa,CA8DzH;AAMD,QAAA,MAAM,mBAAmB;;eAEE,QAAQ,GAAG,MAAM,GAAG,OAAO;gBAC3B,OAAO,GAAG,QAAQ;;;;;;;;;;;;;;;;;;;;;;;CA8B5C,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,oBAS3B,CAAC;AAEF,QAAA,MAAM,iBAAiB;aACJ,MAAM,EAAE;aACR,MAAM,EAAE;gBACL,MAAM,EAAE;oBAOJ,MAAM,EAAE;oBACR,MAAM,EAAE;CACjC,CAAC;AAIF,2BAA2B;AAC3B,wBAAgB,YAAY,IAAI,aAAa,EAAE,CA4C9C;AAoCD;;;;0CAI0C;AAC1C,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAuBlE;AAED;;;;;;;;;;;;;;;iDAeiD;AACjD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,GAAG,CA8ChF;AAED,2BAA2B;AAC3B;;;oEAGoE;AACpE,wBAAsB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC3E;AAED;;;wEAGwE;AACxE,wBAAgB,QAAQ,IAAI,MAAM,CAWjC;AAED;;4DAE4D;AAC5D,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB1D;AAED;;;;;uEAKuE;AACvE,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB7D;AAED;;;;;;kCAMkC;AAClC,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAa9D;AAED;;;;;0CAK0C;AAC1C,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAYlE;AAED,wEAAwE;AACxE,wBAAgB,eAAe,IAAI,OAAO,mBAAmB,CAkC5D;AAED,uBAAuB;AACvB,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAEhD;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,IAAI,oBAAoB,CAGvD;AAED,iCAAiC;AACjC,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,CAIrE;AAED,2EAA2E;AAC3E,wBAAgB,aAAa,IAAI,OAAO,iBAAiB,CAExD;AAED;;;;kFAIkF;AAClF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,iBAAiB,CAAC,CAgB5E;AAED,4EAA4E;AAC5E,wBAAsB,aAAa,CAAC,IAAI,EAAE,OAAO,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjF;AAgCD;;;oEAGoE;AACpE,wBAAsB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAYtD;AAED;sDACsD;AACtD,wBAAsB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBjE;AAQD,sEAAsE;AACtE,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAahE;AAED;;;mEAGmE;AACnE,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CA+BpF;AAcD,6EAA6E;AAC7E,wBAAgB,YAAY,IAAI,aAAa,CA0B5C;AAyBD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzE;AAED,oCAAoC;AACpC,wBAAgB,YAAY,IAAI,MAAM,CAGrC;AAED,qDAAqD;AACrD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wCAAwC;AACxC,OAAO,EAAE,YAAY,EAAE,CAAC;AAKxB,kDAAkD;AAClD,wBAAgB,eAAe,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAkB5E;AAED;;;mFAGmF;AACnF,wBAAsB,eAAe,CAAC,QAAQ,GAAE,QAAQ,GAAG,UAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB/F;AAED,QAAA,MAAM,gBAAgB,EAAE,aAMvB,CAAC;AAEF,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED,uEAAuE;AACvE,wBAAgB,WAAW,IAAI,OAAO,CAGrC;AAED,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC;AAErG;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDlE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"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"}
package/index.js CHANGED
@@ -701,6 +701,7 @@ const DEFAULT_PREFERENCES = {
701
701
  folderWidth: 220,
702
702
  listViewerSplit: 40,
703
703
  fontSize: 15,
704
+ composeFontSize: 20,
704
705
  },
705
706
  sync: {
706
707
  intervalMinutes: 5,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/mailx-settings",
3
- "version": "0.1.53",
3
+ "version": "0.1.56",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -17,7 +17,7 @@
17
17
  },
18
18
  "license": "ISC",
19
19
  "dependencies": {
20
- "@bobfrankston/mailx-types": "^0.1.46",
20
+ "@bobfrankston/mailx-types": "^0.1.55",
21
21
  "jsonc-parser": "^3.3.1"
22
22
  },
23
23
  "repository": {
@@ -33,7 +33,7 @@
33
33
  },
34
34
  ".transformedSnapshot": {
35
35
  "dependencies": {
36
- "@bobfrankston/mailx-types": "^0.1.46",
36
+ "@bobfrankston/mailx-types": "^0.1.55",
37
37
  "jsonc-parser": "^3.3.1"
38
38
  }
39
39
  }