╭ changed ────────╮ │src/serve_ssh.zig│ ╰─────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │65 .height_cells = if (pty.height_cells == 0) 24 else pty.height_cells, │ │66 }; │ │67 │ │68 - // build the Home page in a session-scoped arena. │ │69 - var page_arena = std.heap.ArenaAllocator.init(allocator); │ │70 - defer page_arena.deinit(); │ │68 + // session-lifetime allocations (login, prefs); Nav owns the per-page arenas. │ │69 + var session_arena = std.heap.ArenaAllocator.init(allocator); │ │70 + defer session_arena.deinit(); │ │71 │ │72 const Repo = rp.Repo(.xit, evt.admin_repo_opts); │ │73 var repo = try Repo.open(io, allocator, .{ .path = handler.admin_repo_path });│ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │74 defer repo.deinit(io, allocator); │ │75 - var ui_session = try ui.Session.init(&page_arena, &repo, .{}); │ │76 - │ │77 - const page: ui.Page = try ui.Page.init(&page_arena, ui_session.haxy_moment orelse unreachable, ui_session.data.current_page);│ │75 + var ui_session = try ui.Session.init(&session_arena, &repo, .{}); │ │76 │ │79 - var nav = try ui.Nav.init(allocator, &page, &ui_session); │ │77 + var nav = try ui.Nav.init(allocator, &ui_session); │ │78 defer nav.deinit(allocator); │ │79 │ │80 var session_writer_buf: [8192]u8 = undefined; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯