╭ changed ────╮ │src/serve.zig│ ╰─────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭───────────────────────────────────────────────────────────────────────────────────╮ │175 ) !void { │ │176 // always fall back, so another instance viewing a second repo just binds │ │177 // its own port │ │181 - const wui_listen_address = try parseListenAddress((Options{}).wui_listen);│ │182 - var wui_server = try listen(io, wui_listen_address, .fallback); │ │183 - defer wui_server.deinit(io); │ │178 + const web_listen_address = try parseListenAddress((Options{}).web_listen);│ │179 + var web_server = try listen(io, web_listen_address, .fallback); │ │180 + defer web_server.deinit(io); │ │181 │ │182 var tasks: std.Io.Group = .init; │ │183 defer tasks.cancel(io); │ ╰───────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │184 │ │188 - runWebListener(io, allocator, &wui_server, &tasks, .{ .local = local }, err); │ │185 + runWebListener(io, allocator, &web_server, &tasks, .{ .local = local }, err); │ │186 │ │190 - try runnable.run(wui_server.socket.address.getPort()); │ │187 + const web_url = try allocator.print("http://localhost:{d}", .{web_server.socket.address.getPort()});│ │188 + defer allocator.free(web_url); │ │189 + try runnable.run(web_url); │ │190 } │ │191 │ │192 fn runWebListener( │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────╯