diff --git a/news/1050.bugfix.rst b/news/1050.bugfix.rst new file mode 100644 index 0000000000..8d60ee11b6 --- /dev/null +++ b/news/1050.bugfix.rst @@ -0,0 +1 @@ +Fix the live mode TUI showing only the first thread's allocations until merging was toggled, even though it starts in merged mode. diff --git a/src/memray/reporters/tui.py b/src/memray/reporters/tui.py index 96042e2579..a252b36c31 100644 --- a/src/memray/reporters/tui.py +++ b/src/memray/reporters/tui.py @@ -221,7 +221,7 @@ class AllocationTable(Widget): sort_column_id = reactive(default_sort_column_id) snapshot = reactive(_EMPTY_SNAPSHOT) current_thread = reactive(0) - merge_threads = reactive(False, init=False) + merge_threads = reactive(True, init=False) columns = [ "Location", diff --git a/tests/unit/test_tui_reporter.py b/tests/unit/test_tui_reporter.py index efaeb9aa26..970352ce95 100644 --- a/tests/unit/test_tui_reporter.py +++ b/tests/unit/test_tui_reporter.py @@ -772,7 +772,7 @@ async def run_test(): datatable = pilot.app.screen.query_one(DataTable) - for key in ("m", ">", "m", "<", "m", "<"): + for key in ("", "m", ">", "m", "<", "m", "<"): await pilot.press(key) functions.append(datatable.get_cell_at(Coordinate(0, 0)).plain) labels = extract_label_text(app) @@ -782,8 +782,8 @@ async def run_test(): async_run(run_test()) # THEN - order = [0, 1, 2, 2, 1, 0] - merged = [False, False, True, True, False, False] + order = [2, 0, 1, 2, 2, 1, 0] + merged = [True, False, False, True, True, False, False] assert functions == ["abc"[i] for i in order] assert tids == [ "TID: *" if all else f"TID: {hex(i + 1)}" for i, all in zip(order, merged)