pewdiepie-archdaemon
e0e250d023
Calendar: cross-session delete sync — 404 = success, refetch on tab focus
...
A stale event deleted on one device stayed undeletable on every other
session: the cached row showed up, the DELETE call returned 404 (server
already removed it), the optimistic catch-block restored the row, and
the user could never clear it.
- Treat HTTP 404 on DELETE as success — the event is already gone,
which is the state we wanted. Skip the optimistic restore.
- Re-fetch the visible range on document `visibilitychange` (mobile
app returns to foreground) and on window `focus` (desktop alt-tab),
throttled to once per 10s so rapid tab-flipping doesn't hammer the
API. Without a focus refresh, mobile only got fresh server state at
page-load and lived on stale data until a full reload.
2026-06-05 17:05:04 +09:00
..
2026-06-03 14:16:58 +09:00
2026-06-03 00:30:03 +09:00
2026-06-04 20:52:41 +02:00
2026-06-03 13:34:25 +09:00
2026-06-04 20:47:47 +02:00
2026-06-03 14:17:02 +09:00
2026-06-04 03:05:37 +01:00
2026-06-04 20:41:35 +02:00
2026-06-03 08:57:47 +09:00
2026-06-01 22:04:00 +02:00
2026-06-05 14:41:54 +09:00
2026-06-02 12:42:15 +09:00
2026-06-05 17:05:04 +09:00
2026-06-03 14:16:55 +09:00
2026-06-05 00:06:37 +02:00
2026-06-04 20:49:37 +02:00
2026-05-31 23:58:26 +09:00
2026-06-04 20:52:41 +02:00
2026-05-31 23:58:26 +09:00
2026-06-04 23:27:18 +09:00
2026-06-03 20:25:25 +09:00
2026-06-04 23:27:18 +09:00
2026-06-03 20:25:25 +09:00
2026-06-03 13:23:35 +09:00
2026-06-05 14:41:43 +09:00
2026-06-05 14:41:43 +09:00
2026-06-05 14:41:43 +09:00
2026-06-05 02:28:42 +02:00
2026-06-05 14:41:54 +09:00
2026-05-31 23:58:26 +09:00
2026-06-02 11:42:20 +09:00
2026-06-03 08:12:47 +09:00
2026-05-31 23:58:26 +09:00
2026-06-05 02:28:42 +02:00
2026-06-01 14:23:22 -04:00
2026-06-04 14:02:52 +01:00
2026-05-31 23:58:26 +09:00
2026-05-31 23:58:26 +09:00
2026-06-04 20:49:37 +02:00
2026-06-02 23:31:09 +09:00
2026-06-02 11:12:54 +09:00
2026-06-03 13:29:21 +09:00
2026-06-05 02:57:20 +02:00
2026-06-01 22:32:17 +09:00
2026-06-04 08:27:26 +09:00
2026-06-02 22:42:07 +09:00
2026-06-05 14:41:54 +09:00
2026-06-04 04:56:11 +01:00
2026-06-03 14:16:52 +09:00
2026-06-03 13:23:21 +09:00
2026-06-05 14:41:48 +09:00
2026-06-02 11:29:29 +09:00
2026-06-02 11:12:54 +09:00
2026-06-03 04:09:28 +09:00
2026-06-04 18:22:31 +02:00
2026-05-31 23:58:26 +09:00
2026-05-31 23:58:26 +09:00
2026-05-31 23:58:26 +09:00
2026-05-31 23:58:26 +09:00
2026-06-01 16:53:46 +02:00
2026-06-04 17:56:15 +02:00
2026-06-05 12:14:34 +09:00
2026-05-31 23:58:26 +09:00
2026-06-04 20:51:23 +02:00
2026-05-31 23:58:26 +09:00
2026-06-03 16:32:20 +09:00
2026-06-05 14:41:54 +09:00
2026-05-31 23:58:26 +09:00
2026-06-05 00:06:37 +02:00
2026-06-05 14:41:43 +09:00
2026-06-03 00:30:03 +09:00
2026-05-31 23:58:26 +09:00
2026-05-31 23:58:26 +09:00
2026-05-31 23:58:26 +09:00
2026-05-31 23:58:26 +09:00
2026-06-03 23:03:58 +09:00
2026-05-31 23:58:26 +09:00
2026-06-04 20:34:18 +02:00
2026-06-01 19:49:23 +02:00
2026-06-05 00:06:37 +02:00