rocky
d6b614b8be
refactor(concurrency): isolate ProviderConfig to the main actor and drop unneeded @unchecked Sendable
...
- ProviderConfig is now @MainActor instead of @unchecked Sendable; AppL10n reads the persisted UI language key directly so off-main string lookups stay valid.
- EnglishLearningStore serializes its read-modify-write with a type-wide lock (several instances share one defaults key).
- URLSession-only transports, GatewayGrantKeychainStore and Keychain conform to Sendable without @unchecked. UserDefaults/DeviceCheck wrappers keep @unchecked because those SDK types are not Sendable.
2026-10-20 23:00:12 +02:00
..
2026-09-18 17:31:29 -07:00
2026-08-27 18:01:46 +08:00
2026-09-18 17:31:29 -07:00
2026-08-13 15:47:32 +08:00
2026-09-18 17:31:29 -07:00
2026-08-11 01:06:27 +08:00
2026-08-29 11:51:21 +08:00
2026-08-20 11:43:21 +08:00
2026-08-05 21:39:31 +08:00
2026-07-12 16:24:59 +08:00
2026-09-25 12:14:29 +08:00
2026-06-23 00:46:58 +08:00
2026-08-05 21:39:31 +08:00
2026-08-20 11:43:21 +08:00
2026-08-11 02:49:54 +08:00
2026-09-18 17:31:29 -07:00
2026-07-10 12:39:41 +08:00
2026-08-20 11:43:21 +08:00
2026-10-20 20:05:21 +02:00
2026-08-16 12:07:06 +08:00
2026-08-10 13:50:50 +08:00
2026-07-27 00:09:30 +08:00
2026-09-18 17:31:29 -07:00
2026-08-07 11:32:31 +08:00
2026-07-29 17:45:11 +08:00
2026-08-11 01:06:27 +08:00
2026-08-23 14:02:33 +08:00
2026-07-11 19:10:20 +08:00
2026-08-25 13:42:00 +08:00
2026-08-05 21:39:31 +08:00
2026-09-18 17:31:29 -07:00
2026-08-13 01:00:51 +08:00
2026-07-09 08:55:37 +08:00
2026-08-13 01:00:51 +08:00
2026-09-18 17:31:29 -07:00
2026-08-05 21:39:31 +08:00
2026-08-05 21:39:31 +08:00
2026-08-23 14:02:33 +08:00
2026-08-25 13:42:00 +08:00
2026-08-20 11:43:21 +08:00
2026-07-10 12:39:41 +08:00
2026-08-05 21:39:31 +08:00
2026-08-05 21:39:31 +08:00
2026-09-18 17:31:29 -07:00
2026-07-26 12:34:43 +08:00
2026-10-20 23:00:12 +02:00
2026-08-22 16:33:18 +08:00
2026-08-05 21:39:31 +08:00
2026-09-18 17:31:29 -07:00
2026-07-10 12:39:41 +08:00
2026-08-22 16:33:18 +08:00
2026-08-20 11:43:21 +08:00
2026-08-10 13:50:50 +08:00
2026-09-18 17:31:29 -07:00
2026-09-18 17:31:29 -07:00
2026-08-10 13:50:50 +08:00
2026-08-11 01:06:27 +08:00
2026-08-20 11:43:21 +08:00