╭ changed ─╮ │src/ui.zig│ ╰──────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────╮ │826 │ │827 pub fn repoPatchPublishRoute(identity: []const u8, selected: []const u8) ?RoutablePage {│ │828 if (selected.len == 0) return null; │ │875 - var route = repoPatchesRoute(identity, .open, "", selected) orelse return null; │ │829 + var route = repoPatchesRoute(identity, .open, selected) orelse return null; │ │830 switch (route) { │ │831 .repo_patches => |*patch| patch.view = .publish, │ │832 else => unreachable, │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────╮ │836 │ │837 pub fn repoPatchMergeRoute(identity: []const u8, selected: []const u8) ?RoutablePage {│ │838 if (selected.len == 0) return null; │ │885 - var route = repoPatchesRoute(identity, .open, "", selected) orelse return null; │ │839 + var route = repoPatchesRoute(identity, .open, selected) orelse return null; │ │840 switch (route) { │ │841 .repo_patches => |*patch| patch.view = .merge, │ │842 else => unreachable, │ ╰───────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │844 return route; │ │845 } │ │846 │ │893 - pub fn repoDiscussionsRoute(identity: []const u8, label: []const u8, selected: []const u8) ?RoutablePage {│ │847 + pub fn repoDiscussionsRoute(identity: []const u8, selected: []const u8) ?RoutablePage { │ │848 return .{ .repo_discussions = .{ │ │849 .name = Array(repo_route_max_len).from(identity) orelse return null, │ │896 - .label = Array(discussion_label_route_max_len).from(label) orelse return null, │ │850 .selected = Array(evt.event_id_size * 2).from(selected) orelse return null, │ │851 } }; │ │852 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │853 │ │854 // build the default list route for a thread event kind. │ │902 - pub fn repoThreadRoute(kind: evt.EventKind, identity: []const u8, label: []const u8, selected: []const u8) ?RoutablePage {│ │855 + pub fn repoThreadRoute(kind: evt.EventKind, identity: []const u8, selected: []const u8) ?RoutablePage { │ │856 return switch (kind) { │ │904 - .issue => repoIssuesRoute(identity, .open, label, selected), │ │905 - .patch => repoPatchesRoute(identity, .open, label, selected), │ │906 - .discuss => repoDiscussionsRoute(identity, label, selected), │ │857 + .issue => repoIssuesRoute(identity, .open, selected), │ │858 + .patch => repoPatchesRoute(identity, .open, selected), │ │859 + .discuss => repoDiscussionsRoute(identity, selected), │ │860 else => null, │ │861 }; │ │862 } │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │863 │ │864 // build a selected thread route at one of its comment windows. │ │865 pub fn repoThreadCommentsRoute(kind: evt.EventKind, identity: []const u8, selected: []const u8, start: usize) ?RoutablePage {│ │913 - var route = repoThreadRoute(kind, identity, "", selected) orelse return null; │ │866 + var route = repoThreadRoute(kind, identity, selected) orelse return null; │ │867 switch (route) { │ │868 .repo_issues => |*thread| thread.comments_start = start, │ │869 .repo_patches => |*thread| thread.comments_start = start, │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │937 return route; │ │938 } │ │939 │ │987 - // build a thread labels route, keeping its url-encoded label filter. │ │988 - pub fn repoThreadLabelsRoute(kind: evt.EventKind, identity: []const u8, label: []const u8) ?RoutablePage {│ │989 - var route = repoThreadRoute(kind, identity, label, "") orelse return null; │ │940 + // build a thread labels route. │ │941 + pub fn repoThreadLabelsRoute(kind: evt.EventKind, identity: []const u8) ?RoutablePage { │ │942 + var route = repoThreadRoute(kind, identity, "") orelse return null; │ │943 switch (route) { │ │944 .repo_issues => |*thread| thread.view = .labels, │ │945 .repo_patches => |*thread| thread.view = .labels, │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────╮ │ 951 │ │ 952 // build a new-thread form route. │ │ 953 pub fn repoThreadNewRoute(kind: evt.EventKind, identity: []const u8) ?RoutablePage {│ │1001 - var route = repoThreadRoute(kind, identity, "", "") orelse return null; │ │ 954 + var route = repoThreadRoute(kind, identity, "") orelse return null; │ │ 955 switch (route) { │ │ 956 .repo_issues => |*thread| thread.view = .new, │ │ 957 .repo_patches => |*thread| thread.view = .new, │ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 964 // build the edit form route for a thread. │ │ 965 pub fn repoThreadEditRoute(kind: evt.EventKind, identity: []const u8, selected: []const u8) ?RoutablePage {│ │ 966 if (selected.len == 0) return null; │ │1014 - var route = repoThreadRoute(kind, identity, "", selected) orelse return null; │ │ 967 + var route = repoThreadRoute(kind, identity, selected) orelse return null; │ │ 968 switch (route) { │ │ 969 .repo_issues => |*thread| thread.view = .edit, │ │ 970 .repo_patches => |*thread| thread.view = .edit, │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 977 // build a route showing a thread's whole description. │ │ 978 pub fn repoThreadDescriptionRoute(kind: evt.EventKind, identity: []const u8, selected: []const u8) ?RoutablePage {│ │ 979 if (selected.len == 0) return null; │ │1027 - var route = repoThreadRoute(kind, identity, "", selected) orelse return null; │ │ 980 + var route = repoThreadRoute(kind, identity, selected) orelse return null; │ │ 981 switch (route) { │ │ 982 .repo_issues => |*thread| thread.view = .description, │ │ 983 .repo_patches => |*thread| thread.view = .description, │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1155 try arena.allocator().print("{s}/" ++ issue_seg ++ "{s}/" ++ comment_seg ++ "{s}/" ++ start_seg ++ "{d}", .{ prefix, i.selected.slice(), i.comment.slice(), i.comments_start });│ │1156 var out: std.Io.Writer.Allocating = .init(arena.allocator()); │ │1157 // the list the thread is selected in stays filtered, so paging │ │1205 - // and reloading keep the label and the query │ │1158 + // and reloading keep the query │ │1159 if (i.selected.len != 0) { │ │1160 try out.writer.print("{s}/" ++ issue_seg ++ "{s}", .{ prefix, i.selected.slice() }); │ │1208 - try writeListFilters(&out.writer, i.label.slice(), i.assignee.slice(), i.search.slice()); │ │1161 + if (i.search.len != 0) try out.writer.print("/" ++ search_seg ++ "{s}", .{i.search.slice()}); │ │1162 if (i.comments_start != 0) try out.writer.print("/" ++ start_seg ++ "{d}", .{i.comments_start}); │ │1163 break :blk out.written(); │ │1164 } │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯