zarzet
e85151643f
fix(extensions): serialize storage/credential/salt file writes across runtimes
...
Each isolated download runtime carried its own storage write mutex, so
two concurrent downloads through the same extension could interleave
writes to the shared storage file, the encrypted credentials file, or -
worst - both generate different credential salts, making the loser's
credentials undecryptable. Guard all three files with a process-wide
per-path mutex and write via temp file + rename so readers never see a
torn file. Groundwork for concurrent downloads.
2026-07-10 10:18:00 +07:00
..
2026-07-02 01:24:21 +07:00
2026-07-02 01:24:21 +07:00
2026-06-23 02:44:08 +07:00
2026-05-04 02:21:17 +07:00
2026-06-26 22:57:03 +07:00
2026-04-13 23:32:12 +07:00
2026-03-26 01:11:29 +07:00
2026-05-10 23:18:32 +07:00
2026-06-12 21:10:37 +07:00
2026-05-03 14:12:53 +07:00
2026-04-18 23:32:16 +07:00
2026-05-06 00:04:49 +07:00
2026-06-02 00:58:42 +07:00
2026-06-02 00:58:42 +07:00
2026-05-04 02:21:17 +07:00
2026-06-12 21:10:37 +07:00
2026-05-04 02:21:17 +07:00
2026-07-10 10:12:14 +07:00
2026-04-13 23:32:14 +07:00
2026-03-15 21:12:47 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:17 +07:00
2026-05-04 02:21:17 +07:00
2026-07-10 10:12:18 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:17 +07:00
2026-05-04 02:21:17 +07:00
2026-07-10 10:12:17 +07:00
2026-07-01 03:19:02 +07:00
2026-06-02 00:58:40 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:17 +07:00
2026-06-28 06:05:48 +07:00
2026-06-30 06:20:10 +07:00
2026-05-04 02:21:17 +07:00
2026-06-26 22:39:22 +07:00
2026-06-26 22:57:03 +07:00
2026-05-03 14:12:53 +07:00
2026-07-10 10:12:17 +07:00
2026-05-05 03:55:24 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:17 +07:00
2026-06-02 00:58:42 +07:00
2026-07-10 10:12:17 +07:00
2026-07-10 10:12:18 +07:00
2026-06-11 01:08:20 +07:00
2026-06-26 22:57:03 +07:00
2026-05-15 04:37:25 +07:00
2026-06-26 22:57:03 +07:00
2026-05-08 01:06:48 +07:00
2026-04-13 23:32:17 +07:00
2026-04-29 18:33:44 +07:00
2026-04-13 23:32:17 +07:00
2026-07-10 10:18:00 +07:00
2026-07-10 10:12:14 +07:00
2026-05-15 04:37:25 +07:00
2026-07-10 10:18:00 +07:00
2026-03-08 04:15:28 +07:00
2026-07-10 10:11:12 +07:00
2026-07-10 10:12:18 +07:00
2026-07-10 10:12:13 +07:00
2026-05-08 01:06:48 +07:00
2026-05-03 14:12:53 +07:00
2026-06-26 18:35:32 +07:00
2026-06-26 18:35:32 +07:00
2026-06-26 20:26:43 +07:00
2026-06-26 20:26:43 +07:00
2026-04-13 23:35:03 +07:00
2026-06-27 06:35:32 +07:00
2026-06-27 06:35:32 +07:00
2026-06-27 06:35:32 +07:00
2026-04-13 23:32:14 +07:00
2026-05-08 20:35:41 +07:00
2026-04-13 23:32:12 +07:00
2026-06-26 22:39:22 +07:00
2026-05-04 02:21:17 +07:00
2026-04-13 23:32:15 +07:00
2026-06-27 06:35:32 +07:00
2026-06-30 09:13:55 +07:00
2026-05-06 00:04:49 +07:00
2026-06-27 06:35:32 +07:00
2026-06-27 06:35:32 +07:00
2026-05-12 02:23:04 +07:00
2026-06-30 09:13:55 +07:00
2026-06-29 06:47:04 +07:00
2026-06-14 15:00:34 +07:00
2026-04-13 23:32:12 +07:00
2026-05-10 22:14:47 +07:00
2026-07-10 10:12:14 +07:00
2026-07-10 10:12:17 +07:00
2026-05-04 02:21:17 +07:00
2026-03-08 04:15:28 +07:00
2026-02-19 18:27:14 +07:00
2026-02-19 18:27:14 +07:00
2026-06-27 06:35:32 +07:00
2026-04-18 23:32:16 +07:00
2026-05-06 12:08:53 +07:00
2026-05-06 12:08:53 +07:00
2026-03-08 04:15:28 +07:00
2026-04-13 23:32:14 +07:00
2026-04-13 23:32:15 +07:00
2026-04-13 23:35:03 +07:00
2026-04-18 23:32:16 +07:00
2026-05-06 00:04:49 +07:00
2026-06-02 00:58:40 +07:00
2026-06-26 22:57:03 +07:00