╭ changed ────╮ │src/serve.zig│ ╰─────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │89 │ │90 // create ssh listener and its session state │ │91 │ │92 - const clone_http_port: ?u16 = if (http_maybe) |*http| http.port() else null; │ │92 + const git_http_port: ?u16 = if (http_maybe) |*http| http.port() else null; │ │93 var ssh_maybe: ?SshService = if (options.ssh_listen) |value| blk: { │ │94 const address = try parseListenAddress(value); │ │95 var listener = BoundListener{ .address = address, .server = try listen(io, address, .reuse) };│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────╮ │102 .admin_repo_path = admin_repo_path, │ │103 .repo_root_path = repo_root_path, │ │104 .wui_port = wui_server.socket.address.getPort(),│ │105 - .clone_http_port = clone_http_port, │ │106 - .clone_ssh_port = ssh_port, │ │105 + .git_http_port = git_http_port, │ │106 + .git_ssh_port = ssh_port, │ │107 .err = err, │ │108 }, │ │109 }; │ ╰─────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │117 │ │118 // run listeners, printing the ports actually bound │ │119 │ │120 - const clone_ssh_port: ?u16 = if (ssh_maybe) |*ssh| ssh.listener.port() else null; │ │120 + const git_ssh_port: ?u16 = if (ssh_maybe) |*ssh| ssh.listener.port() else null; │ │121 │ │122 if (http_maybe) |*http| { │ │123 try err.print("serving HTTP on {s}:{d}, repo root {s}\n", .{ http.address.host, http.port(), repo_root_path });│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────╮ │137 runWebListener(io, allocator, &wui_server, &tasks, .{ .remote = .{│ │138 .admin_repo_path = admin_repo_path, │ │139 .session_store = session_store, │ │140 - .clone_http_port = clone_http_port, │ │141 - .clone_ssh_port = clone_ssh_port, │ │140 + .git_http_port = git_http_port, │ │141 + .git_ssh_port = git_ssh_port, │ │142 } }, err); │ │143 │ │144 if (@TypeOf(runnable) != void) { │ ╰───────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────╮ │145 - try runnable.run(wui_server.socket.address.getPort(), clone_http_port, clone_ssh_port);│ │145 + try runnable.run(wui_server.socket.address.getPort(), git_http_port, git_ssh_port); │ │146 } else { │ │147 try tasks.await(io); │ │148 } │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ────────╮ │src/serve_ssh.zig│ ╰─────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │27 admin_repo_path: []const u8, │ │28 repo_root_path: []const u8, │ │29 wui_port: u16, // port the web UI is served on, shown in the TUI footer's url │ │30 - clone_http_port: ?u16, │ │31 - clone_ssh_port: ?u16, │ │30 + git_http_port: ?u16, │ │31 + git_ssh_port: ?u16, │ │32 err: *std.Io.Writer, │ │33 │ │34 pub fn handleSession(self: *const SessionHandler, sess: *ssh.SessionCtx, request: ssh.Request) !void {│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │197 var ui_session = try ui.Session.init(&session_arena, &repo, .{}); │ │198 ui_session.is_terminal = true; │ │199 ui_session.web_port = handler.wui_port; │ │200 - ui_session.data.clone_http_port = handler.clone_http_port; │ │201 - ui_session.data.clone_ssh_port = handler.clone_ssh_port; │ │200 + ui_session.data.git_http_port = handler.git_http_port; │ │201 + ui_session.data.git_ssh_port = handler.git_ssh_port; │ │202 // let page builders open on-disk repos (sibling "repos" dir of the admin repo) │ │203 ui_session.io = io; │ │204 ui_session.repos_dir = try std.fs.path.join(session_arena.allocator(), &.{ std.fs.path.dirname(handler.admin_repo_path) orelse ".", "repos" });│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──╮ │src/try.zig│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────╮ │916 pub fn run(self: @This(), web_port: u16, http_port: ?u16, ssh_port: ?u16) !void {│ │917 // launch the TUI; the footer points at whatever port was bound │ │918 self.session.web_port = web_port; │ │919 - self.session.data.clone_http_port = http_port; │ │920 - self.session.data.clone_ssh_port = ssh_port; │ │919 + self.session.data.git_http_port = http_port; │ │920 + self.session.data.git_ssh_port = ssh_port; │ │921 try hx.ui.run(self.io, self.allocator, self.session, self.repo); │ │922 } │ │923 }; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭──────────────────────────────────────────────────────────────╮ │21 pub const Title = @import("./ui/Title.zig"); │ │22 pub const SubTitle = @import("./ui/SubTitle.zig"); │ │23 pub const Quit = @import("./ui/Quit.zig"); │ │24 -pub const CloneUrl = @import("./ui/CloneUrl.zig"); │ │24 +pub const GitRemote = @import("./ui/GitRemote.zig"); │ │25 pub const Unauthorized = @import("./ui/Unauthorized.zig");│ │26 │ │27 pub const clipped_bottom_label_max_len = 10 * 4; │ ╰──────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │1421 // the selected ANSI art. the server serializes one image for WASM so │ │1422 // the browser does not need the whole build-generated collection. │ │1423 ansi_art: []const u8 = "", │ │1424 - // the bound clone-service ports. absent in local mode, where clone urls│ │1424 + // the bound git-service ports. absent in local mode, where remote urls │ │1425 // are not shown. │ │1426 - clone_http_port: ?u16 = null, │ │1427 - clone_ssh_port: ?u16 = null, │ │1426 + git_http_port: ?u16 = null, │ │1427 + git_ssh_port: ?u16 = null, │ │1428 // true when this session views a single local repo. unlike `local` │ │1429 // (the host-side filesystem source) this travels in the snapshot, so │ │1430 // the wasm side also parses elided link urls and hides the multi-user │ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯