nesquena-hermes
78c4f1e425
fix: null/empty session model must not trigger index rebuild — v0.50.101 ( #753 )
...
## Summary
Follow-up to #751/#752. Code review identified a case where `_normalize_session_model_in_place` could call `session.save()` (which triggers a full session index rebuild) for sessions with `model: null` or missing model field.
Root cause: `_resolve_compatible_session_model(None)` returns `(default_model, True)` when a default exists — which was interpreted as "changed, needs save." But there's nothing to correct for a session with no model; the default is just a fallback for display purposes, not a cross-provider correction worth persisting.
Fix: capture `original_model` before calling `_resolve_compatible_session_model`. Only call `session.save()` if `original_model` was non-empty and actually changed.
Adds a test asserting `save_calls == []` when `session.model is None`.
No behavior change for sessions with a real model (the primary use case of #751 is unaffected).
2026-04-19 23:44:46 -07:00
..
2026-03-30 20:40:19 -07:00
2026-04-14 19:04:48 +00:00
2026-04-16 23:03:32 -07:00
2026-04-15 19:16:14 +00:00
2026-04-14 19:04:48 +00:00
2026-04-09 18:05:23 -07:00
2026-04-18 06:37:09 +00:00
2026-04-18 06:37:09 +00:00
2026-04-11 10:17:52 -07:00
2026-04-14 17:14:01 +00:00
2026-04-15 13:10:50 +08:00
2026-04-19 05:37:44 +00:00
2026-04-16 01:09:39 +00:00
2026-04-16 18:09:16 -07:00
2026-04-14 19:04:48 +00:00
2026-04-15 23:21:56 +08:00
2026-04-14 19:04:48 +00:00
2026-04-18 06:37:09 +00:00
2026-04-14 21:13:33 +00:00
2026-04-13 11:40:15 -07:00
2026-04-18 17:09:59 +00:00
2026-04-16 14:04:42 -07:00
2026-04-14 21:14:00 +00:00
2026-04-14 21:14:33 +00:00
2026-04-14 21:52:34 +00:00
2026-04-16 00:00:22 +00:00
2026-04-18 17:09:59 +00:00
2026-04-16 20:16:07 -07:00
2026-04-15 23:39:07 -07:00
2026-04-18 06:45:39 +00:00
2026-04-16 18:09:16 -07:00
2026-04-18 07:14:03 +00:00
2026-04-18 06:46:43 +00:00
2026-04-18 17:09:59 +00:00
2026-04-19 23:11:49 -07:00
2026-04-14 17:13:03 +00:00
2026-04-18 17:09:59 +00:00
2026-04-14 17:14:01 +00:00
2026-04-19 06:47:24 +00:00
2026-04-16 11:20:08 -07:00
2026-04-18 07:18:20 +00:00
2026-04-14 17:13:03 +00:00
2026-04-19 08:18:24 +08:00
2026-04-16 23:03:32 -07:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-16 11:20:08 -07:00
2026-04-13 22:57:58 -07:00
2026-04-15 16:57:31 +00:00
2026-04-13 00:51:55 -07:00
2026-04-13 22:11:45 -07:00
2026-04-19 23:44:46 -07:00
2026-04-19 05:37:44 +00:00
2026-04-19 06:47:24 +00:00
2026-04-14 19:04:48 +00:00
2026-04-19 05:37:44 +00:00
2026-04-16 10:09:51 -07:00
2026-04-14 19:04:48 +00:00
2026-04-11 20:06:37 -07:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-16 11:20:08 -07:00
2026-04-16 11:20:08 -07:00
2026-04-18 06:46:43 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-18 06:37:09 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-18 06:37:09 +00:00
2026-04-18 06:37:09 +00:00
2026-04-14 19:04:48 +00:00
2026-04-18 06:37:09 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-15 13:10:50 +08:00
2026-04-14 19:04:48 +00:00
2026-04-14 19:04:48 +00:00
2026-04-11 12:19:12 -07:00
2026-04-14 19:04:48 +00:00
2026-04-12 10:51:48 -07:00
2026-04-19 06:47:24 +00:00
2026-04-16 14:04:42 -07:00
2026-04-18 06:45:39 +00:00
2026-04-16 10:19:10 -07:00
2026-04-18 06:37:09 +00:00
2026-04-12 14:28:16 -07:00
2026-04-18 06:52:45 +00:00
2026-04-16 14:04:42 -07:00
2026-04-13 11:11:56 -07:00
2026-04-13 23:25:26 -07:00
2026-04-14 19:04:48 +00:00
2026-04-19 04:29:07 +00:00
2026-04-19 05:37:44 +00:00
2026-04-19 05:40:37 +00:00
2026-04-19 23:17:00 -07:00
2026-04-16 18:51:00 -07:00
2026-04-09 18:08:29 -07:00
2026-04-16 14:04:42 -07:00
2026-04-18 06:37:09 +00:00
2026-04-10 10:02:28 -07:00
2026-04-12 00:19:33 -07:00
2026-04-13 22:11:45 -07:00