╭ changed ────────╮ │src/serve_ssh.zig│ ╰─────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────╮ │62 const page: ui.Page = .{ .home = try .init(repo_opts, &page_arena, &repo, &ui_session) };│ │63 │ │64 var root = try ui.initRoot(allocator, &page, &ui_session); │ │65 - defer root.deinit(); │ │65 + defer root.deinit(allocator); │ │66 │ │67 // terminal and its writer adapter live in a nested block so the deinit │ │68 // (which writes leave-alt / show-cursor / disable-mouse to the channel) │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │83 defer last_grid.deinit(); │ │84 │ │85 // initial render — user sees the page immediately │ │86 - try root.build(.{ │ │86 + try root.build(allocator, .{ │ │87 .min_size = .{ .width = null, .height = null }, │ │88 .max_size = .{ .width = last_size.width, .height = last_size.height },│ │89 }, root.getFocus()); │ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────╮ │ 99 defer allocator.free(payload); │ │100 try terminal.writeBytes(payload); │ │101 while (terminal.popKey()) |key| { │ │102 - try ui.inputKey(&root, key, &terminal); │ │102 + try ui.inputKey(allocator, &root, key, &terminal);│ │103 } │ │104 }, │ │105 .resize => |sz| { │ ╰───────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────╮ │106 terminal.pushResize(.{ .width = sz.width_cells, .height = sz.height_cells });│ │107 while (terminal.popKey()) |key| { │ │108 - try ui.inputKey(&root, key, &terminal); │ │108 + try ui.inputKey(allocator, &root, key, &terminal); │ │109 } │ │110 }, │ │111 .close => terminal.requestQuit(), │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────╮ │112 } │ │113 │ │114 - try root.build(.{ │ │114 + try root.build(allocator, .{ │ │115 .min_size = .{ .width = null, .height = null }, │ │116 .max_size = .{ .width = last_size.width, .height = last_size.height },│ │117 }, root.getFocus()); │ ╰───────────────────────────────────────────────────────────────────────────────────────────╯