-
Notifications
You must be signed in to change notification settings - Fork 208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ikhal crashes to create new events #1334
Comments
Sorry for that. |
I have the exact same issue (same error message), however for me using python-urwid 2.5.1 triggers the problem. If I downgrade to 2.4.1, then I can add events without the issue. |
Hi! I have just opened a downstream issue about this, since with python-urwid 2.5.1-1 on Arch Linux khal is now broken: https://gitlab.archlinux.org/archlinux/packaging/packages/python-urwid/-/issues/1 |
Pinging @penguinolog for good measure (in case this has been triggered by a regression in urwid). |
debugging, looks weird |
I'm pretty sure that this was fixed in |
No, regression present and not covered by tests. Fix will be done ASAP (today) with extra tests for such scenario. UP: extra details: this happend, when |
Allow to render `Padding` with GIVEN width > size. Produce a log message (not warning to not confuse end users) Fix: pimutils/khal#1334
Technically urwid should not crash if behavior was supported before. |
Allow to render `Padding` with GIVEN width > size. Warn about incorrect size Fix: pimutils/khal#1334
It would be great to see a release for this fix! @penguinolog Thanks for the investigation and background info! |
Allow to render `Padding` with GIVEN width > size. Warn about incorrect size Fix: pimutils/khal#1334 Co-authored-by: Aleksei Stepanov <[email protected]>
Urwid 2.5.3 was released specially for this case. |
Should be fixed with https://github.com/pimutils/khal/releases/tag/v0.11.3 |
@penguinolog thanks for taking care of this in urwid! |
Describe the bug
Hi,
When I try to create new events in ikhal, it crashes miserably.
If applicable: Stack Trace:
This is the output on my terminal
Traceback (most recent call last):
File "/usr/lib/python3.11/site-packages/khal/ui/init.py", line 1363, in start_pane
loop.run()
File "/usr/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 343, in run
self._run()
File "/usr/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 445, in _run
self.event_loop.run()
File "/usr/lib/python3.11/site-packages/urwid/event_loop/select_loop.py", line 182, in run
self._loop()
File "/usr/lib/python3.11/site-packages/urwid/event_loop/select_loop.py", line 218, in _loop
self._entering_idle()
File "/usr/lib/python3.11/site-packages/urwid/event_loop/select_loop.py", line 171, in _entering_idle
callback()
File "/usr/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 652, in entering_idle
self.draw_screen()
File "/usr/lib/python3.11/site-packages/urwid/event_loop/main_loop.py", line 669, in draw_screen
canvas = self._topmost_widget.render(self.screen_size, focus=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/popup.py", line 118, in render
self._update_overlay(size, focus)
File "/usr/lib/python3.11/site-packages/urwid/widget/popup.py", line 91, in _update_overlay
canv = self._original_widget.render(size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/frame.py", line 408, in render
body = self.body.render((maxcol, maxrow - ftrim - htrim), focus and self.focus_part == "body")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/columns.py", line 938, in render
w.render(w_size, focus=focus and self.focus_position == i),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/khal/ui/widgets.py", line 672, in render
return super().render(size, focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 718, in render
canv = get_delegate(self).render(size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/pile.py", line 817, in render
canv = w.render(w_size, focus=focus and item_focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/columns.py", line 938, in render
w.render(w_size, focus=focus and self.focus_position == i),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 718, in render
canv = get_delegate(self).render(size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/listbox.py", line 640, in render
canvas = widget.render((maxcol,))
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 718, in render
canv = get_delegate(self).render(size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/pile.py", line 817, in render
canv = w.render(w_size, focus=focus and item_focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/columns.py", line 938, in render
w.render(w_size, focus=focus and self.focus_position == i),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 112, in cached_render
canv = fn(self, size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 718, in render
canv = get_delegate(self).render(size, focus=focus)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/urwid/widget/widget.py", line 113, in cached_render
validate_size(self, size, canv)
File "/usr/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 > 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.
That new events in ikhal can be created.
OS, version, khal version and how you installed it:
[calendars]
[[Casa]]
path = ~/.calendars/6C43D0F9-7DE6-4D08-BE77-5A8FC3C30429
type = discover
color = light red
[[Personal]]
path = ~/.calendars/D411412F-AA58-4602-8D3B-4C9AC6FBE4C5
type = discover
color = light green
[[Trabajo]]
path = ~/.calendars/154B5BEC-34AF-43A8-B23B-1D171FFE8A5F
type = discover
color = dark blue
[[Planning]]
path = ~/.calendars/A462C994-F46D-4AF9-8EE0-120104BD5D67
type = discover
color = light cyan
[locale]
firstweekday = 0
timeformat = %H:%M
dateformat = %d/%m/%Y
longdateformat = %d/%m/%Y
datetimeformat = %d/%m/%Y %H:%M
longdatetimeformat = %d/%m/%Y %H:%M
[default]
default_calendar = D411412F-AA58-4602-8D3B-4C9AC6FBE4C5
highlight_event_days = True
[highlight_days]
color = light magenta
method = fg
[view]
dynamic_days = True
frame = color
Thanks
The text was updated successfully, but these errors were encountered: