╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ────────╮ │src/serve_ssh.zig│ ╰─────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │521 inline else => |*repo| try repo.uploadPack(io, allocator, reader, writer, .{ .protocol_version = protocol_version }, &sideband),│ │522 } │ │523 } else { │ │520 - if (!std.mem.eql(u8, target.repo.event.name, forker_repo.name)) return writeError(sess, "patch draft belongs to another repo"); │ │524 + if (target == null) return writeError(sess, "the repo this patch draft targets was deleted"); │ │525 const target_path = try evt.repoPath(allocator, handler.server.users_dir, &target_owner_id, &target_id); │ │526 defer allocator.free(target_path); │ │527 const author: evt.CommitAuthor = .{ .name = user.event.name, .email = user.event.email }; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ───────────────╮ │src/test/event/admin.zig│ ╰────────────────────────╯ ╭────────────────────────────────────────────╮ │371 .user_id = user_id, │ │372 .repo_id = repo_id, │ │373 .repo_user_id = user_id, │ │374 + .repo_name = "target", │ │375 .title = "add a feature", │ │376 .description = "a draft patch",│ │377 .labels = "enhancement", │ ╰────────────────────────────────────────────╯ ╭ changed ───────────────╮ │src/test/event/patch.zig│ ╰────────────────────────╯ ╭──────────────────────────────────────────────────────────────╮ │889 .user_id = user_id, │ │890 .repo_id = repo_id, │ │891 .repo_user_id = user_id, │ │892 + .repo_name = "target", │ │893 .title = "add the answer", │ │894 .labels = "enhancement", │ │895 .description = "adds a reusable answer constant",│ ╰──────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────╮ │975 .user_id = user_id, │ │976 .repo_id = repo_id, │ │977 .repo_user_id = user_id, │ │978 + .repo_name = "target", │ │979 .title = "explain the answer", │ │980 .labels = "documentation", │ │981 .description = "describes the existing answer",│ ╰────────────────────────────────────────────────────────────╯ ╭ changed ───────╮ │src/test/net.zig│ ╰────────────────╯ ╭────────────────────────────────────────────────╮ │562 .user_id = user_id, │ │563 .repo_id = repo_id, │ │564 .repo_user_id = user_id, │ │565 + .repo_name = "target", │ │566 .title = "add a feature", │ │567 .description = "a draft patch",│ │568 .labels = "enhancement", │ ╰────────────────────────────────────────────────╯ ╭ changed ──╮ │src/try.zig│ ╰───────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │937 if (repo_index + 1 == repo_data.len) { │ │938 var target_repo = try rp.Repo(.xit, .{}).open(io, allocator, .{ .path = repo_path, .require_repo_root = true }); │ │939 defer target_repo.deinit(io, allocator); │ │940 - admin_thread_ids[2] = try seedPatches(io, allocator, server_path, &repo, &target_repo, &repo_event_ids[repo_index], &user_ids[repo_data[repo_index].user_index], &admin_user_id, prng.random(), now); │ │940 + admin_thread_ids[2] = try seedPatches(io, allocator, server_path, &repo, &target_repo, &repo_event_ids[repo_index], repo_data[repo_index].name, &user_ids[repo_data[repo_index].user_index], &admin_user_id, prng.random(), now);│ │941 } │ │942 } │ │943 } │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────╮ │1242 admin_repo: *rp.Repo(.xit, evt.admin_repo_opts),│ │1243 target_repo: *rp.Repo(.xit, .{}), │ │1244 repo_id: *const [evt.event_id_size]u8, │ │1245 + repo_name: []const u8, │ │1246 repo_user_id: *const [evt.event_id_size]u8, │ │1247 user_id: *const [evt.event_id_size]u8, │ │1248 random: std.Random, │ ╰──────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────╮ │1314 .user_id = user_id.*, │ │1315 .repo_id = repo_id.*, │ │1316 .repo_user_id = repo_user_id.*, │ │1317 + .repo_name = repo_name, │ │1318 .title = patch.title, │ │1319 .description = patch.description,│ │1320 .labels = patch.labels, │ ╰───────────────────────────────────────────────────╯ ╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭────────────────────────────────────────────────────────────────────────╮ │37 pub const UserKeys = @import("./ui/UserKeys.zig"); │ │38 pub const UserNotifications = @import("./ui/UserNotifications.zig");│ │39 pub const UserLogin = @import("./ui/UserLogin.zig"); │ │40 +pub const Delete = @import("./ui/Delete.zig"); │ │41 pub const widget = @import("./ui/widget.zig"); │ │42 pub const Widget = widget.Widget; │ │43 │ ╰────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │102 }; │ │103 }, │ │104 .repo => switch (route) { │ │104 - .repo_files, .repo_commits, .repo_diff, .repo_refs, .repo_issues, .repo_patches, .repo_discussions, .repo_events, .repo_undo, .repo_settings, .repo_members, .repo_branches, .repo_repo_new, .repo_user_new, .repo_user => .{ .repo = try Repo.init(arena, session, route) }, │ │105 + .repo_files, .repo_commits, .repo_diff, .repo_refs, .repo_issues, .repo_patches, .repo_discussions, .repo_events, .repo_undo, .repo_settings, .repo_members, .repo_branches, .repo_delete, .repo_repo_new, .repo_user_new, .repo_user => .{ .repo = try Repo.init(arena, session, route) },│ │106 else => return error.UnexpectedRoute, │ │107 }, │ │108 .fork => switch (route) { │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯