thePR0M3TH3AN and Claude Opus 4.8
dde0c35477
refactor(views): batch kind-30079 view counts via SubscriptionManager (P3)
...
Replaces the per-card view-count transport (each card: list + NIP-45 COUNT +
live sub, × relays — the ~880 REQ/s storm) with ONE shared batched kind-30079
subscription + ONE backfill list() over all visible cards, bucketed back to
per-pointer state by #a. Re-enables the VideoListView circuit-breaker.
Grid counts are convergent/approximate (cheap, persists via the existing view
cache); the watch page opts into an exact NIP-45 COUNT for its single pointer
(modalCoordinator passes { exact: true }) — accurate where it matters, one
request, no storm. Legacy per-pointer path retained for SubscriptionManager-less
environments (tests/mocks).
Verified: nip07-heat steady-idle with views on; flaky multi-relay harness still
all-PASS; new cheat-resistant batching+bucketing test. (Pre-existing
view-counter publish-session-tag failure is unrelated — fails at baseline.)
Co-Authored-By: Claude Opus 4.8 <[email protected] >
2026-06-14 15:49:50 -04:00
..
2026-06-12 11:44:01 -04:00
2026-02-08 00:33:13 +00:00
2026-02-26 21:40:23 -05:00
2026-02-08 00:41:34 +00:00
2026-02-05 03:00:29 +00:00
2026-03-02 21:40:36 -05:00
2026-02-21 20:45:47 -05:00
2026-02-08 03:41:50 +00:00
2026-02-08 01:29:09 +00:00
2026-06-14 15:04:40 -04:00
2026-06-14 10:11:43 -04:00
2026-02-18 17:07:47 +00:00
2026-02-11 12:01:39 +00:00
2026-02-14 13:22:43 +00:00
2026-02-11 17:15:25 +00:00
2026-02-08 00:33:27 +00:00
2026-02-05 23:04:21 +00:00
2025-10-15 14:54:24 -04:00
2026-03-02 21:41:14 -05:00
2026-02-23 01:16:32 +00:00
2026-02-26 17:44:51 +00:00
2026-03-04 12:25:23 -05:00
2026-02-12 14:36:45 +00:00
2026-02-22 18:33:41 +00:00
2026-02-07 23:15:13 +00:00
2026-01-24 11:44:16 +00:00
2026-02-12 14:36:45 +00:00
2026-02-12 14:42:51 +00:00
2026-02-05 17:00:13 +00:00
2026-02-08 02:00:10 +00:00
2026-02-26 17:36:00 +00:00
2026-01-13 20:32:06 +00:00
2026-01-18 02:39:42 +00:00
2025-10-14 13:31:22 -04:00
2026-01-06 16:22:49 -05:00
2026-02-21 16:45:16 -05:00
2026-02-08 03:41:19 +00:00
2026-02-26 17:45:31 +00:00
2025-10-26 19:23:40 -04:00
2026-01-20 12:39:19 +00:00
2025-10-27 18:19:14 -04:00
2026-01-24 21:42:37 +00:00
2026-01-23 05:33:57 +00:00
2025-10-26 12:05:03 -04:00
2026-02-08 00:22:16 +00:00
2026-02-24 20:51:19 +00:00
2026-02-26 17:38:30 +00:00
2026-02-17 04:52:40 +00:00
2026-02-09 23:22:49 -05:00
2025-10-14 08:48:17 -04:00
2026-02-15 20:18:30 +00:00
2026-02-27 03:43:14 +00:00
2026-02-14 18:58:02 +00:00
2026-02-01 21:47:29 +00:00
2025-10-26 16:06:40 -04:00
2026-02-01 21:47:29 +00:00
2026-02-21 16:08:33 -05:00
2026-06-14 09:52:33 -04:00
2026-01-06 15:32:21 -05:00
2026-01-06 15:32:21 -05:00
2025-10-08 16:39:30 -04:00
2025-11-03 14:35:43 -05:00
2026-01-06 15:32:21 -05:00
2026-06-12 11:16:25 -04:00
2025-10-22 07:18:25 -04:00
2026-02-21 15:53:09 -05:00
2026-01-27 11:54:02 +00:00
2026-02-09 21:32:29 +00:00
2026-01-06 15:32:21 -05:00
2025-10-22 15:48:59 -04:00
2026-03-04 12:25:23 -05:00
2026-06-12 14:31:38 -04:00
2026-01-31 10:33:50 +00:00
2026-01-29 11:53:42 +00:00
2026-02-09 15:33:21 +00:00
2025-10-22 22:17:30 -04:00
2026-01-06 15:36:37 -05:00
2025-10-29 06:52:30 -04:00
2025-10-21 17:46:41 -04:00
2026-01-14 03:52:53 +00:00
2026-02-05 22:59:50 +00:00
2026-02-18 15:10:29 +00:00
2026-02-26 17:42:43 +00:00
2025-10-29 22:14:20 -04:00
2026-06-14 10:03:00 -04:00
2026-01-27 03:20:08 +00:00
2026-01-22 22:50:00 -05:00
2026-01-25 03:34:10 +00:00
2026-01-29 11:53:42 +00:00
2026-02-26 17:42:07 +00:00
2026-02-08 14:38:21 -05:00
2025-10-20 21:15:47 -04:00
2026-02-21 19:59:47 -05:00
2026-01-27 02:09:22 +00:00
2026-02-22 21:09:08 -05:00
2026-02-08 03:34:20 +00:00
2025-10-16 16:43:58 -04:00
2026-02-26 17:41:34 +00:00
2026-02-08 03:44:38 +00:00
2026-02-28 19:48:57 +00:00
2026-01-30 03:40:36 +00:00
2026-01-27 03:54:41 +00:00
2026-01-27 02:09:22 +00:00
2025-10-23 13:43:05 -04:00
2026-02-08 03:44:38 +00:00
2025-10-29 17:06:19 -04:00
2026-01-06 15:32:21 -05:00
2026-01-29 03:19:06 +00:00
2026-06-14 15:49:50 -04:00
2026-01-07 00:43:18 +00:00
2025-10-04 17:25:43 -04:00
2026-02-26 18:02:18 +00:00
2026-06-13 08:00:28 -04:00
2026-02-08 00:27:41 +00:00
2026-02-01 19:35:02 +00:00
2025-10-05 22:03:07 -04:00
2026-01-06 15:32:21 -05:00