Repository navigation
v0.5.0 — Cleanup model selection fix
v0.5.0 (2026-07-04)
Fixed
- Cleanup model selection not sticking in settings dialog.
CleanupDialog._on_model_changecalledself.GetSizer().Layout(), butCleanupDialogis awx.Dialog(not aSettingsPanel) and has no sizer of its own, soGetSizer()returnedNoneand.Layout()threwAttributeError: 'NoneType' object has no attribute 'Layout'on every model change. The exception left the dialog's event loop in a confused state, causing subsequent OK clicks to intermittently fail to persist the new value tonvda.ini. Changed toself.Layout()with a comment explaining why. Symptom: users trying to switch the cleanup model from Gemini to Groq (or vice versa) sometimes found the change reverted after restarting NVDA.
Added
- Three regression tests in
CleanupDialogRegressionTeststhat assert the buggyself.GetSizer().Layout()cannot be reintroduced and that the rationale comment is preserved.
Installation
Download groqVoiceDictation-0.5.0.nvda-addon below and open it with NVDA (or drop it into your addons folder and restart NVDA). The fixed settings_panel.py is in the package — the cleanup model selection will now save reliably.