isamert / scli

a simple terminal user interface for signal messenger (using signal-cli)
GNU General Public License v3.0
449 stars 39 forks source link

Crash when pressing `:` in contacts panel #122

Closed AckslD closed 3 years ago

AckslD commented 3 years ago

When I press : in the contacts panel scli crashes with the error:

Traceback (most recent call last):
  File "/usr/bin/scli", line 4328, in <module>
    main()
  File "/usr/bin/scli", line 4322, in main
    loop.run()
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 287, in run
    self._run()
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 385, in _run
    self.event_loop.run()
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 790, in run
    self._loop()
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 827, in _loop
    self._watch_files[fd]()
  File "/usr/lib/python3.9/site-packages/urwid/raw_display.py", line 416, in <lambda>
    wrapper = lambda: self.parse_input(
  File "/usr/lib/python3.9/site-packages/urwid/raw_display.py", line 515, in parse_input
    callback(processed, processed_codes)
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 412, in _update
    self.process_input(keys)
  File "/usr/lib/python3.9/site-packages/urwid/main_loop.py", line 513, in process_input
    k = self._topmost_widget.keypress(self.screen_size, k)
  File "/usr/bin/scli", line 3262, in keypress
    self.chat_w.input_line_w.keypress(size, key)
  File "/usr/bin/scli", line 2506, in keypress
    key = super().keypress(size, key)
  File "/usr/bin/scli", line 2410, in keypress
    return super().keypress(size, key)
  File "/usr/lib/python3.9/site-packages/urwid/widget.py", line 1474, in keypress
    (maxcol,) = size
ValueError: too many values to unpack (expected 1)
exquo commented 3 years ago

Thanks! There is no crash if urwid_readline is installed, which is my case. Fixed for either possibility now.

AckslD commented 3 years ago

Thanks for the fix! And also letting me know about urwid_readline :)