Bug Summary
hexis init crashes in the Character path with:
TypeError: CharacterPreview.__init__() got an unexpected keyword argument 'id'
This occurs when navigating to the character gallery screen.
Reproduction
- Run
hexis init
- Configure provider/model and continue
- Choose
Character path
- Crash occurs when
CharacterGalleryScreen is composed
Full Error (key line)
From apps/tui/init_screens.py:
yield CharacterPreview(id="char-preview")
From traceback:
TypeError: CharacterGalleryScreen() compose() method returned an invalid result; CharacterPreview.__init__() got an unexpected keyword argument 'id'
Root Cause
CharacterPreview in apps/tui/init_widgets.py defines:
def __init__(self) -> None:
super().__init__()
so it does not accept standard Textual widget kwargs (id, classes, name, ...).
Proposed Fix
Update CharacterPreview.__init__ to forward kwargs:
def __init__(self, **kwargs: Any) -> None:
super().__init__(**kwargs)
I also prepared a regression test:
tests/core/test_tui_init_widgets.py
- Asserts
CharacterPreview(id="char-preview") works.
Patch Reference
Local commit prepared: 3d9f5b3 (fix(tui/init): allow CharacterPreview widget kwargs)
Bug Summary
hexis initcrashes in the Character path with:This occurs when navigating to the character gallery screen.
Reproduction
hexis initCharacterpathCharacterGalleryScreenis composedFull Error (key line)
From
apps/tui/init_screens.py:From traceback:
Root Cause
CharacterPreviewinapps/tui/init_widgets.pydefines:so it does not accept standard Textual widget kwargs (
id,classes,name, ...).Proposed Fix
Update
CharacterPreview.__init__to forward kwargs:I also prepared a regression test:
tests/core/test_tui_init_widgets.pyCharacterPreview(id="char-preview")works.Patch Reference
Local commit prepared:
3d9f5b3(fix(tui/init): allow CharacterPreview widget kwargs)