Skip to content

v0.5.0 — Cleanup model selection fix

Choose a tag to compare

@willbilec willbilec released this 04 Jul 06:54
· 6 commits to main since this release
474bba5

v0.5.0 (2026-07-04)

Fixed

  • Cleanup model selection not sticking in settings dialog. CleanupDialog._on_model_change called self.GetSizer().Layout(), but CleanupDialog is a wx.Dialog (not a SettingsPanel) and has no sizer of its own, so GetSizer() returned None and .Layout() threw AttributeError: '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 to nvda.ini. Changed to self.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 CleanupDialogRegressionTests that assert the buggy self.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.