edde746
7652d060e2
fix(trackers): purge queued writes on session invalidation and lock-order the fallback sweep
...
Queued tracker writes still replayed through the wrong account when the session died by token expiry instead of explicit disconnect: the auth-failure teardown cleared the store and rebound null but never purged the service's retry queue, so rows queued under account A replayed through whichever account connected next. The invalidation callback now purges like the disconnect path, after the rebind so an in-flight failure is dropped by the account-binding check instead of re-queueing behind the purge.
Narrower second hole in the same invariant: removeService swept the in-memory fallback outside the queue lock, so an enqueue whose persist failed while a disconnect raced it re-buffered the row after the sweep and the next flush resurrected it. The fallback add and the fallback sweep both run inside the queue lock now, so lock-slot order covers the buffered store the same way it already covered the persisted one.
2026-08-21 19:23:44 +02:00
..
2026-08-21 19:23:42 +02:00
2026-08-20 13:31:03 +02:00
2026-08-21 19:23:39 +02:00
2026-08-18 04:06:11 +02:00
2026-08-21 19:23:40 +02:00
2026-08-21 19:23:42 +02:00
2026-08-21 19:23:44 +02:00
2026-08-10 20:28:41 +02:00
2026-08-17 20:47:40 +02:00
2026-07-30 11:55:13 +02:00
2026-08-19 18:26:30 +02:00
2026-07-26 04:24:55 +02:00
2026-05-04 22:40:18 +02:00
2026-08-17 19:02:25 +02:00
2026-08-14 13:36:29 +02:00
2026-08-05 06:09:26 +02:00
2026-08-06 03:45:09 +02:00
2026-08-05 06:09:26 +02:00
2026-08-21 19:23:40 +02:00
2026-06-14 13:40:16 +02:00
2026-08-19 13:16:36 +02:00
2026-08-21 19:23:40 +02:00
2026-07-24 03:56:40 +02:00
2026-07-30 20:03:04 +02:00
2026-05-01 01:20:36 +02:00
2026-07-26 06:09:47 +02:00
2026-08-21 19:23:42 +02:00
2026-08-06 03:47:43 +02:00
2026-07-26 06:09:48 +02:00
2026-08-06 03:45:09 +02:00
2026-08-17 19:02:19 +02:00
2026-08-08 09:09:48 +02:00
2026-05-01 01:20:36 +02:00
2026-08-17 19:02:25 +02:00
2026-07-24 03:56:40 +02:00
2026-08-17 19:02:25 +02:00
2026-08-21 19:23:40 +02:00
2026-07-10 19:06:51 +02:00
2026-08-17 19:02:23 +02:00
2026-08-05 06:09:26 +02:00
2026-08-17 19:02:18 +02:00
2026-08-21 19:23:39 +02:00
2026-08-17 22:44:12 +02:00
2026-07-12 08:42:25 +02:00
2026-08-10 15:32:43 +02:00
2026-08-05 06:09:26 +02:00
2026-08-20 02:01:12 +02:00
2026-08-14 13:36:29 +02:00
2026-07-31 21:45:33 +02:00
2026-07-05 15:55:52 +02:00
2026-08-17 19:02:19 +02:00
2026-06-26 00:26:26 +02:00
2026-08-18 06:09:11 +02:00
2026-08-04 04:35:06 +02:00
2026-07-18 20:04:09 +02:00
2026-08-17 19:02:25 +02:00
2026-07-05 14:29:57 +02:00
2026-07-31 21:45:32 +02:00
2026-07-26 06:09:48 +02:00
2026-08-18 20:58:35 +02:00
2026-07-26 06:09:48 +02:00
2026-08-18 04:06:11 +02:00
2026-08-17 13:47:00 +02:00
2026-07-17 23:09:07 +02:00
2026-08-18 19:38:30 +02:00
2026-04-16 23:13:15 +02:00
2026-04-21 12:04:48 +02:00
2026-08-08 09:09:48 +02:00
2026-06-06 11:45:34 +02:00
2026-08-17 19:02:25 +02:00
2026-08-17 19:02:25 +02:00
2026-07-05 19:26:28 +02:00
2026-08-10 21:23:55 +02:00
2026-08-10 23:04:35 +02:00
2026-08-16 08:58:57 +02:00
2026-08-02 16:16:19 +02:00
2026-08-17 19:02:25 +02:00
2026-08-17 19:02:25 +02:00
2026-08-09 07:30:47 +02:00
2026-07-26 06:09:48 +02:00
2026-08-17 19:02:25 +02:00
2026-08-18 09:23:04 +02:00
2026-08-21 19:23:40 +02:00
2026-07-05 15:55:52 +02:00
2026-07-30 01:33:46 +02:00
2026-07-16 14:36:48 +02:00
2026-08-20 05:44:08 +02:00
2026-08-20 05:44:08 +02:00
2026-08-02 04:55:54 +02:00
2026-08-17 19:02:25 +02:00
2026-08-17 19:02:25 +02:00
2026-08-18 06:09:11 +02:00
2026-05-28 15:46:08 -04:00
2026-08-05 12:03:05 +02:00
2026-05-01 01:20:36 +02:00
2026-07-12 08:42:25 +02:00
2026-08-17 19:02:21 +02:00
2026-08-18 06:09:11 +02:00
2026-07-26 06:09:49 +02:00
2026-05-10 13:33:02 +02:00
2026-07-26 06:09:49 +02:00
2026-07-26 06:09:49 +02:00
2026-08-02 04:37:29 +02:00
2026-07-31 21:45:32 +02:00
2026-07-30 02:46:10 +02:00
2026-07-26 19:41:23 +02:00
2026-08-09 10:59:16 +02:00
2026-08-18 06:09:11 +02:00
2026-08-21 19:23:39 +02:00
2026-07-24 03:56:40 +02:00
2026-08-17 19:02:25 +02:00
2026-08-18 06:09:11 +02:00
2026-07-24 03:46:46 +02:00
2026-08-08 09:09:48 +02:00
2026-07-26 06:09:48 +02:00