CalamitousFelicitousness
0769d423a7
fix(upscale): make SeedVR2 generation_step patch idempotent
...
UpscalerSeedVR.load_model() rebinds the module-global
generation.generation_step (called by name inside generation_loop) to
the instance's model_step wrapper, keeping the previous value to call
back into. That global was never restored, so the second pass through
load_model() saved the wrapper itself as the "original", making
model_step() call itself -> RecursionError.
The second pass is reached on any model (re)load: with upscaler_unload
enabled (self.model reset to None after each run) every subsequent run
recurses, and switching SeedVR variants (self.model_loaded != model_name)
triggers it even without unload.
Stash the pristine generation_step on the module once and have the
wrapper call that, so repeated loads never wrap the wrapper.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-16 10:18:21 +01:00
..
2026-06-15 15:20:07 -04:00
2026-06-04 12:36:10 +02:00
2026-06-12 13:00:50 -04:00
2026-05-11 08:36:49 +02:00
2026-05-20 18:08:10 +02:00
2026-06-16 08:37:12 +02:00
2026-05-19 09:45:20 +02:00
2026-06-12 13:00:57 -04:00
2026-06-04 12:36:10 +02:00
2026-06-02 23:43:58 -04:00
2026-06-04 12:36:10 +02:00
2026-06-04 12:36:10 +02:00
2026-06-15 23:41:58 +03:00
2026-05-18 21:38:09 +03:00
2026-06-16 09:01:24 +02:00
2026-06-02 23:43:58 -04:00
2026-06-12 13:00:39 -04:00
2026-05-11 08:13:57 +02:00
2026-06-16 10:16:17 +02:00
2026-05-16 11:06:23 +02:00
2026-06-16 10:18:21 +01:00
2026-05-11 08:13:57 +02:00
2026-06-04 12:36:10 +02:00
2026-06-08 17:00:00 +02:00
2026-06-04 12:36:10 +02:00
2026-06-10 03:08:20 +01:00
2026-06-15 22:04:43 +03:00
2026-06-04 12:36:10 +02:00
2026-06-11 01:42:29 -04:00
2026-06-04 12:36:10 +02:00
2026-05-11 08:36:49 +02:00
2026-06-04 12:36:10 +02:00
2026-06-12 13:00:39 -04:00
2026-06-16 08:47:19 +02:00
2026-06-04 12:36:10 +02:00
2026-06-04 12:36:10 +02:00
2026-05-17 10:41:09 -07:00
2026-06-10 03:08:20 +01:00
2026-04-28 11:00:19 +02:00
2026-06-04 12:36:10 +02:00
2026-06-12 13:00:50 -04:00
2026-06-04 12:36:10 +02:00
2026-06-11 01:42:29 -04:00
2026-05-16 07:19:52 +02:00
2026-05-16 07:19:52 +02:00
2026-04-15 10:10:05 +02:00
2026-04-29 07:59:43 +02:00
2026-05-11 08:13:57 +02:00
2026-05-16 11:06:23 +02:00
2026-05-19 09:45:20 +02:00
2026-05-10 10:42:33 +02:00
2026-04-26 20:21:00 -07:00
2026-05-29 21:10:56 +02:00
2026-06-15 08:45:58 +02:00
2026-05-19 11:56:20 +02:00
2026-06-12 13:00:39 -04:00
2026-05-28 11:54:08 +02:00
2026-06-12 13:00:39 -04:00
2026-06-12 13:00:39 -04:00
2026-06-05 01:54:18 +01:00
2026-05-21 03:11:05 +01:00
2026-06-02 08:03:27 +02:00
2026-05-09 13:32:29 +02:00
2026-05-19 09:45:20 +02:00
2026-05-31 04:49:05 +01:00
2026-06-07 11:43:46 +02:00
2026-06-07 11:43:46 +02:00
2026-06-01 00:25:59 +01:00
2026-06-12 13:00:31 -04:00
2026-06-05 01:54:18 +01:00
2026-06-12 13:00:57 -04:00
2026-05-10 21:45:58 +02:00
2026-06-08 17:00:00 +02:00
2026-05-07 07:20:20 +02:00
2026-06-14 01:41:05 +01:00
2026-06-11 01:42:42 -04:00
2026-06-12 13:00:31 -04:00
2026-05-10 08:55:44 +02:00
2026-04-26 03:08:07 +01:00
2026-06-11 01:42:29 -04:00
2026-05-08 14:44:00 +02:00
2026-06-10 08:09:00 +02:00
2026-06-04 12:36:10 +02:00
2026-06-12 13:00:31 -04:00
2026-04-27 17:15:05 -07:00
2026-06-02 08:03:27 +02:00
2026-06-12 02:41:32 -04:00
2026-06-12 13:00:31 -04:00
2026-05-11 08:36:49 +02:00
2026-06-04 12:36:10 +02:00
2026-06-15 15:20:07 -04:00
2026-06-15 15:20:07 -04:00
2026-05-16 08:27:11 +02:00
2026-06-15 15:20:07 -04:00
2026-06-08 17:20:12 +02:00
2026-06-15 15:20:07 -04:00
2026-05-20 18:08:10 +02:00
2026-05-20 18:08:10 +02:00
2026-05-31 00:24:33 +01:00
2026-06-08 12:03:37 +02:00
2026-06-08 12:03:37 +02:00
2026-06-05 01:54:18 +01:00
2026-06-14 01:42:26 +01:00
2026-06-14 01:41:05 +01:00
2026-06-03 09:46:44 +02:00
2026-05-17 10:40:28 -07:00
2026-05-27 16:31:59 +02:00
2026-06-05 20:00:49 +02:00
2026-05-16 11:06:23 +02:00
2026-05-19 09:45:20 +02:00
2026-05-11 08:13:57 +02:00
2026-06-05 20:00:49 +02:00
2026-06-04 12:36:10 +02:00
2026-05-20 18:08:10 +02:00
2026-06-12 13:00:31 -04:00
2026-05-16 11:06:23 +02:00
2026-06-02 07:45:37 +02:00
2026-06-16 10:16:17 +02:00
2026-06-04 12:36:10 +02:00
2026-04-29 07:59:43 +02:00
2026-05-19 11:56:20 +02:00
2026-05-19 09:45:20 +02:00
2026-06-13 00:56:50 +03:00
2026-06-04 12:36:10 +02:00
2026-06-02 08:03:27 +02:00
2026-04-23 16:49:31 -07:00
2026-06-12 13:00:50 -04:00
2026-04-24 21:55:27 +01:00
2026-05-20 18:08:10 +02:00
2026-05-21 09:23:10 +02:00
2026-05-16 11:06:23 +02:00
2026-05-19 09:45:20 +02:00
2026-05-23 08:32:33 +02:00
2026-06-01 11:54:26 +02:00
2026-06-12 13:00:50 -04:00
2026-06-12 13:00:50 -04:00
2026-05-31 00:24:33 +01:00
2026-05-04 09:03:50 +02:00
2026-05-19 09:45:20 +02:00
2026-06-02 23:43:58 -04:00
2026-05-08 14:43:39 +02:00
2026-04-06 01:06:19 -07:00
2026-05-11 09:34:17 +02:00
2026-04-06 01:06:19 -07:00
2026-04-06 01:06:19 -07:00
2026-06-12 13:00:50 -04:00