╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ──╮ │src/web.zig│ ╰───────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │646 │ │647 var repo = try rp.Repo(.xit, .{}).open(io, allocator, .{ .path = repo_path }); │ │648 defer repo.deinit(io, allocator); │ │649 - event_id_hex = try evt.Comment.create(.xit, .{}, io, allocator, &repo, &thread_id_hex, &parent_id_hex, body, author_email);│ │649 + event_id_hex = try evt.Comment.create(.xit, .{}, io, allocator, &repo, &thread_id_hex, &parent_id_hex, body, author); │ │650 }, │ │651 .local => |src| { │ │652 if (parts.repo_base.len != 0) { │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │658 } │ │659 switch (src.repo_kind) { │ │660 inline else => |repo_kind| { │ │661 - var any_repo = try rp.AnyRepo(repo_kind, .{}).open(io, allocator, .{ .path = src.path }); │ │661 + var any_repo = try rp.AnyRepo(repo_kind, .{}).open(io, allocator, src.localInitOpts()); │ │662 defer any_repo.deinit(io, allocator); │ │663 switch (any_repo) { │ │664 - inline else => |*repo| event_id_hex = try evt.Comment.create(repo_kind, repo.self_repo_opts, io, allocator, repo, &thread_id_hex, &parent_id_hex, body, author_email),│ │664 + inline else => |*repo| event_id_hex = try evt.Comment.create(repo_kind, repo.self_repo_opts, io, allocator, repo, &thread_id_hex, &parent_id_hex, body, author), │ │665 } │ │666 }, │ │667 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────╮ │684 host: Host, │ │685 parts: CommentBaseParts, │ │686 body: []const u8, │ │687 - author_email: []const u8, │ │687 + author: evt.CommitAuthor, │ │688 ) !void { │ │689 const comment_id = parts.comment_id orelse return error.NotFound;│ │690 const thread_id = std.fmt.bytesToHex(parts.thread_id, .lower); │ ╰──────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │702 │ │703 var repo = try rp.Repo(.xit, .{}).open(io, allocator, .{ .path = repo_path }); │ │704 defer repo.deinit(io, allocator); │ │705 - try evt.Comment.update(.xit, .{}, io, allocator, &repo, &thread_id, &comment_id, body, author_email);│ │705 + try evt.Comment.update(.xit, .{}, io, allocator, &repo, &thread_id, &comment_id, body, author); │ │706 }, │ │707 .local => |src| { │ │708 if (parts.repo_base.len != 0) return error.NotFound; │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │709 switch (src.repo_kind) { │ │710 inline else => |repo_kind| { │ │711 - var any_repo = try rp.AnyRepo(repo_kind, .{}).open(io, allocator, .{ .path = src.path }); │ │711 + var any_repo = try rp.AnyRepo(repo_kind, .{}).open(io, allocator, src.localInitOpts()); │ │712 defer any_repo.deinit(io, allocator); │ │713 switch (any_repo) { │ │714 - inline else => |*repo| try evt.Comment.update(repo_kind, repo.self_repo_opts, io, allocator, repo, &thread_id, &comment_id, body, author_email),│ │714 + inline else => |*repo| try evt.Comment.update(repo_kind, repo.self_repo_opts, io, allocator, repo, &thread_id, &comment_id, body, author), │ │715 } │ │716 }, │ │717 } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │746 ) !void { │ │747 var author_arena = std.heap.ArenaAllocator.init(allocator); │ │748 defer author_arena.deinit(); │ │749 - const author_email = (try eventAuthorEmail(io, allocator, &author_arena, request, host)) orelse return respondLoginRequired(request);│ │749 + const author = (try eventAuthor(io, allocator, &author_arena, request, host)) orelse return respondLoginRequired(request); │ │750 │ │751 var body_buf: [256]u8 = undefined; │ │752 const reader = request.readerExpectNone(&body_buf); │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────╮ │768 } │ │769 │ │770 const not_found = "comment not found"; │ │771 - updateComment(io, allocator, host, parts, body, author_email) catch |err| switch (err) {│ │771 + updateComment(io, allocator, host, parts, body, author) catch |err| switch (err) { │ │772 error.NotFound => { │ │773 try request.respond(not_found, .{ │ │774 .status = .not_found, │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────╮ │809 host: Host, │ │810 parts: IssueBaseParts, │ │811 update: evt.Issue.Update,│ │812 - author_email: []const u8,│ │812 + author: evt.CommitAuthor,│ │813 ) !void { │ │814 switch (host) { │ │815 .remote => |remote| {│ ╰──────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │825 │ │826 var repo = try rp.Repo(.xit, .{}).open(io, allocator, .{ .path = repo_path }); │ │827 defer repo.deinit(io, allocator); │ │828 - try evt.Issue.update(.xit, .{}, io, allocator, &repo, &parts.id_bytes, update, author_email);│ │828 + try evt.Issue.update(.xit, .{}, io, allocator, &repo, &parts.id_bytes, update, author); │ │829 }, │ │830 .local => |src| { │ │831 // the local forms post to "/issue:<id>/...", so the repo base │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │833 if (parts.repo_base.len != 0) return error.NotFound; │ │834 switch (src.repo_kind) { │ │835 inline else => |repo_kind| { │ │836 - var any_repo = try rp.AnyRepo(repo_kind, .{}).open(io, allocator, .{ .path = src.path }); │ │836 + var any_repo = try rp.AnyRepo(repo_kind, .{}).open(io, allocator, src.localInitOpts()); │ │837 defer any_repo.deinit(io, allocator); │ │838 switch (any_repo) { │ │839 - inline else => |*repo| try evt.Issue.update(repo_kind, repo.self_repo_opts, io, allocator, repo, &parts.id_bytes, update, author_email),│ │839 + inline else => |*repo| try evt.Issue.update(repo_kind, repo.self_repo_opts, io, allocator, repo, &parts.id_bytes, update, author), │ │840 } │ │841 }, │ │842 } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯