╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1133 .home_users => |a_start| a_start == b.home_users, │ │1134 .home_repos => |a_start| a_start == b.home_repos, │ │1135 .user_repos => |a_u| std.mem.eql(u8, a_u.name.slice(), b.user_repos.name.slice()) and a_u.start == b.user_repos.start,│ │1136 + .user_forks => |a_u| std.mem.eql(u8, a_u.name.slice(), b.user_forks.name.slice()) and a_u.start == b.user_forks.start,│ │1137 .user_settings => |a_name| std.mem.eql(u8, a_name.slice(), b.user_settings.slice()), │ │1138 .user_auth => |a_name| std.mem.eql(u8, a_name.slice(), b.user_auth.slice()), │ │1139 .repo_files => |a_f| std.mem.eql(u8, a_f.name.slice(), b.repo_files.name.slice()) and │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1165 a_t.view == b.repo_discussions.view and │ │1166 a_t.comments_start == b.repo_discussions.comments_start and │ │1167 std.mem.eql(u8, a_t.comment.slice(), b.repo_discussions.comment.slice()), │ │1168 + .repo_patches => |a_p| std.mem.eql(u8, a_p.name.slice(), b.repo_patches.name.slice()) and│ │1169 + std.mem.eql(u8, a_p.tag.slice(), b.repo_patches.tag.slice()) and │ │1170 + std.mem.eql(u8, a_p.selected.slice(), b.repo_patches.selected.slice()) and │ │1171 + std.mem.eql(u8, a_p.theirs.slice(), b.repo_patches.theirs.slice()) and │ │1172 + a_p.view == b.repo_patches.view and │ │1173 + a_p.comments_start == b.repo_patches.comments_start and │ │1174 + std.mem.eql(u8, a_p.comment.slice(), b.repo_patches.comment.slice()), │ │1175 .repo_events => |a_e| std.mem.eql(u8, a_e.name.slice(), b.repo_events.name.slice()) and │ │1176 a_e.view == b.repo_events.view and │ │1177 a_e.kind == b.repo_events.kind and │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1201 .user_repos => |bb| std.mem.eql(u8, aa.name.slice(), bb.name.slice()) and aa.start != bb.start,│ │1202 else => false, │ │1203 }, │ │1204 + .user_forks => |aa| switch (b) { │ │1205 + .user_forks => |bb| std.mem.eql(u8, aa.name.slice(), bb.name.slice()) and aa.start != bb.start,│ │1206 + else => false, │ │1207 + }, │ │1208 else => false, │ │1209 }; │ │1210 } │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │1368 // during page construction. both null on wasm, which has no filesystem and │ │1369 // rebuilds pages from the serialized snapshot rather than from disk. │ │1370 io: ?std.Io = null, │ │1371 + admin_repo: ?*rp.Repo(.xit, evt.admin_repo_opts) = null, │ │1372 repos_dir: ?[]const u8 = null, │ │1373 // the single on-disk repo this session views, when running in local mode │ │1374 // (haxy invoked with no arguments inside a repo). null on the server paths,│ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────╮ │1449 // allocations land in the session arena. on the web path that's the│ │1450 // intended behavior, since the whole arena is per-request. │ │1451 .page_arena = arena, │ │1452 + .admin_repo = repo, │ │1453 .haxy_moment = try evt.currentMoment(evt.admin_repo_opts, repo), │ │1454 }; │ │1455 try session.loadUser(); │ ╰──────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────╮ │2046 repo_files_header: Repo.Files.Header.View, │ │2047 repo_commits_header: Repo.Commits.Header.View, │ │2048 repo_issues_header: Repo.Issues.Header, │ │2049 + repo_patches_header: Repo.Patches.Header, │ │2050 repo_discussions_header: Repo.Discussions.Header,│ │2051 repo_files: Repo.Files.View, │ │2052 repo_commits: Repo.Commits.View, │ ╰───────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────╮ │2053 repo_refs: Repo.Refs.View, │ │2054 repo_issues: Repo.Issues.View, │ │2055 + repo_patches: Repo.Patches.View, │ │2056 repo_discussions: Repo.Discussions.View, │ │2057 repo_events_header: Repo.Events.Header.View,│ │2058 repo_events: Repo.Events.View, │ ╰──────────────────────────────────────────────────────╯