╭ changed ───╮ │src/fork.zig│ ╰────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭─────────────────────────────────────────────────────────╮ │436 repo_root_path: []const u8, │ │437 admin_repo: *rp.Repo(.xit, evt.admin_repo_opts),│ │438 id: *const [evt.event_id_size * 2]u8, │ │439 - user_id: *const [evt.event_id_size]u8, │ │439 + expected_user_id: ?*const [evt.event_id_size]u8,│ │440 author: evt.CommitAuthor, │ │441 ) !void { │ │442 const fork_id = try evt.parseEventId(id); │ ╰─────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │444 defer arena.deinit(); │ │445 const moment = try evt.currentMoment(evt.admin_repo_opts, admin_repo); │ │446 const record = (try evt.Fork.readById(evt.AdminDB, evt.admin_repo_opts.hash, moment, &arena, &fork_id)) orelse return error.InvalidPatchDraft;│ │447 - if (!std.mem.eql(u8, record.event.user_id, user_id)) return error.InvalidPatchDraft; │ │447 + if (expected_user_id) |user_id| { │ │448 + if (!std.mem.eql(u8, record.event.user_id, user_id)) return error.InvalidPatchDraft; │ │449 + } │ │450 if (!record.removed) try evt.remove(.admin, .xit, evt.admin_repo_opts, io, allocator, admin_repo, &fork_id, .fork, author); │ │451 │ │452 const path = try forkPath(allocator, repo_root_path, id); │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯