@bobfrankston/mailx 1.0.13 → 1.0.15
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/README.md +11 -7
- package/bin/mailx.js +8 -2
- package/client/app.js +39 -17
- package/client/components/message-list.js +46 -42
- package/client/components/message-viewer.js +16 -7
- package/client/index.html +20 -18
- package/client/lib/api-client.js +11 -2
- package/client/styles/components.css +20 -25
- package/launcher/bin/mailx-app-linux +0 -0
- package/launcher/bin/mailx-app.exe +0 -0
- package/launcher/builder/build-config.json +11 -0
- package/launcher/builder/postinstall.js +21 -0
- package/package.json +4 -4
- package/packages/mailx-api/index.js +84 -10
- package/packages/mailx-core/index.js +17 -6
- package/packages/mailx-imap/index.d.ts +4 -0
- package/packages/mailx-imap/index.js +37 -4
- package/packages/mailx-store/db.d.ts +1 -1
- package/packages/mailx-store/db.js +14 -4
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Breadcrumbs +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Crashpad/metadata +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Crashpad/settings.dat +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Crashpad/throttle_store.dat +0 -1
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/CrashpadMetrics-active.pma +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/BrowsingTopicsSiteData +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Cache/No_Vary_Search/journal.baj +0 -1
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/DIPS +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/DashTrackerDatabase +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/EdgeJourneys/EdgeJourneys.db +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension Rules/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension Rules/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension Rules/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension Scripts/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension Scripts/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension Scripts/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension State/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension State/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension State/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/ExtensionActivityComp +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/ExtensionActivityEdge +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Favicons +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/History +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/History-journal +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/IndexedDB/devtools_devtools_0.indexeddb.leveldb/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/IndexedDB/devtools_devtools_0.indexeddb.leveldb/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/IndexedDB/devtools_devtools_0.indexeddb.leveldb/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Local Storage/leveldb/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Local Storage/leveldb/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Login Data +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Login Data For Account +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Network/Cookies +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Network/Reporting and NEL +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Network/Trust Tokens +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Network Action Predictor +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Preferences +0 -1
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Safe Browsing Network/Safe Browsing Cookies +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/ServerCertificate +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Session Storage/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Session Storage/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Session Storage/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Shared Dictionary/db +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/SharedStorage +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Shortcuts +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Site Characteristics Database/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Sync Data/LevelDB/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Sync Data/LevelDB/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Sync Data/LevelDB/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Top Sites +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Vpn Tokens +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Web Data +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Web Data-journal +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/WebStorage/QuotaManager +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/WebStorage/QuotaManager-journal +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/heavy_ad_intervention_opt_out.db +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/shared_proto_db/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/shared_proto_db/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/shared_proto_db/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/LOCK +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/LOG +0 -3
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/shared_proto_db/metadata/MANIFEST-000001 +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/DeferredBrowserMetrics/BrowserMetrics-69CAD063-BE24.pma +0 -0
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Local State +0 -1
- package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Variations +0 -1
- package/launcher/bin/mailx-app.old.exe +0 -0
|
@@ -90,7 +90,15 @@ export function createApiRouter(db, imapManager) {
|
|
|
90
90
|
let hasRemoteContent = false;
|
|
91
91
|
let attachments = [];
|
|
92
92
|
const t0 = Date.now();
|
|
93
|
-
|
|
93
|
+
let raw = null;
|
|
94
|
+
try {
|
|
95
|
+
raw = await imapManager.fetchMessageBody(accountId, envelope.folderId, envelope.uid);
|
|
96
|
+
}
|
|
97
|
+
catch (fetchErr) {
|
|
98
|
+
console.error(` [fetch] Failed UID ${uid}: ${fetchErr.message || fetchErr}`);
|
|
99
|
+
// Return envelope with error instead of 500 — user can still see headers
|
|
100
|
+
return res.json({ ...envelope, bodyHtml: "", bodyText: `[Message body unavailable: ${fetchErr.message || "IMAP connection failed"}]`, hasRemoteContent: false, remoteAllowed: false, attachments: [], emlPath: "", deliveredTo: "", returnPath: "", listUnsubscribe: "" });
|
|
101
|
+
}
|
|
94
102
|
const t1 = Date.now();
|
|
95
103
|
if (raw) {
|
|
96
104
|
const parsed = await simpleParser(raw);
|
|
@@ -135,20 +143,31 @@ export function createApiRouter(db, imapManager) {
|
|
|
135
143
|
if (raw) {
|
|
136
144
|
const parsed2 = await simpleParser(raw);
|
|
137
145
|
const hdr = (key) => {
|
|
138
|
-
|
|
146
|
+
let v = parsed2.headers.get(key);
|
|
139
147
|
if (!v)
|
|
140
148
|
return "";
|
|
149
|
+
if (Array.isArray(v))
|
|
150
|
+
v = v[0];
|
|
141
151
|
if (typeof v === "string")
|
|
142
152
|
return v;
|
|
143
|
-
if (typeof v === "object" &&
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
153
|
+
if (typeof v === "object" && v !== null) {
|
|
154
|
+
if ("text" in v)
|
|
155
|
+
return v.text || "";
|
|
156
|
+
if ("value" in v)
|
|
157
|
+
return String(v.value);
|
|
158
|
+
if ("address" in v)
|
|
159
|
+
return v.address || "";
|
|
160
|
+
}
|
|
147
161
|
return String(v);
|
|
148
162
|
};
|
|
149
163
|
deliveredTo = hdr("delivered-to");
|
|
150
164
|
returnPath = hdr("return-path").replace(/[<>]/g, "");
|
|
151
|
-
|
|
165
|
+
// mailparser merges List-* headers into a "list" object
|
|
166
|
+
const listHeaders = parsed2.headers.get("list");
|
|
167
|
+
if (listHeaders?.unsubscribe) {
|
|
168
|
+
const unsub = listHeaders.unsubscribe;
|
|
169
|
+
listUnsubscribe = unsub.url || (unsub.mail ? `mailto:${unsub.mail}` : "");
|
|
170
|
+
}
|
|
152
171
|
}
|
|
153
172
|
const message = {
|
|
154
173
|
...envelope,
|
|
@@ -197,14 +216,57 @@ export function createApiRouter(db, imapManager) {
|
|
|
197
216
|
res.json({ ok: true });
|
|
198
217
|
});
|
|
199
218
|
// ── Search ──
|
|
200
|
-
router.get("/search", (req, res) => {
|
|
219
|
+
router.get("/search", async (req, res) => {
|
|
201
220
|
const q = req.query.q || "";
|
|
202
221
|
const page = Number(req.query.page) || 1;
|
|
203
222
|
const pageSize = Number(req.query.pageSize) || 50;
|
|
223
|
+
const scope = req.query.scope || "all";
|
|
224
|
+
const accountId = req.query.accountId || "";
|
|
225
|
+
const folderId = Number(req.query.folderId) || 0;
|
|
204
226
|
if (!q.trim())
|
|
205
227
|
return res.json({ items: [], total: 0, page, pageSize });
|
|
206
|
-
|
|
207
|
-
|
|
228
|
+
try {
|
|
229
|
+
if (scope === "server" && accountId) {
|
|
230
|
+
// IMAP server search
|
|
231
|
+
const folders = db.getFolders(accountId);
|
|
232
|
+
const folder = folderId ? folders.find(f => f.id === folderId) : folders.find(f => f.specialUse === "inbox");
|
|
233
|
+
if (!folder)
|
|
234
|
+
return res.json({ items: [], total: 0, page, pageSize });
|
|
235
|
+
const criteria = {};
|
|
236
|
+
// Parse qualifiers
|
|
237
|
+
const fromMatch = q.match(/from:(\S+)/i);
|
|
238
|
+
const toMatch = q.match(/to:(\S+)/i);
|
|
239
|
+
const subjectMatch = q.match(/subject:(.+?)(?:\s+\w+:|$)/i);
|
|
240
|
+
const bodyText = q.replace(/(?:from|to|subject):\S+/gi, "").trim();
|
|
241
|
+
if (fromMatch)
|
|
242
|
+
criteria.from = fromMatch[1];
|
|
243
|
+
if (toMatch)
|
|
244
|
+
criteria.to = toMatch[1];
|
|
245
|
+
if (subjectMatch)
|
|
246
|
+
criteria.subject = subjectMatch[1].trim();
|
|
247
|
+
if (bodyText)
|
|
248
|
+
criteria.body = bodyText;
|
|
249
|
+
const uids = await imapManager.searchOnServer(accountId, folder.path, criteria);
|
|
250
|
+
// Fetch envelopes for matching UIDs from local DB
|
|
251
|
+
const items = uids.slice((page - 1) * pageSize, page * pageSize)
|
|
252
|
+
.map(uid => db.getMessageByUid(accountId, uid, folderId))
|
|
253
|
+
.filter(Boolean);
|
|
254
|
+
res.json({ items, total: uids.length, page, pageSize });
|
|
255
|
+
}
|
|
256
|
+
else if (scope === "current" && accountId && folderId) {
|
|
257
|
+
// Search within current folder only
|
|
258
|
+
const result = db.searchMessages(q, page, pageSize, accountId, folderId);
|
|
259
|
+
res.json(result);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
// All folders (default)
|
|
263
|
+
const result = db.searchMessages(q, page, pageSize);
|
|
264
|
+
res.json(result);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
catch (e) {
|
|
268
|
+
res.status(500).json({ error: e.message });
|
|
269
|
+
}
|
|
208
270
|
});
|
|
209
271
|
router.post("/search/rebuild", (req, res) => {
|
|
210
272
|
const count = db.rebuildSearchIndex();
|
|
@@ -354,6 +416,18 @@ export function createApiRouter(db, imapManager) {
|
|
|
354
416
|
res.status(500).json({ error: e.message });
|
|
355
417
|
}
|
|
356
418
|
});
|
|
419
|
+
// ── Direct IMAP delete (for messages not in local DB) ──
|
|
420
|
+
router.delete("/imap/:accountId/:folderPath/:uid", async (req, res) => {
|
|
421
|
+
try {
|
|
422
|
+
const { accountId, uid } = req.params;
|
|
423
|
+
const folderPath = decodeURIComponent(req.params.folderPath);
|
|
424
|
+
await imapManager.deleteOnServer(accountId, folderPath, Number(uid));
|
|
425
|
+
res.json({ ok: true });
|
|
426
|
+
}
|
|
427
|
+
catch (e) {
|
|
428
|
+
res.status(500).json({ error: e.message });
|
|
429
|
+
}
|
|
430
|
+
});
|
|
357
431
|
// ── Drafts ──
|
|
358
432
|
router.post("/draft", async (req, res) => {
|
|
359
433
|
try {
|
|
@@ -154,20 +154,31 @@ export async function getMessage(params) {
|
|
|
154
154
|
}));
|
|
155
155
|
// Extract useful headers for the UI
|
|
156
156
|
const hdr = (key) => {
|
|
157
|
-
|
|
157
|
+
let v = parsed.headers.get(key);
|
|
158
158
|
if (!v)
|
|
159
159
|
return "";
|
|
160
|
+
if (Array.isArray(v))
|
|
161
|
+
v = v[0];
|
|
160
162
|
if (typeof v === "string")
|
|
161
163
|
return v;
|
|
162
|
-
if (typeof v === "object" &&
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
164
|
+
if (typeof v === "object" && v !== null) {
|
|
165
|
+
if ("text" in v)
|
|
166
|
+
return v.text || "";
|
|
167
|
+
if ("value" in v)
|
|
168
|
+
return String(v.value);
|
|
169
|
+
if ("address" in v)
|
|
170
|
+
return v.address || "";
|
|
171
|
+
}
|
|
166
172
|
return String(v);
|
|
167
173
|
};
|
|
168
174
|
deliveredTo = hdr("delivered-to");
|
|
169
175
|
returnPath = hdr("return-path").replace(/[<>]/g, "");
|
|
170
|
-
|
|
176
|
+
// mailparser merges List-* headers into a "list" object
|
|
177
|
+
const listHeaders = parsed.headers.get("list");
|
|
178
|
+
if (listHeaders?.unsubscribe) {
|
|
179
|
+
const unsub = listHeaders.unsubscribe;
|
|
180
|
+
listUnsubscribe = unsub.url || (unsub.mail ? `mailto:${unsub.mail}` : "");
|
|
181
|
+
}
|
|
171
182
|
}
|
|
172
183
|
if (bodyHtml && !allowRemote) {
|
|
173
184
|
const allowList = loadAllowlist();
|
|
@@ -30,6 +30,10 @@ export declare class ImapManager extends EventEmitter {
|
|
|
30
30
|
constructor(db: MailxDB);
|
|
31
31
|
/** Get OAuth access token for an account (for SMTP auth) */
|
|
32
32
|
getOAuthToken(accountId: string): Promise<string | null>;
|
|
33
|
+
/** Delete a message directly on the IMAP server (for stuck outbox messages not in local DB) */
|
|
34
|
+
deleteOnServer(accountId: string, folderPath: string, uid: number): Promise<void>;
|
|
35
|
+
/** Search messages on the IMAP server — returns matching UIDs */
|
|
36
|
+
searchOnServer(accountId: string, mailboxPath: string, criteria: any): Promise<number[]>;
|
|
33
37
|
/** Create a fresh ImapClient for an account (disposable, single-use) */
|
|
34
38
|
private createClient;
|
|
35
39
|
/** Register an account */
|
|
@@ -62,6 +62,33 @@ export class ImapManager extends EventEmitter {
|
|
|
62
62
|
return null;
|
|
63
63
|
return config.tokenProvider();
|
|
64
64
|
}
|
|
65
|
+
/** Delete a message directly on the IMAP server (for stuck outbox messages not in local DB) */
|
|
66
|
+
async deleteOnServer(accountId, folderPath, uid) {
|
|
67
|
+
const client = this.createClient(accountId);
|
|
68
|
+
try {
|
|
69
|
+
await client.deleteMessageByUid(folderPath, uid);
|
|
70
|
+
console.log(` Deleted UID ${uid} from ${folderPath} on server`);
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
try {
|
|
74
|
+
await client.logout();
|
|
75
|
+
}
|
|
76
|
+
catch { /* ignore */ }
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** Search messages on the IMAP server — returns matching UIDs */
|
|
80
|
+
async searchOnServer(accountId, mailboxPath, criteria) {
|
|
81
|
+
const client = this.createClient(accountId);
|
|
82
|
+
try {
|
|
83
|
+
return await client.searchMessages(mailboxPath, criteria);
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
try {
|
|
87
|
+
await client.logout();
|
|
88
|
+
}
|
|
89
|
+
catch { /* ignore */ }
|
|
90
|
+
}
|
|
91
|
+
}
|
|
65
92
|
/** Create a fresh ImapClient for an account (disposable, single-use) */
|
|
66
93
|
createClient(accountId) {
|
|
67
94
|
const config = this.configs.get(accountId);
|
|
@@ -268,9 +295,12 @@ export class ImapManager extends EventEmitter {
|
|
|
268
295
|
for (const [accountId] of this.configs) {
|
|
269
296
|
let client = null;
|
|
270
297
|
try {
|
|
271
|
-
// Fresh client for folder list
|
|
298
|
+
// Fresh client for folder list (30s timeout)
|
|
272
299
|
client = this.createClient(accountId);
|
|
273
|
-
const folders = await
|
|
300
|
+
const folders = await Promise.race([
|
|
301
|
+
this.syncFolders(accountId, client),
|
|
302
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("Folder list timeout (30s)")), 30000))
|
|
303
|
+
]);
|
|
274
304
|
await client.logout();
|
|
275
305
|
client = null;
|
|
276
306
|
// INBOX first so it's available fastest
|
|
@@ -281,11 +311,14 @@ export class ImapManager extends EventEmitter {
|
|
|
281
311
|
return 1;
|
|
282
312
|
return 0;
|
|
283
313
|
});
|
|
284
|
-
// Fresh client per folder — IMAP connections
|
|
314
|
+
// Fresh client per folder with 60s timeout — IMAP connections can hang
|
|
285
315
|
for (const folder of folders) {
|
|
286
316
|
try {
|
|
287
317
|
client = this.createClient(accountId);
|
|
288
|
-
await
|
|
318
|
+
await Promise.race([
|
|
319
|
+
this.syncFolder(accountId, folder.id, client),
|
|
320
|
+
new Promise((_, reject) => setTimeout(() => reject(new Error("Sync timeout (60s)")), 60000))
|
|
321
|
+
]);
|
|
289
322
|
await client.logout();
|
|
290
323
|
client = null;
|
|
291
324
|
}
|
|
@@ -72,7 +72,7 @@ export declare class MailxDB {
|
|
|
72
72
|
useCount: number;
|
|
73
73
|
}[];
|
|
74
74
|
/** Full-text search across all messages. Supports qualifiers: from:, to:, subject: */
|
|
75
|
-
searchMessages(query: string, page?: number, pageSize?: number): PagedResult<MessageEnvelope>;
|
|
75
|
+
searchMessages(query: string, page?: number, pageSize?: number, accountId?: string, folderId?: number): PagedResult<MessageEnvelope>;
|
|
76
76
|
/** Rebuild FTS index from existing messages */
|
|
77
77
|
rebuildSearchIndex(): number;
|
|
78
78
|
/** Queue a local action for later sync to IMAP */
|
|
@@ -375,7 +375,7 @@ export class MailxDB {
|
|
|
375
375
|
}
|
|
376
376
|
// ── Search ──
|
|
377
377
|
/** Full-text search across all messages. Supports qualifiers: from:, to:, subject: */
|
|
378
|
-
searchMessages(query, page = 1, pageSize = 50) {
|
|
378
|
+
searchMessages(query, page = 1, pageSize = 50, accountId, folderId) {
|
|
379
379
|
// Parse qualifiers
|
|
380
380
|
let ftsQuery = "";
|
|
381
381
|
const parts = query.match(/(?:[^\s"]+|"[^"]*")+/g) || [];
|
|
@@ -405,13 +405,23 @@ export class MailxDB {
|
|
|
405
405
|
return { items: [], total: 0, page, pageSize };
|
|
406
406
|
const offset = (page - 1) * pageSize;
|
|
407
407
|
try {
|
|
408
|
-
|
|
408
|
+
let scopeWhere = "";
|
|
409
|
+
const scopeParams = [];
|
|
410
|
+
if (accountId && folderId) {
|
|
411
|
+
scopeWhere = " AND m.account_id = ? AND m.folder_id = ?";
|
|
412
|
+
scopeParams.push(accountId, folderId);
|
|
413
|
+
}
|
|
414
|
+
else if (accountId) {
|
|
415
|
+
scopeWhere = " AND m.account_id = ?";
|
|
416
|
+
scopeParams.push(accountId);
|
|
417
|
+
}
|
|
418
|
+
const countRow = this.db.prepare(`SELECT COUNT(*) as cnt FROM messages m JOIN messages_fts fts ON m.id = fts.rowid WHERE messages_fts MATCH ?${scopeWhere}`).get(ftsQuery, ...scopeParams);
|
|
409
419
|
const total = countRow?.cnt || 0;
|
|
410
420
|
const rows = this.db.prepare(`SELECT m.* FROM messages m
|
|
411
421
|
JOIN messages_fts fts ON m.id = fts.rowid
|
|
412
|
-
WHERE messages_fts MATCH
|
|
422
|
+
WHERE messages_fts MATCH ?${scopeWhere}
|
|
413
423
|
ORDER BY m.date DESC
|
|
414
|
-
LIMIT ? OFFSET ?`).all(ftsQuery, pageSize, offset);
|
|
424
|
+
LIMIT ? OFFSET ?`).all(ftsQuery, ...scopeParams, pageSize, offset);
|
|
415
425
|
const items = rows.map(r => ({
|
|
416
426
|
id: r.id,
|
|
417
427
|
accountId: r.account_id,
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
level=none expiry=0
|
|
Binary file
|
|
Binary file
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Cache/No_Vary_Search/journal.baj
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
$F~
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:48.817 6494 Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Extension Rules/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:48.821 6494 Recovering log #3
|
|
3
|
-
2026/03/30-12:46:48.823 6494 Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Extension Rules/000003.log
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension Rules/MANIFEST-000001
DELETED
|
Binary file
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:49.347 6494 Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Extension Scripts/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:49.351 6494 Recovering log #3
|
|
3
|
-
2026/03/30-12:46:49.353 6494 Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Extension Scripts/000003.log
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension Scripts/MANIFEST-000001
DELETED
|
Binary file
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:49.520 6494 Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Extension State/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:49.525 6494 Recovering log #3
|
|
3
|
-
2026/03/30-12:46:49.529 6494 Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Extension State/000003.log
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Extension State/MANIFEST-000001
DELETED
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-13:02:28.120 1a28 Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\IndexedDB\devtools_devtools_0.indexeddb.leveldb/MANIFEST-000001
|
|
2
|
-
2026/03/30-13:02:28.168 1a28 Recovering log #3
|
|
3
|
-
2026/03/30-13:02:28.190 1a28 Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\IndexedDB\devtools_devtools_0.indexeddb.leveldb/000003.log
|
|
Binary file
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:49.225 c2c Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Local Storage\leveldb/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:49.311 c2c Recovering log #3
|
|
3
|
-
2026/03/30-12:46:49.348 c2c Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Local Storage\leveldb/000003.log
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Local Storage/leveldb/MANIFEST-000001
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"aadc_info":{"age_group":0},"accessibility":{"captions":{"headless_caption_enabled":false}},"account_tracker_service_last_update":"13419318241229246","autocomplete":{"retention_policy_last_version":146},"autofill":{"edge_autofill_advanced_ml_enabled":true,"edge_autofill_purge_low_quality_profiles_by_timeline":false,"last_version_deduped":146},"bookmark":{"storage_computation_last_update":"13419318240722474"},"browser":{"app_window_placement":{"EdgeDevToolsApp":{"always_on_top":false,"bottom":1379,"left":1117,"maximized":false,"right":2917,"top":198,"work_area_bottom":1680,"work_area_left":0,"work_area_right":4096,"work_area_top":0}},"available_dark_theme_options":"All","recent_theme_color_list":[4293914607.0,4293914607.0,4293914607.0,4293914607.0,4293914607.0],"show_toolbar_edge_generic_sidebar_button":false,"user_level_features_context":{}},"browser_content_container_height":1143,"browser_content_container_width":1785,"browser_content_container_x":0,"browser_content_container_y":30,"collections":{"prism_collections":{"policy":{"cached":0}}},"commerce_daily_metrics_last_update_time":"13419318240723076","countryid_at_install":21843,"credentials_enable_service":false,"devtools":{"last_open_timestamp":"13419363747302","preferences":{"closeable-tabs":"{\"security\":true,\"heap-profiler\":true,\"resources\":true,\"lighthouse\":true,\"welcome\":true,\"timeline\":true,\"network\":true,\"cssoverview\":true,\"issues-pane\":true}","cloud-release-notes":"{\"edgeVersion\":146,\"shouldOpenWelcome\":false,\"help\":[{\"title\":\"DevTools documentation\",\"linkId\":\"2196640\",\"localizedAnnouncementKey\":\"helpCard1\",\"iconName\":\"edge-documentation_book_filled\"},{\"title\":\"Overview of all tools\",\"linkId\":\"2196549\",\"localizedAnnouncementKey\":\"helpCard2\",\"iconName\":\"edge-developer-resources\"},{\"title\":\"Use Copilot to explain Console errors\",\"linkId\":\"2257416\",\"localizedAnnouncementKey\":\"helpCard3\",\"iconName\":\"edge-copilot\"},{\"title\":\"Videos about web development with Microsoft Edge\",\"linkId\":\"2196701\",\"localizedAnnouncementKey\":\"helpCard5\",\"iconName\":\"edge-run_command\"},{\"title\":\"Accessibility testing features\",\"linkId\":\"2196801\",\"localizedAnnouncementKey\":\"helpCard6\",\"iconName\":\"edge-documentation_book_filled\"},{\"title\":\"Use the Console tool to track down problems\",\"linkId\":\"2196702\",\"localizedAnnouncementKey\":\"helpCard7\",\"iconName\":\"edge-console\"},{\"title\":\"Modify and debug JS with the Sources tool\",\"linkId\":\"2196900\",\"localizedAnnouncementKey\":\"helpCard8\",\"iconName\":\"edge-sources\"},{\"title\":\"Find source files for a page using the search tool\",\"linkId\":\"2196802\",\"localizedAnnouncementKey\":\"helpCard9\",\"iconName\":\"edge-sources-search-sources-tab\"},{\"title\":\"Microsoft Edge DevTools for Visual Studio Code\",\"linkId\":\"2196901\",\"localizedAnnouncementKey\":\"helpCard10\",\"iconName\":\"edge-help_tooltips\"}],\"releaseNotes\":[],\"header\":{\"localizedKey\":\"highlightsFromTheLatestMicrosoft\",\"title\":\"What's New\"},\"learnHeader\":{\"localizedKey\":\"learnHeader\",\"title\":\"Learn\"},\"allAnnouncementsLinkText\":{\"localizedKey\":\"allAnnouncementsLinkText\",\"title\":\"View all\"},\"whatsNewVideo\":{\"title\":\"What's New in DevTools 115 - 125\",\"subtitle\":\"Check out our video series on the latest and greatest features in DevTools!\",\"linkId\":\"26zDq9Xhz7k\",\"imageName\":\"whats-new-115-125-thumbnail.jpg\",\"imageAltText\":\"A title card for the Microsoft Edge: What's New in DevTools 115 - 125 video\",\"localizedKey\":\"whatsNewVideo\"},\"viewAllLinkId\":\"2353607\",\"localized\":{\"en-US\":{\"panels/edge_welcome/ReleaseNotes.ts | helpCard1\":{\"message\":\"DevTools documentation\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | helpCard2\":{\"message\":\"Overview of all tools\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | helpCard3\":{\"message\":\"Use Copilot to explain Console errors\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | helpCard5\":{\"message\":\"Videos about web development with Microsoft Edge\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | helpCard6\":{\"message\":\"Accessibility testing features\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | helpCard7\":{\"message\":\"Use the Console tool to track down problems\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | helpCard8\":{\"message\":\"Modify and debug JS with the Sources tool\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | helpCard9\":{\"message\":\"Find source files for a page using the search tool\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | helpCard10\":{\"message\":\"Microsoft Edge DevTools for Visual Studio Code\",\"description\":\"Title of a help link in a list of help section.\"},\"panels/edge_welcome/ReleaseNotes.ts | learnHeader\":{\"message\":\"Learn\",\"description\":\"Title text of a header bar in the welcome tool.\"},\"panels/edge_welcome/ReleaseNotes.ts | allAnnouncementsLinkText\":{\"message\":\"View all\",\"description\":\"Title text of a header bar in the welcome tool.\"},\"panels/edge_welcome/ReleaseNotes.ts | highlightsFromTheLatestMicrosoft\":{\"message\":\"What's New\",\"description\":\"Title text of a header bar in the welcome tool.\"},\"panels/edge_welcome/ReleaseNotes.ts | whatsNewVideo\":{\"message\":\"What's New in DevTools 115 - 125\",\"description\":\"Title of a video summarizing the latest release, shown next to a description, above a list of release notes.\"},\"panels/edge_welcome/ReleaseNotes.ts | whatsNewVideoDescription\":{\"message\":\"Check out our video series on the latest and greatest features in DevTools!\",\"description\":\"Description of a video link providing further details\"}}}}","console.sidebar-selected-filter":"\"message\"","console.sidebar.width":"{\"vertical\":{\"size\":0,\"showMode\":\"OnlyMain\"}}","edge-inspector.actions-tab-split-view-state":"{\"vertical\":{\"size\":0,\"showMode\":\"Both\"},\"horizontal\":{\"size\":30,\"showMode\":\"Both\"}}","elements.styles.sidebar.width":"{\"vertical\":{\"size\":0,\"showMode\":\"OnlyMain\"}}","inspector.drawer-split-view-state":"{\"horizontal\":{\"size\":0,\"showMode\":\"Both\"}}","inspectorVersion":"40","last-open-view-in-drawer":"\"console\"","panel-selected-tab":"\"elements\"","release-note-version-seen":"146","styles-pane-sidebar-tab-order":"{\"styles\":10,\"computed\":20}","tools-used":"{\"welcome\":1774878404111,\"console-view\":1774890147737,\"elements\":1774890147986}"},"synced_preferences_sync_disabled":{"adorner-settings":"[{\"adorner\":\"ad\",\"isEnabled\":true},{\"adorner\":\"container\",\"isEnabled\":true},{\"adorner\":\"flex\",\"isEnabled\":true},{\"adorner\":\"grid\",\"isEnabled\":true},{\"adorner\":\"grid-lanes\",\"isEnabled\":true},{\"adorner\":\"media\",\"isEnabled\":false},{\"adorner\":\"popover\",\"isEnabled\":true},{\"adorner\":\"reveal\",\"isEnabled\":true},{\"adorner\":\"scroll\",\"isEnabled\":true},{\"adorner\":\"scroll-snap\",\"isEnabled\":true},{\"adorner\":\"slot\",\"isEnabled\":true},{\"adorner\":\"view-source\",\"isEnabled\":true},{\"adorner\":\"starting-style\",\"isEnabled\":true},{\"adorner\":\"subgrid\",\"isEnabled\":true},{\"adorner\":\"top-layer\",\"isEnabled\":true}]","syncedInspectorVersion":"40"}},"edge":{"bookmarks":{"last_dup_info_record_time":"13419318250728140"},"msa_sso_info":{"allow_for_non_msa_profile":true},"profile_sso_info":{"is_msa_first_profile":true,"msa_sso_algo_state":1},"services":{"signin_scoped_device_id":"58f4690e-1674-401c-bb70-661276e077e6"}},"edge_journeys":{"latest_journeys_count":0},"edge_pinning_campaign":{"precomputed_campaign_data":{}},"edge_rewards":{"cache_data":"CAA=","coachmark_promotions":{},"hva_promotions":[],"hva_webui_action_status_dict":{},"refresh_status_muted_until":"13419923040552290"},"edge_ux_config":{"assignmentcontext":"","dataversion":"0","experimentvariables":{},"flights":{}},"edge_vpn":{"available":true},"edge_wallet":{"passwords":{"password_lost_report_date":"13419318270567466"}},"enterprise_profile_guid":"9ab61e7a-49cb-4cfc-b317-a850e236bb51","extension":{"installed_extension_count":2},"extensions":{"alerts":{"initialized":true},"chrome_url_overrides":{},"last_chrome_version":"146.0.3856.84","microsoft_install_signature":{"expire_date":"2026-06-22","ids":["cgjgjfacjflmgphhhepmbhhbgjieaecn","kfbdpdaobnofkbopebjglnaadopfikhh"],"invalid_ids":[],"salt":"cMEpJmVtBsNmQpFLUZRCOHsVinrGvb4WNRnK2ph3+5o=","signature":"nKoQkD9GBx7Bhyd7Blowo9FUbdSqstdLH6WKwpO50N+4P2mc1j/FHCj/a2Y1Xty6smkgzgEMegS3sTGCKWLcS8GFXZk3k6WNdio174K9zuNGlFcxDSbMqFfIfa7siTmGZE/O/dRNdw7QcOUtKjBJnLzsq+dRtnSssMrPwRoXNNGLwFFB7McFrsdNDPJkcVwloFAmVdkJZxtgM+0+4Wp6VbMLi6hDJRthncydRfiz5ZjgnN3//T5HlMCTTmw4lmjBwztI+HhcIq0t7AxdHRzxvMfhCd245kB63xOsBoxHuVCoyZ9hLSp2CXGpF9aFfe5pOURhMLAIddF3DJEb3rpTcg==","signature_format_version":2,"timestamp":"13419363761233040"},"pdf_upsell_triggered":false,"pinned_extension_migration":true,"pinned_extensions":[]},"fsd":{"retention_policy_last_version":146},"gaia_cookie":{"periodic_report_time_2":"13419318240551913"},"intl":{"selected_languages":"en-US,en"},"language_dwell_time_average":{"en":65.90909090909092},"language_model_counters":{"en":1},"language_usage_count":{"en":11},"media":{"engagement":{"schema_version":5}},"migrated_user_scripts_toggle":true,"muid":{"last_sync":"13419318240722745","values_seen":[]},"optimization_guide":{"hintsfetcher":{"hosts_successfully_fetched":{}},"previously_registered_optimization_types":{"ABOUT_THIS_SITE":true,"AUTOFILL_ACTOR_IFRAME_ORIGIN_ALLOWLIST":true,"GLIC_ACTION_PAGE_BLOCK":true,"HISTORY_CLUSTERS":true,"LOADING_PREDICTOR":true,"MERCHANT_TRUST_SIGNALS_V2":true,"PAGE_ENTITIES":true,"PRICE_INSIGHTS":true,"PRICE_TRACKING":true,"SALIENT_IMAGE":true,"SAVED_TAB_GROUP":true,"SHOPPING_DISCOUNTS":true,"SHOPPING_PAGE_TYPES":true,"V8_COMPILE_HINTS":true}},"password_manager":{"account_store_backup_password_cleaning_last_timestamp":"13419319349909375","account_store_migrated_to_os_crypt_async":true,"profile_store_backup_password_cleaning_last_timestamp":"13419319349910008","profile_store_migrated_to_os_crypt_async":true},"personalization_data_consent":{"personalization_in_context_consent_can_prompt":true,"personalization_in_context_count":0},"prefs":{"tracked_preferences_reset":["schedule_to_flush_to_disk","extensions.settings.cgjgjfacjflmgphhhepmbhhbgjieaecn","extensions.settings.dgiklkfkllikcanfonkcabmbdfmgleag","extensions.settings.kfbdpdaobnofkbopebjglnaadopfikhh","extensions.settings.mhjfbmdgcfjbbpaeojofohoefgiehjai","prefs.preference_reset_time"]},"privacy_sandbox":{"first_party_sets_data_access_allowed_initialized":true},"profile":{"avatar_index":20,"background_password_check":{"check_fri_weight":9,"check_interval":"2592000000000","check_mon_weight":6,"check_sat_weight":6,"check_sun_weight":6,"check_thu_weight":9,"check_tue_weight":9,"check_wed_weight":9,"next_check_time":"13420790644643520"},"content_settings":{"exceptions":{"3pcd_heuristics_grants":{},"abusive_notification_permissions":{},"access_to_get_all_screens_media_in_session":{},"anti_abuse":{},"app_banner":{},"ar":{},"are_suspicious_notifications_allowlisted_by_user":{},"auto_picture_in_picture":{},"auto_select_certificate":{},"automatic_downloads":{},"automatic_fullscreen":{},"autoplay":{},"background_sync":{},"bluetooth_chooser_data":{},"bluetooth_guard":{},"bluetooth_scanning":{},"camera_pan_tilt_zoom":{},"captured_surface_control":{},"clear_browsing_data_cookies_exceptions":{},"client_hints":{},"clipboard":{},"controlled_frame":{},"cookie_controls_metadata":{"file:///*,*":{"last_modified":"13419318242086815","setting":{}},"http://localhost,*":{"last_modified":"13419362809428426","setting":{}}},"cookies":{},"direct_sockets":{},"direct_sockets_private_network_access":{},"display_media_system_audio":{},"disruptive_notification_permissions":{},"durable_storage":{},"edge_ad_targeting":{},"edge_ad_targeting_data":{},"edge_all_file_read_access":{},"edge_browser_action":{},"edge_sdsm":{},"edge_split_screen":{},"edge_tech_scam_detection":{},"edge_u2f_api_request":{},"edge_user_agent_token":{},"fedcm_idp_registration":{},"fedcm_idp_signin":{},"fedcm_share":{},"file_system_access_chooser_data":{},"file_system_access_extended_permission":{},"file_system_access_restore_permission":{},"file_system_last_picked_directory":{},"file_system_read_guard":{},"file_system_write_guard":{},"formfill_metadata":{},"geolocation":{},"geolocation_with_options":{},"hand_tracking":{},"has_migrated_local_network_access":true,"hid_chooser_data":{},"hid_guard":{},"http_allowed":{},"https_enforced":{},"idle_detection":{},"images":{},"important_site_info":{},"initialized_translations":{},"intent_picker_auto_display":{},"javascript":{},"javascript_jit":{},"javascript_optimizer":{},"keyboard_lock":{},"legacy_cookie_access":{},"legacy_cookie_scope":{},"local_fonts":{},"local_network":{},"local_network_access":{},"loopback_network":{},"media_engagement":{"http://localhost:9333,*":{"expiration":"13427154500064324","last_modified":"13419378500064331","lifetime":"7776000000000","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":10}}},"media_stream_camera":{},"media_stream_mic":{},"midi_sysex":{},"mixed_script":{},"nfc_devices":{},"notification_interactions":{},"notification_permission_review":{},"notifications":{},"ondevice_languages_downloaded":{},"password_protection":{},"payment_handler":{},"permission_actions_history":{},"permission_autoblocking_data":{},"permission_autorevocation_data":{},"pointer_lock":{},"popups":{},"protected_media_identifier":{},"protocol_handler":{},"reduced_accept_language":{},"safe_browsing_url_check_data":{},"secure_network":{},"secure_network_sites":{},"sensors":{},"serial_chooser_data":{},"serial_guard":{},"site_engagement":{"http://localhost:9333,*":{"last_modified":"13419363934922476","setting":{"lastEngagementTime":1.3419363934922464e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":15.0,"rawScore":14.961}}},"sleeping_tabs":{},"sound":{},"speaker_selection":{},"ssl_cert_decisions":{},"storage_access":{},"storage_access_header_origin_trial":{},"subresource_filter":{},"subresource_filter_data":{},"suspicious_notification_ids":{},"suspicious_notification_show_original":{},"top_level_storage_access":{},"trackers":{},"trackers_data":{"https://files.constantcontact.com:443,*":{"last_modified":"13419351842036927","setting":{"count":2}},"https://imgssl.constantcontact.com:443,*":{"last_modified":"13419351842037372","setting":{"count":2}},"https://lrsut8qab.cc.rs6.net:443,*":{"last_modified":"13419351842028969","setting":{"count":2}},"https://msedgedevtools.microsoft.com:443,*":{"last_modified":"13419352005728057","setting":{"count":1}},"https://web-extract.constantcontact.com:443,*":{"last_modified":"13419351842037223","setting":{"count":2}}},"tracking_org_exceptions":{},"tracking_org_relationships":{},"typosquatting":{},"unused_site_permissions":{},"usb_chooser_data":{},"usb_guard":{},"vr":{},"web_app_installation":{},"webid_api":{},"webid_auto_reauthn":{},"window_placement":{}},"pref_version":1},"created_by_version":"146.0.3856.84","creation_time":"13419318240457630","default_content_setting_values":{"has_migrated_local_network_access":true},"edge_password_is_using_new_login_db_path":false,"edge_password_login_db_path_flip_flop_count":0,"edge_profile_id":"bffda019-ba0e-4159-8935-f883a0b1dcc1","edge_user_with_non_zero_passwords":false,"exit_type":"Normal","has_seen_signin_fre":false,"is_relative_to_aad":true,"last_engagement_time":"13419363934922463","last_time_obsolete_http_credentials_removed":1774845749.909482,"last_time_password_store_metrics_reported":1774844670.566023,"managed_user_id":"","name":"Profile 1","network_pbs":{},"observed_session_time":{"feedback_rating_in_product_help_observed_session_time_key_146.0.3856.84":720.0},"password_hash_data_list":[],"signin_fre_seen_time":"13419318240535888","were_old_google_logins_removed":true},"reset_prepopulated_engines":false,"safety_hub":{"unused_site_permissions_revocation":{"migration_completed":true}},"saved_tab_groups":{"did_enable_shared_tab_groups_in_last_session":false,"specifics_to_data_migration":true},"sessions":{"event_log":[{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13419320672328210","type":2,"window_count":0},{"crashed":false,"time":"13419347087152422","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13419347563521548","type":2,"window_count":0},{"crashed":false,"time":"13419347571574489","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13419347579717250","type":2,"window_count":0},{"crashed":false,"time":"13419347685023530","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13419347720306874","type":2,"window_count":0},{"crashed":false,"time":"13419348253502621","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13419351181305067","type":2,"window_count":0},{"crashed":false,"time":"13419351333000803","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13419351744186923","type":2,"window_count":0},{"crashed":false,"time":"13419351750736506","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":1,"time":"13419352025755988","type":2,"window_count":1},{"crashed":false,"time":"13419356442725023","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13419356690352810","type":2,"window_count":0},{"crashed":false,"time":"13419361210207579","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":0,"time":"13419362137248419","type":2,"window_count":0},{"crashed":false,"time":"13419362808673195","type":0},{"did_schedule_command":false,"first_session_service":true,"tab_count":1,"time":"13419378500107201","type":2,"window_count":1}],"session_data_status":3},"signin":{"accounts_metadata_dict":{},"allowed":true},"spellcheck":{"dictionaries":["en-US"]},"syncing_theme_prefs_migrated_to_non_syncing":true,"total_passwords_available_for_account":0,"total_passwords_available_for_profile":0,"translate_site_blacklist":[],"translate_site_blocklist_with_time":{},"typosquatting":{"allowlist_migration_done":true},"user_experience_metrics":{"personalization_data_consent_enabled_last_known_value":false},"variations":{"state_reset_on_profile_load":{"timestamp":"13419362808648180"}},"webrtc":{"udp_port_range":"0-0"}}
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:49.611 c2c Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Session Storage/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:49.624 c2c Recovering log #3
|
|
3
|
-
2026/03/30-12:46:49.650 c2c Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Session Storage/000003.log
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Session Storage/MANIFEST-000001
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOCK
DELETED
|
File without changes
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Site Characteristics Database/LOG
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:48.771 2750 Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Site Characteristics Database/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:48.815 2750 Recovering log #3
|
|
3
|
-
2026/03/30-12:46:48.817 2750 Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Site Characteristics Database/000003.log
|
|
Binary file
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:48.772 7358 Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:48.805 7358 Recovering log #3
|
|
3
|
-
2026/03/30-12:46:48.814 7358 Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\Sync Data\LevelDB/000003.log
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/Sync Data/LevelDB/MANIFEST-000001
DELETED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
Binary file
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/WebStorage/QuotaManager-journal
DELETED
|
File without changes
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/heavy_ad_intervention_opt_out.db
DELETED
|
Binary file
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:49.521 1a28 Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\shared_proto_db/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:49.564 1a28 Recovering log #3
|
|
3
|
-
2026/03/30-12:46:49.567 1a28 Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\shared_proto_db/000003.log
|
package/launcher/bin/mailx-app.exe.WebView2/EBWebView/Default/shared_proto_db/MANIFEST-000001
DELETED
|
Binary file
|
|
File without changes
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
2026/03/30-12:46:49.348 1a28 Reusing MANIFEST Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\shared_proto_db\metadata/MANIFEST-000001
|
|
2
|
-
2026/03/30-12:46:49.360 1a28 Recovering log #3
|
|
3
|
-
2026/03/30-12:46:49.363 1a28 Reusing old log Y:\dev\email\mailx\launcher\bin\mailx-app.exe.WebView2\EBWebView\Default\shared_proto_db\metadata/000003.log
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"accessibility":{"captions":{"common_models_path":"","soda_translation_binary_path":""}},"autofill":{"ablation_seed":"7c4MOFhKIeI="},"breadcrumbs":{"enabled":true,"enabled_time":"13419318240448488"},"cloned_install":{"count":2,"first_timestamp":"1774887609","last_timestamp":"1774889208","session_start_last_detection_timestamp":"1774889208"},"default_browser":{"browser_name_enum":13},"desktop_session_duration_tracker":{"last_session_end_timestamp":"1774904900"},"domain_actions_config":"H4sIAAAAAAAAAK2abY/bNhKA/8rCuA9JEWudpE3ucgiCIJdDCzRokEvRA7o9Y0SOpYlJDpekLGmb/PcDbXljx5LW1PZDNmsunxm+DIczQ/85E1IveYPOkcTZiz9nYK0iAYHY+NmL37sGlEvLikQ7ezH7xaj2bWPZ43sF7QcE2c4ezSRrIDN7MfOKTJEJ1rMvj0bp30jihgwewoGrLGymkBoayRoziVNoyMXkIW+ySOBUXsHzjMIUslmRodBOVVxDEGXYZIKbqSKoMBQwbDLHBTo/VUyuKhSV20RJvoQ6EzBFTImKmmxDEjk4NlNHIxwFdMRGlGAMqqlyTIBQRpOcuj9cW4ceTfBWVZMXd1M2E49UWalqqlawNruuSKxLVHaqkH+RL1+bti7Rdav4x6PZliXcOScDGgddUmht/GNsctumOIQT4kBxB9y2RHUbdJ7YzF48/vJoJliiSHSXP5LEd6sfcSPeRDrNdYzAhkxAI3l0YU75bo6HjT3T1HFllmQUGUy9Hmz4pQrf2kLhQGtwasxbnYC+BIeWyYRp1FyuUkDDcVqZ53MBRZux033Sn1crEhOIp89+mAxlWoDPtD8bNijdtHkZHLrG+lcuoX9A0D7TJBx7Xk00h6w6exUEa80mGi674lyoxjyrSwg+cgkjFGxJcdKkQHKetEXgRAZ09ojAbCBpCmBFlTQDUYIDEdClDKuEUNg0NQoqiSk6+Ottcx4hES1QiqFEYiys6AU84jrTQ9HtMJKihiBtIqhwg0ZB7jM622sWqMlQVjAXo1HzCTgWpp501uDWgm2bsPUaQ5LR68qtUsS3hswnSCDM303CunJIO00WnVXYxAwiAeKkLesC2F28kKLGkdcpS3VdkVJ5mhO9rtEkqHCoeYNZfvbpcJWpodVJJ91XhhPG5FsTSvQECXYSsAmCXcCk81Rvs6IUouWx7OGk+w1YSlOwvzcnhQWB1oHX41nFDuoJj2PkHZYrUgHdks2SV6ulrymI8rwY+c1Owr+3Ao58xPFUBgZ2jJ+MD4VNjNnfKyDzEZvw64effUyNjtJAMAVXwd/psUelxLv7fhK8AjFynY2yKxCYM0/Fa9wOfypMDY1UI0bh6+vJWvOxAz7OspPRc4/UHEb5UFMYdRajtCQv2MnRE9AnoMts3755Hxu2PULX4/SMkFSJZ6SrLzhcUYPy7bu3Rzc1hlUsPg3O+Bzah0oSjyz6qBBdeRIZaLjZlr6yT/YvEFKt7y/k3pMZKumeLwEHEr/zJazcfSWQubeEgXQ5YTMG6qpJ25nlU9bijmeBUZYtGpKCjUERYpYNN5XDGnNPAf2ujjDgKPrk7uuC+0bdU+kjDQUuNRSGVu3SYYFNor9QXKM/qnnEhuy7/vljDi3p4ii52jUNEcIBFV6RP46JbluHuKBvjny1vhnsCa7A46Bp2zLUP899jPSPqpT7tiHGkgkOj+dAmSUTZz5oLdEgAuTqqFrs0NMNuoxDp3IQB3K5yb+xcQGiHAlNNBpw8mhDhTTZrlmMXlZ7S9iAquLnq6tXcaQvH2j5uVEPL3afmkYdFqi/GsQe83P14OpKfvfwws/V42eLxWH3I2vYE8uni0XzdLG4usoulo+fLBbNPxaL7BDbGcNtfy23XRt13GlvB/t+//vbxaua5Mso8rDjgQHsu/5TQ/MjUlGGl7vBx4bfSIay+3xxKODAGvYCLp88fdZcXlw+j/8d9j20gX3nBxolVfqziiP+3HgNSj28vCirAo/YWwO41fKK9LJ++fzJ4qL79fH33x/N7ev+3yp7t1P2n6jl889R5cPLi/9uf7k89SjblHaJjVXsYtZwz6L6Ey1NSgWVdDH3c+3NPLpwWIMGukGZIqLH654H5mSKOTZ2yAn0E0nZaR0fDcl7nKMFVxgcvLH78kiJFlNKLcIhBJyWeEpcoZHoHNxwUror0VNh0E1Uy6YAJ01aii0rsY7/Ck6h7s62ehiHOI8/BCo196woAKUVYrvs8mwj2/X3rZHd4UtRRgXPa3Q5ggu0RnW+2khy/gmDt1WehFnHK0rTZB1rTiCMDxDf6lKWQpFZoyRzvprUhzMN9rrC4Zimp3TaJWRnA1Pf5sBanyU/BFo0DkjF8iAkvTFxFXIHd4RHfbXeBtXYVwhOK4sITpSZgU2ax+i4FkpO8hkT33rXvKEkPxPtO15H2zspajvbQnxgBwUmb7bfiIT3V98Ww9FyXzFXlPGxstp+E+jeldAzibvqO3/d22gLWieXnUOV9jjaFXQzhWn3nAUX4oWayvmSbZY/yaeAtWPWyaDCAkRbIqhQpribHJTCELwoK4VzRqdoHe/J8ux9JwXGr9sUpRoKEnMVk4a76vM/mcN8nrx+28XXH1uLu78fxPC3qkaI3op/5dEtoYhF/7S4/U3pWOOvr4/CDsd1VwmfPZpZCOVSw/bp4PfZpQCH6ObSIWh0l/H7Y5ezP3oXrk+2J1VyhSHgPJ64QQvpY3Wb1e3N+BetDrhuDVEW+JHXaD6gVSBQozlM307XssZ8Gb9ps+pWLvWpwrG2J7G/QylprEDfSwVUWDiwJRlJI0+/p3QgjZ5XO277c9uSIsJWvkRTxBslddhRleHaYJ2kcZskcWXZODCUStYlK/Sssa1GosN+FvxaAamkJY6cB605p9Eno14QRQUb8kkKq5vM2yoYWm8X1lUpCo3cfpM2bZCKtAUnCEaeiPtRyxtwaHidOEz0ASTwaBn3lGTVWFiTD2Ay9lkQZx+T+AWR1G1glTi8rYU15HMwYw98J5yuQgVqVRmZgaTQQk5OgQBLIX1Hznhh7OXOyLj6QY3eoynGgqOfjGBNpngDSh1vS8+36YZe2vbKO39vd58PbtVvtHT9qGtdith80H0n8LWR/dxO/hKMXH4j4vgi+fJ/9taiTbswAAA=","edge":{"manageability":{"edge_last_active_time":"13419363938345282"},"mitigation_manager":{"renderer_app_container_compatible_count":2},"retrigger_features":[],"tab_stabs":{"closed_without_unfreeze_never_unfrozen":0,"closed_without_unfreeze_previously_unfrozen":0,"discard_without_unfreeze_never_unfrozen":0,"discard_without_unfreeze_previously_unfrozen":0},"tab_stats":{"frozen_daily":0,"unfrozen_daily":0}},"edge_ci":{"metrics_bookmark":"\u003CBookmarkList>\r\n\u003C/BookmarkList>","num_healthy_browsers_since_failure":11},"hardware_acceleration_mode_previous":true,"identity_combined_status":{"aad":1,"ad":1},"legacy":{"profile":{"name":{"migrated":true}}},"local":{"password_hash_data_list":[]},"network_time":{"network_time_mapping":{"local":1.774889210469219e+12,"network":1.774889209e+12,"ticks":389793160044.0,"uncertainty":1670502.0}},"optimization_guide":{"model_execution":{"last_usage_by_feature":{}},"model_store_metadata":{},"on_device":{"last_version":"146.0.3856.84","model_crash_count":0}},"os_crypt":{"audit_enabled":true,"encrypted_key":"RFBBUEkBAAAA0Iyd3wEV0RGMegDAT8KX6wEAAAC0g/etA6mdQoRB8Y26qq2iEAAAAB4AAABNAGkAYwByAG8AcwBvAGYAdAAgAEUAZABnAGUAAAAQZgAAAAEAACAAAAA9rSRW+YKTbrF6NK7S3kM3w1+SLuyByQiLzPCuZbuVngAAAAAOgAAAAAIAACAAAAC2bKLzX0jHLKi46EZPdOcY5tFSF2ClCOT8Pg/9oyYhajAAAACKxk2GXcVpE66fqz/wUzBNLlJubzWPN0LSSnsgIhgMJRJ5h+bstyCZaKBl2Yrz6IVAAAAAjg4cdfPEdGkoRiwsWGjGrYrxiJF+c124E3EQo5rfdRXBwdgo+UxHhnI29Wh9rqGBnLk9jkcSB5Ez1aTi3ypfvg=="},"performance_intervention":{"last_daily_sample":"13419318240613691"},"phoenix":{"user_laf_toggle_state_static":2},"policy":{"last_statistics_update":"13419318240445758"},"profile":{"info_cache":{"Default":{"active_time":1774904899.912184,"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_20","background_apps":false,"edge_account_cid":"","edge_account_environment":0,"edge_account_environment_string":"","edge_account_first_name":"","edge_account_last_name":"","edge_account_oid":"","edge_account_sovereignty":0,"edge_account_tenant_id":"","edge_account_type":0,"edge_create_profile_shortcut":false,"edge_non_signin_profile_type":1,"edge_profile_can_be_deleted":true,"edge_profile_can_be_edited":true,"edge_test_on_premises":false,"edge_wam_aad_for_app_account_type":0,"enterprise_label":"","force_signin_profile_locked":false,"gaia_given_name":"","gaia_id":"","gaia_name":"","hosted_domain":"","is_consented_primary_account":false,"is_ephemeral":false,"is_glic_eligible":false,"is_managed":0,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","metrics_bucket_index":1,"name":"Profile 1","signin.with_credential_provider":false,"user_name":""}},"last_active_profiles":[],"metrics":{"next_bucket_index":2},"profile_counts_reported":"13419318240199996","profiles_order":["Default"]},"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"profiles":{"edge":{"guided_switch_pref":[],"multiple_profiles_with_same_account":false},"edge_sso_info":{"msa_first_profile_key":"Default","msa_sso_algo_state":1},"signin_last_seen_version":"146.0.3856.84","signin_last_updated_time":1774844640.597125},"sentinel_creation_time":"0","session_id_generator_last_value":"746888710","signin":{"active_accounts_last_emitted":"13419318240192557"},"startup_boost":{"last_browser_open_time":"13419378500242261"},"subresource_filter":{"ruleset_version":{"checksum":860988201,"content":"10.34.0.81","format":37}},"tab_stats":{"discards_expired":0,"discards_external":0,"discards_proactive":0,"discards_urgent":0,"last_daily_sample":"13419318240385917","max_tabs_per_window":1,"reloads_expired":0,"reloads_external":0,"reloads_urgent":0,"total_tab_count_max":2,"window_count_max":2},"telemetry_client":{"cloned_install":{"user_data_dir_id":8554438},"governance":{"last_dma_change_date":"13419318240365580","last_known_cps":0},"host_telclient_path":"QzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxNaWNyb3NvZnRcRWRnZVdlYlZpZXdcQXBwbGljYXRpb25cMTQ2LjAuMzg1Ni44NFx0ZWxjbGllbnQuZGxs","sample_id":83918884},"uninstall_metrics":{"installation_date2":"1774844639"},"updateclientdata":{"apps":{"eeobbhfgfagbclfofmgbdfoicabjdbkn":{"cohort":"","cohortname":"","fp":"","installdate":-1,"max_pv":"0.0.0.0","pv":"1.0.0.10"},"efniojlnjndmcbiieegkicadnoecjjef":{"cohort":"","cohortname":"","installdate":-1},"fgbafbciocncjfbbonhocjaohoknlaco":{"cohort":"","cohortname":"","fp":"","installdate":-1,"max_pv":"0.0.0.0","pv":"2026.3.23.1"},"fppmbhmldokgmleojlplaaodlkibgikh":{"cohort":"","cohortname":"","fp":"","installdate":-1,"max_pv":"0.0.0.0","pv":"1.15.0.1"},"jbfaflocpnkhbgcijpkiafdpbjkedane":{"cohort":"","cohortname":"","installdate":-1},"kpfehajjjbbcifeehjgfgnabifknmdad":{"cohort":"","cohortname":"","fp":"","installdate":-1,"max_pv":"0.0.0.0","pv":"120.0.6050.0"},"laoigpblnllgcgjnjnllmfolckpjlhki":{"cohort":"","cohortname":"","installdate":-1},"ndikpojcjlepofdkaaldkinkjbeeebkl":{"cohort":"","cohortname":"","fp":"","installdate":-1,"max_pv":"0.0.0.0","pv":"10.34.0.81"},"oankkpibpaokgecfckkdkgaoafllipag":{"cohort":"","cohortname":"","fp":"","installdate":-1,"max_pv":"0.0.0.0","pv":"6498.2025.9.4"},"ohckeflnhegojcjlcpbfpciadgikcohk":{"cohort":"","cohortname":"","fp":"","installdate":-1,"max_pv":"0.0.0.0","pv":"0.0.1.7"},"ojblfafjmiikbkepnnolpgbbhejhlcim":{"cohort":"","cohortname":"","installdate":-1},"pghocgajpebopihickglahgebcmkcekh":{"cohort":"","cohortname":"","fp":"","installdate":-1,"max_pv":"0.0.0.0","pv":"3.0.0.16"}}},"updateclientlastupdatecheckerror":0,"updateclientlastupdatecheckerrorcategory":0,"updateclientlastupdatecheckerrorextracode1":0,"user_experience_metrics":{"chrome_download_action_count":0,"client_id2":"{F3017226-FE2A-4295-8BDF-00C3A9A7E4C5}C:\\Users\\Bob1s:EEEB1F6B-87F7-49E6-AC8C-6EC5664175F4","client_id_timestamp":"1774889208","diagnostics":{"last_data_collection_level_on_launch":3},"initial_logs2":[],"last_seen":{"CrashpadMetrics":"13419356689716854"},"limited_entropy_randomization_source":"48F5D1E845C6D0986EF5D1C4E653D4A0","log_finalized_record_id":6,"log_record_id":4,"low_entropy_source3":5854,"machine_id":13342739,"ongoing_logs2":[],"payload_counter":4,"pseudo_low_entropy_source":5891,"reporting_enabled":true,"reset_client_id_deterministic":true,"reset_metrics_ids":true,"session_id":15,"stability":{"browser_last_live_timestamp":"13419378500278531","exited_cleanly":true,"saved_system_profile":"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","saved_system_profile_hash":"4F774B8A2088F0FC422A3318EFB264565CF7AC21","stats_buildtime":"1774479459","stats_version":"146.0.3856.84-64","system_crash_count":0},"unsent_log_metadata":{"initial_logs":{"sent_samples_count":0,"unsent_persisted_size_in_kb":0,"unsent_samples_count":0},"ongoing_logs":{"sent_samples_count":0,"unsent_persisted_size_in_kb":0,"unsent_samples_count":0}}},"variations":{"state_reset":{"timestamp":"13419362808428996"}},"variations_compressed_seed":"H4sIAAAAAAAAAJVWbW/iOBD+K5W/XlzFeYfTfWh5aVHLLltgW+m2qkwypN46Nms7UK7iv58cUwq9ou7xAWXGzzPzzHjs5AX1OmPUfkEdzkCYjhRzVtaKGibFdFFQA70lCGMRXeCGXsuyJ+iMQ4Hac8o1eKhfcz4Gc3ylr+BXDSJfozbx/Y2Hes85rwvoPRtQgnKXdFDogbiWJWobVYOHnPdalhOqSjCojaAo4UEbmwPZKEUJDmTVXTHOxytm8scuNXSq+JBVMFkvYEQVrcCAGinQoJZNaZZRMG1D9YGaWoFG7b/Rb1HvNx7qOu61zCn/AmYl1dNZnoPWnUfIn45EP4LWTcTVMhhTUczk8xH2QEtODWxBUAzmVpzel9NnHMZrbaDaC8+ZNkdCvsd3mYLcSLUeGHAjcM6li+DqsrncJt9+D86KglkM5SMlLd1uARQT4FCBUWubFMT7nJW+hdl3BqvP+TbbuMgfXcZj4ewYWFQD/zYddCxw8bpzFvSCBK0AtVH+SIUAjjy0pLy2nj7aeLtlWMj8cW8x9N1vH6PAKCp0xUwzhw9SPKyYggfDKpC1eagY50xDLkWh90IFNooV+HUJSrECpldDfayi6VN1IZf2aIgcru323XtHKmrArzEb6FvOIcuV1HJuTvtMaTOiyqy303djD6Q2N6BrbjzikfjPQ3nNoT8q0K2ecS5Xn8lroJ8KvIXZuZIrDep0pKSRs3p+Or0anrrhHCk5Zxw83+r8DZKhRp9ey3JsqDKe70X/h9SR1YKDgYbnmrKbyJFcjKldbv6ZKI81qC9VDjvaDu2hStsLDbSZCjaXquoybRSb1fYcXDJtZKlodbyfpZL1ItjJOBiw/SktYE5rbi4s/CP0Abh+qo6GvN9sL9pmhG5q8Xbh9qqFWX+89N+WAMxVjppoYygrEGZ3DfeVFIaBOqsLBiK3mb9IYYUMzwZnnKM2al4nyEO3t71Dh84X89p6/Oa5rKkqXo0lqOZxGCZxRyo4ZHakMCDMGNSS5aDf5YHZ3eTQdc5EeeixpR96dlM21Tb31r/x0CXQotnJF9Sb0BK10Q80uvtjOVGdbt2/e5r+XEyTX0GvXo78afzPMF1cRDc/Z+TbZby6en766wey+Z4XrOkmGkrhnYT+yZCqk8APkhOStqOkHbVOLoaTprZaGLXuyMI2czpGHrLjXeutp7mMXl+wg67TZb8C0AjfYJLGJE58TDDxGtvPgjhtbOvo4igIswwHOEGH7+Atu0VaSYRDHDt2GiZxRHD8aockjjKCCc6cHUeEpAQnuLW1gyzwfRziyNmEhHFIcLRdT7IojXALk8CZJPATHEQ4CJ3tJyTFGQ6c9igO0xBnOEvRx2PsNPtpnCUxjnCG3s/ntiiSpCTExMfEd7KiNPRJ8lYGiVutLMbktUxCwhaJcRC7rtkkrSwMI0xw4pQmfpphgsOdle7YiZ9lASbY1RiFfhbsGhoFaWSjBGiz+Re/tfIzvQkAAA==","variations_country":"US","variations_crash_streak":0,"variations_failed_to_fetch_seed_streak":0,"variations_google_groups":{"Default":[]},"variations_last_fetch_time":"13419362811355811","variations_last_runtime_fetch_time":"13419362811356285","variations_permanent_consistency_country":["146.0.3856.84","US"],"variations_runtime_compressed_seed":"H4sIAAAAAAAAAG2PQWvCQBCF/8ucM7izs9nsBnqKEQs92LRCoPaQdrcq1ihJRI3kvxez7a3H730P3swNskP9tV0/TltIYYEFkrAsVYyEkqIQGC0UEnIycmJYaCQkE5C1HDFYzaRjVCj1iDFLxSgxSCWEZeQ/ySZRChO0wTIZa1FaVNZGC5wiUWw0KZSofi9hk2iBEklABLlb++JUd9u9D09AeoN8f+yu/xpfVx/ffuar7tT4FtI38L75hPdhiGDuK+eb9l7LDqe6a67ZwXlIYflyH3qt1pDCCub9ZXeekWqfeXnZlMXONZvqMjlO3LnP+lJuS1clPH/KC/OwAhiGH4atSSVfAQAA","variations_runtime_config_ids":"P-R-1093245-1-21,P-R-108604-1-37,P-R-78306-1-18,P-R-73626-1-17,P-R-63165-4-26,P-R-53243-2-7,P-R-40093-3-26,P-R-38744-7-97,P-R-31899-29-499,P-D-1158614-2-4,P-R-1038760-2-10","variations_seed_client_version_at_store":"146.0.3856.84","variations_seed_date":"13419362809000000","variations_seed_milestone":146,"variations_seed_runtime_etag":"\"HzxkwF14sQ3UxhXRkdrhax/p/dwzCzX2iXda73HLER8=\"","variations_seed_runtime_serial_number":"\"HzxkwF14sQ3UxhXRkdrhax/p/dwzCzX2iXda73HLER8=\"","variations_seed_serial_number":"\"PX+vTrCDuFXkUjpU6q2EuvP0U5zM7pG4Rjb1QH5wKxk=\"","variations_seed_signature":"","was":{"restarted":false}}
|