pimutils / khal

:calendar: CLI calendar application
https://lostpackets.de/khal/
MIT License
2.54k stars 197 forks source link

can't add an event in ikhal #1329

Closed mokas01 closed 4 months ago

mokas01 commented 5 months ago

Hi,

I have an issue of ikhal crashing when adding an event

Describe the bug

On debian 12, with Python 3.11.2 and Khard version 0.19.1. When using ikhal, i can navigate through the existing events, but when I want to add one, it just crashes

If applicable: Stack Trace

Traceback (most recent call last):
  File "/home/v/.local/lib/python3.11/site-packages/khal/ui/__init__.py", line 1363, in start_pane
    loop.run()
  File "/home/v/.local/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 339, in run
    self._run()
  File "/home/v/.local/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 441, in _run
    self.event_loop.run()
  File "/home/v/.local/lib/python3.11/site-packages/urwid/event_loop/select_loop.py", line 182, in run
    self._loop()
  File "/home/v/.local/lib/python3.11/site-packages/urwid/event_loop/select_loop.py", line 218, in _loop
    self._entering_idle()
  File "/home/v/.local/lib/python3.11/site-packages/urwid/event_loop/select_loop.py", line 171, in _entering_idle
    callback()
  File "/home/v/.local/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 648, in entering_idle
    self.draw_screen()
  File "/home/v/.local/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 665, in draw_screen
    canvas = self._topmost_widget.render(self.screen_size, focus=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/popup.py", line 116, in render
    self._update_overlay(size, focus)
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/popup.py", line 89, in _update_overlay
    canv = self._original_widget.render(size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/frame.py", line 594, in render
    body = self.body.render((maxcol, maxrow - ftrim - htrim), focus and self.focus_part == "body")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/columns.py", line 903, in render
    w.render(w_size, focus=focus and self.focus_position == i),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 780, in render
    canv = get_delegate(self).render(size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 780, in render
    canv = get_delegate(self).render(size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/listbox.py", line 554, in render
    canvas = widget.render((maxcol,))
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 780, in render
    canv = get_delegate(self).render(size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/pile.py", line 794, in render
    canv = w.render(w_size, focus=focus and item_focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/columns.py", line 903, in render
    w.render(w_size, focus=focus and self.focus_position == i),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
    canv = fn(self, size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 780, in render
    canv = get_delegate(self).render(size, focus=focus)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 113, in cached_render
    validate_size(self, size, canv)
  File "/home/v/.local/lib/python3.11/site-packages/urwid/widget/widget.py", line 92, in validate_size
    raise WidgetError(
urwid.widget.widget.WidgetError: Widget <Padding selectable fixed/flow widget <CalendarPopUp selectable flow widget <ValidatedEdit selectable flow widget>> right=1 width=11> rendered (11 x 1) canvas when passed size (10,)!

Expected behavior A clear and concise description of what you expected to happen.

OS, version, khal version and how you installed it:

Thanks for the software and your help !

geier commented 5 months ago

Thank you for reporting this bug. I believe this is due to urwid 2.4.2, if you downgrade to 2.4.1 this should fix the issue. Or manually apply this patch: https://github.com/pimutils/khal/pull/1328

aereaux commented 5 months ago

Thanks, this patch fixes the issue for me. Would it be possible to get a release that includes it soon?

geier commented 4 months ago

should be fixed in master and in v0.11.3