PS C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui> jtech
╭────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────────────────────────────────────────────────╮
│ C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui\jtech_tui\screens\thread.py:273 in action_cursor_up │
│ │
│ 270 │ │ │ if region.y < self.scroll_y: ╭────────────── locals ───────────────╮ │
│ 271 │ │ │ │ self.scroll_relative(y=-self._scroll_step(), animate=False) │ highlighted = None │ │
│ 272 │ │ │ │ return │ self = PostsList(id='posts') │ │
│ ❱ 273 │ │ super().action_cursor_up() ╰─────────────────────────────────────╯ │
│ 274 │
│ 275 │
│ 276 class ThreadScreen(Screen): │
│ │
│ C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui.venv\Lib\site-packages\textual\widgets_list_view.py:381 in action_cursor_up │
│ │
│ 378 │ │ │ if self._nodes: ╭─────────── locals ───────────╮ │
│ 379 │ │ │ │ self.index = len(self._nodes) - 1 │ self = PostsList(id='posts') │ │
│ 380 │ │ else: ╰──────────────────────────────╯ │
│ ❱ 381 │ │ │ for index, item in loop_from_index( │
│ 382 │ │ │ │ self._nodes, self.index, direction=-1, wrap=False │
│ 383 │ │ │ ): │
│ 384 │ │ │ │ if not item.disabled: │
│ │
│ C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui.venv\Lib\site-packages\textual_loop.py:86 in loop_from_index │
│ │
│ 83 │ │ │ for _ in range(count): │
│ 84 │ │ │ │ if (index := index - 1) < 0: │
│ 85 │ │ │ │ │ break │
│ ❱ 86 │ │ │ │ yield (index, values[index]) │
│ 87 │
│ │
│ ╭───────────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────────╮ │
│ │ _ = 0 │ │
│ │ count = 20 │ │
│ │ direction = -1 │ │
│ │ index = 37 │ │
│ │ values = <NodeList [PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), ... +10]> │ │
│ │ wrap = False │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui.venv\Lib\site-packages\textual_node_list.py:227 in getitem │
│ │
│ 224 │ │ def getitem(self, index: slice) -> list[Widget]: ... │
│ 225 │ │
│ 226 │ def getitem(self, index: int | slice) -> Widget | list[Widget]: │
│ ❱ 227 │ │ return self._nodes[index] │
│ 228 │ │
│ 229 │ if not TYPE_CHECKING: │
│ 230 │ │ # This confused the type checker for some reason │
│ │
│ ╭─────────────────────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────────────────────╮ │
│ │ index = 37 │ │
│ │ self = <NodeList [PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), ... +10]> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
IndexError: list index out of range
PS C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui> jtech
╭────────────────────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────────────────────────────────────────────────╮
│ C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui\jtech_tui\screens\thread.py:273 in action_cursor_up │
│ │
│ 270 │ │ │ if region.y < self.scroll_y: ╭────────────── locals ───────────────╮ │
│ 271 │ │ │ │ self.scroll_relative(y=-self._scroll_step(), animate=False) │ highlighted = None │ │
│ 272 │ │ │ │ return │ self = PostsList(id='posts') │ │
│ ❱ 273 │ │ super().action_cursor_up() ╰─────────────────────────────────────╯ │
│ 274 │
│ 275 │
│ 276 class ThreadScreen(Screen): │
│ │
│ C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui.venv\Lib\site-packages\textual\widgets_list_view.py:381 in action_cursor_up │
│ │
│ 378 │ │ │ if self._nodes: ╭─────────── locals ───────────╮ │
│ 379 │ │ │ │ self.index = len(self._nodes) - 1 │ self = PostsList(id='posts') │ │
│ 380 │ │ else: ╰──────────────────────────────╯ │
│ ❱ 381 │ │ │ for index, item in loop_from_index( │
│ 382 │ │ │ │ self._nodes, self.index, direction=-1, wrap=False │
│ 383 │ │ │ ): │
│ 384 │ │ │ │ if not item.disabled: │
│ │
│ C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui.venv\Lib\site-packages\textual_loop.py:86 in loop_from_index │
│ │
│ 83 │ │ │ for _ in range(count): │
│ 84 │ │ │ │ if (index := index - 1) < 0: │
│ 85 │ │ │ │ │ break │
│ ❱ 86 │ │ │ │ yield (index, values[index]) │
│ 87 │
│ │
│ ╭───────────────────────────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────────────────────────╮ │
│ │ _ = 0 │ │
│ │ count = 20 │ │
│ │ direction = -1 │ │
│ │ index = 37 │ │
│ │ values = <NodeList [PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), ... +10]> │ │
│ │ wrap = False │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ C:\Users\Edwin\Downloads\jtechforums-windows-amd64\jtech-tui.venv\Lib\site-packages\textual_node_list.py:227 in getitem │
│ │
│ 224 │ │ def getitem(self, index: slice) -> list[Widget]: ... │
│ 225 │ │
│ 226 │ def getitem(self, index: int | slice) -> Widget | list[Widget]: │
│ ❱ 227 │ │ return self._nodes[index] │
│ 228 │ │
│ 229 │ if not TYPE_CHECKING: │
│ 230 │ │ # This confused the type checker for some reason │
│ │
│ ╭─────────────────────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────────────────────╮ │
│ │ index = 37 │ │
│ │ self = <NodeList [PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), PostItem(), ... +10]> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
IndexError: list index out of range