╭ changed ──────╮ │src/ui/Fork.zig│ ╰───────────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │41 const forker_id = (try evt.User.readIdByName(evt.AdminDB, evt.admin_repo_opts.hash, haxy_moment, identity.owner)) orelse return error.NotFound;│ │42 const fork_record = (try evt.readForkById(io, gpa, arena, users_dir, &forker_id, &id)) orelse return error.NotFound; │ │43 if (fork_record.removed) return error.NotFound; │ │44 - if (fork_record.event.repo_id.len != evt.event_id_size) return error.NotFound; │ │45 - var target_id: [evt.event_id_size]u8 = undefined; │ │46 - @memcpy(&target_id, fork_record.event.repo_id); │ │47 - const owner_id = fork_record.event.repo_user_id[0..evt.event_id_size]; │ │44 + const target_id = try evt.parseEventId(&fork_record.event.repo_id); │ │45 + const owner_id = try evt.parseEventId(&fork_record.event.repo_user_id); │ │46 │ │49 - const target = (try evt.readRepoById(io, gpa, arena, users_dir, owner_id, &target_id, session.userId())) orelse return error.NotFound; │ │47 + const target = (try evt.readRepoById(io, gpa, arena, users_dir, &owner_id, &target_id, session.userId())) orelse return error.NotFound; │ │48 // a draft is as readable as the repo it targets │ │49 const target_role = target.role orelse return error.NotFound; │ │50 const target_record = target.repo; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │51 // patches that are off take their drafts with them │ │52 if (target_record.event.patch_role == null) return error.NotFound; │ │55 - const owner = (try evt.User.readById(evt.AdminDB, evt.admin_repo_opts.hash, haxy_moment, arena, owner_id)) orelse return error.NotFound; │ │53 + const owner = (try evt.User.readById(evt.AdminDB, evt.admin_repo_opts.hash, haxy_moment, arena, &owner_id)) orelse return error.NotFound;│ │54 if (!std.mem.eql(u8, target_record.event.name, identity.name)) return error.NotFound; │ │55 │ │56 const aa = arena.allocator(); │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │78 @memcpy(&commits_base_oid, revision.record.event.base_oid); │ │79 } │ │80 │ │83 - const target_path = try evt.repoPath(aa, users_dir, owner_id, &target_id); │ │81 + const target_path = try evt.repoPath(aa, users_dir, &owner_id, &target_id); │ │82 const target_source = ui.RepoSource{ .path = target_path, .repo_kind = .xit }; │ │83 var target_repo_maybe: ?rp.Repo(.xit, repo_opts) = if (!target_record.removed) │ │84 rp.Repo(.xit, repo_opts).open(io, arena.child_allocator, target_source.localInitOpts()) catch null│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯