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).
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
# Hermes Web UI -- Changelog
|
||||
|
||||
## [v0.50.101] — 2026-04-20
|
||||
|
||||
### Fixed
|
||||
- **Session model normalization: null/empty model no longer triggers index rebuild** — sessions with no stored model (`model: null` or missing) now return the provider default without writing to disk. Previously a spurious `session.save()` (and full session index rebuild) could fire for any such session. (#751 follow-up)
|
||||
|
||||
## [v0.50.100] — 2026-04-20
|
||||
|
||||
### Fixed
|
||||
|
||||
Reference in New Issue
Block a user