emfcamp / TiDAL-Firmware

26 stars 14 forks source link

The keyboard fails if text is multiline #66

Closed ithinuel closed 2 years ago

ithinuel commented 2 years ago

Setup the system with:

import settings
settings.set("hello_name", "some\ntext")
settings.save()
import machine
machine.reset()

Navigate to the Hello app & try to enter edit mode

MicroPython afceb56-dirty on 2022-06-02; TiDAL with ESP32S3
Type "help()" for more information.
>>> Creating app hello.Hello...
Task exception wasn't retrieved
future: <Task> coro= <generator object 'check_buttons' at 3d84a510>
Traceback (most recent call last):
  File "uasyncio/core.py", line 1, in run_until_complete
  File "buttons.py", line 123, in check_buttons
  File "buttons.py", line 152, in _send_callback_for_button
  File "hello/__init__.py", line 25, in edit_name
  File "app.py", line 121, in keyboard_prompt
  File "app.py", line 107, in present_window
  File "app.py", line 97, in push_window
  File "app.py", line 135, in _activate_window
  File "keyboard.py", line 124, in redraw
  File "keyboard.py", line 150, in draw_textarea
  File "keyboard.py", line 243, in draw_cursor
IndexError: list index out of range

After that the system becomes unresponsive to the buttons (but the REPL interface still works).

tomsci commented 2 years ago

Fixed in v0.5.1, now available on "Update Firmware"

ithinuel commented 2 years ago

Thanks! I was pulling the docker image to test it :D