╭ changed ────────╮ │src/serve_ssh.zig│ ╰─────────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │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(&session_arena, &repo, .{}); │ │76 + ui_session.is_terminal = true; │ │77 │ │78 var nav = try ui.Nav.init(allocator, &ui_session); │ │79 defer nav.deinit(allocator); │ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────╮ │126 │ │127 try ui_session.applyAndWritePending(io, allocator, &repo); │ │128 │ │128 - // reconcile navigation: forward to a new page, or back on escape (and│ │129 - // quit when there's nothing left to go back to). │ │130 - if (!try nav.sync(allocator, &ui_session)) terminal.requestQuit(); │ │129 + // reconcile navigation: forward to a new page, or back on escape │ │130 + try nav.sync(allocator, &ui_session); │ │131 + │ │132 + // the quit button (on the quit tab) asks the host to tear down │ │133 + if (ui_session.quit_requested) terminal.requestQuit(); │ │134 │ │135 try nav.root.build(allocator, .{ │ │136 .min_size = .{ .width = null, .height = null }, │ ╰───────────────────────────────────────────────────────────────────────────────────╯