Chuck and Claude Opus 5.5
84043468ca
feat(vegas): ESPN fetches give way to the render thread too
...
The hourly sports refresh froze hdpi's Vegas scroll for 1.9s: about twenty
espn-chunk threads fetching and parsing at once, and the render thread
(and the stall watchdog) queued behind all of them for the GIL. The
prefetch gate only covered the prefetch thread.
Vegas now makes its gate the active one (render_gate.set_active), and
render_gate.yielding() gives way through it when there is one and does
nothing otherwise. espn_dates wraps each chunk fetch in it (behind the
same import fallback as json_body, for the copies plugins bundle), and the
background data service wraps each worker. The render thread is never
gated -- the first thread to swap is exempt, and a plugin pushing a live
refresh from its update thread cannot take its place -- and nested blocks
keep the outermost frame as the boundary for the lock checks.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-24 16:40:55 -04:00
..
2026-09-23 16:33:24 -04:00
2026-09-23 10:29:16 -04:00
2026-09-23 12:36:26 -04:00
2026-09-24 15:53:19 -04:00
2026-03-20 15:06:58 -04:00
2026-08-21 11:16:52 -04:00
2026-09-23 12:36:26 -04:00
2026-07-12 10:38:52 -04:00
2026-07-12 10:38:52 -04:00
2026-09-16 17:12:28 -04:00
2026-08-21 11:16:52 -04:00
2026-09-17 16:37:29 -04:00
2026-09-08 08:34:52 -04:00
2026-09-11 10:07:38 -04:00
2026-09-23 12:36:53 -04:00
2026-08-23 11:44:23 -04:00
2026-09-23 12:36:53 -04:00
2026-09-23 12:36:53 -04:00
2026-09-23 10:29:16 -04:00
2026-08-21 11:16:52 -04:00
2026-09-23 10:29:16 -04:00
2026-08-21 11:16:52 -04:00
2026-09-11 10:07:38 -04:00
2026-09-11 10:07:38 -04:00
2026-09-14 12:40:41 -04:00
2026-07-14 08:08:51 -04:00
2026-09-15 10:58:57 -04:00
2026-09-24 15:51:14 -04:00
2026-09-17 16:37:29 -04:00
2026-09-18 09:56:50 -04:00
2026-09-23 12:54:07 -04:00
2026-08-26 10:03:43 -04:00
2026-09-01 09:54:04 -04:00
2026-09-17 09:26:21 -04:00
2026-08-11 16:10:56 -04:00
2026-08-07 16:17:11 -04:00
2026-09-13 11:53:50 -04:00
2026-09-24 15:51:53 -04:00
2026-08-12 08:42:56 -04:00
2026-09-23 12:54:07 -04:00
2026-08-19 12:28:22 -04:00
2026-09-07 13:37:54 -04:00
2026-08-12 08:40:07 -04:00
2026-09-17 12:38:39 -04:00
2026-09-24 15:50:50 -04:00
2026-09-23 12:54:07 -04:00
2026-08-11 14:14:25 -04:00
2026-08-19 17:40:52 -04:00
2026-09-14 09:42:24 -04:00
2026-09-23 16:33:24 -04:00
2026-08-07 10:17:30 -04:00
2026-09-23 12:52:50 -04:00
2026-07-14 08:49:43 -04:00
2026-09-11 10:07:38 -04:00
2026-09-16 17:12:18 -04:00
2026-08-06 14:04:23 -04:00
2026-09-23 12:36:26 -04:00
2026-05-15 10:19:55 -04:00
2026-09-17 16:37:29 -04:00
2026-09-15 18:19:39 -04:00
2026-08-04 13:46:28 -04:00
2026-09-03 16:06:40 -04:00
2026-09-23 12:44:55 -04:00
2026-09-23 16:48:02 -04:00
2026-09-24 15:52:52 -04:00
2026-09-23 10:29:16 -04:00
2026-08-23 11:43:39 -04:00
2026-08-07 16:17:11 -04:00
2026-09-23 10:29:16 -04:00
2026-08-07 10:17:30 -04:00
2026-09-23 12:36:26 -04:00
2026-09-23 21:41:15 -04:00
2026-09-07 13:37:54 -04:00
2026-09-17 16:37:29 -04:00
2026-09-23 12:36:26 -04:00
2026-09-23 21:41:15 -04:00
2026-08-06 14:04:23 -04:00
2026-08-07 16:17:11 -04:00
2026-09-14 13:27:10 -04:00
2026-09-13 11:53:50 -04:00
2026-08-07 13:27:20 -04:00
2026-09-23 10:29:16 -04:00
2026-09-23 12:36:26 -04:00
2026-09-23 14:32:02 -04:00
2026-09-18 09:56:50 -04:00
2026-09-23 10:29:16 -04:00
2026-09-13 10:47:01 -04:00
2026-09-23 16:50:42 -04:00
2026-09-24 15:23:18 -04:00
2026-08-21 14:30:29 -04:00
2026-09-07 13:37:38 -04:00
2026-07-12 10:38:52 -04:00
2026-08-21 15:50:55 -04:00
2026-09-23 12:58:11 -04:00
2026-09-23 12:36:26 -04:00
2026-08-12 14:58:05 -04:00
2026-08-23 11:42:51 -04:00
2026-08-03 16:52:42 -04:00
2026-09-14 17:38:17 -04:00
2026-08-21 15:50:55 -04:00
2026-09-23 10:29:16 -04:00
2026-09-18 11:09:25 -04:00
2026-09-11 08:42:30 -04:00
2026-09-11 08:41:58 -04:00
2026-09-23 12:36:26 -04:00
2026-08-23 11:44:00 -04:00
2026-09-23 12:58:11 -04:00
2026-09-23 12:58:11 -04:00
2026-09-17 16:37:29 -04:00
2026-08-21 15:50:55 -04:00
2026-09-11 11:32:12 -04:00
2026-09-08 08:34:52 -04:00
2026-08-11 16:10:56 -04:00
2026-09-24 09:31:27 -04:00
2026-09-07 13:37:38 -04:00
2026-09-08 08:34:52 -04:00
2026-08-19 12:49:46 -04:00
2026-09-23 10:34:20 -04:00
2026-09-11 15:32:03 -04:00
2026-09-23 12:36:53 -04:00
2026-09-16 17:12:18 -04:00
2026-09-15 19:17:48 -04:00
2026-08-17 15:35:02 -04:00
2026-09-08 08:34:52 -04:00
2026-09-02 09:51:27 -04:00
2026-09-17 16:37:29 -04:00
2026-09-24 15:52:52 -04:00
2026-08-21 16:19:33 -04:00
2026-09-11 08:41:58 -04:00
2026-08-19 12:28:22 -04:00
2026-07-11 08:55:50 -04:00
2026-05-15 10:19:55 -04:00
2026-08-23 11:43:39 -04:00
2026-07-09 07:54:18 -04:00
2026-09-23 12:36:26 -04:00
2026-09-17 16:37:29 -04:00
2026-09-23 12:36:26 -04:00
2026-09-23 12:36:26 -04:00
2026-09-15 18:19:39 -04:00
2026-09-15 18:19:39 -04:00
2026-09-24 15:49:51 -04:00
2026-08-07 13:02:59 -04:00
2026-09-24 16:40:55 -04:00
2026-08-21 15:50:55 -04:00
2026-09-23 16:33:24 -04:00
2026-09-17 16:37:29 -04:00
2026-08-07 16:17:11 -04:00
2026-08-21 16:22:48 -04:00
2026-08-07 10:17:30 -04:00
2026-05-15 10:19:55 -04:00
2026-09-07 13:37:54 -04:00
2026-07-31 09:40:38 -04:00
2026-09-17 16:37:29 -04:00
2026-09-17 16:37:29 -04:00
2026-07-13 09:28:30 -04:00
2026-09-14 12:48:36 -04:00
2026-09-13 11:53:50 -04:00
2026-09-15 15:32:21 -04:00
2026-09-17 16:37:29 -04:00
2026-09-20 18:25:33 -04:00
2026-08-26 11:25:10 -04:00
2026-09-24 15:51:35 -04:00
2026-09-23 16:33:12 -04:00
2026-09-11 10:07:38 -04:00
2026-08-07 16:17:11 -04:00
2026-09-23 12:36:26 -04:00
2026-09-23 16:33:24 -04:00
2026-07-13 09:32:37 -04:00
2026-09-24 15:51:14 -04:00
2026-09-24 15:51:14 -04:00
2026-09-24 15:51:14 -04:00
2026-08-21 11:16:52 -04:00
2026-09-11 08:45:40 -04:00
2026-08-25 08:40:28 -04:00
2026-08-21 14:29:45 -04:00
2026-09-11 08:41:19 -04:00
2026-08-06 14:04:23 -04:00
2026-07-14 08:33:08 -04:00
2026-05-15 10:19:55 -04:00
2026-04-08 12:33:54 -04:00
2026-09-23 12:36:26 -04:00
2026-08-21 14:30:29 -04:00
2026-08-21 14:30:29 -04:00
2026-09-23 12:36:26 -04:00
2026-07-31 09:40:38 -04:00
2026-09-23 10:29:16 -04:00
2026-09-23 21:41:15 -04:00
2026-09-23 21:41:15 -04:00
2026-08-23 11:42:33 -04:00
2026-08-12 14:06:32 -04:00
2026-07-31 09:40:38 -04:00
2026-08-13 17:02:36 -04:00
2026-08-21 15:50:55 -04:00
2026-07-08 09:43:13 -04:00
2026-07-12 10:40:34 -04:00
2026-09-24 14:13:29 -04:00
2026-09-23 16:33:24 -04:00
2026-09-23 12:36:26 -04:00
2026-09-23 12:36:53 -04:00
2026-09-10 17:42:00 -04:00
2026-09-23 12:36:53 -04:00
2026-09-24 15:53:19 -04:00
2026-07-09 09:22:24 -04:00
2026-09-23 10:29:16 -04:00
2026-09-14 09:42:24 -04:00
2026-09-24 15:51:14 -04:00
2026-09-09 16:25:45 -04:00
2026-09-14 09:42:24 -04:00
2026-09-14 12:40:41 -04:00
2026-09-14 12:40:41 -04:00
2026-09-23 12:36:26 -04:00