╭──────────╮ │← previous│ ╰──────────╯ ╭ changed ───────╮ │src/test/net.zig│ ╰────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1010 const issue = try evt.read(evt.Issue.Record, ServerRepo.DB, repo_opts.hash, &arena, try ServerRepo.DB.HashMap(.read_only).init(issue_cursor));│ │1011 │ │1012 try std.testing.expectEqualStrings(events_to_push[0].event.issue.?.description, issue.event.description); │ │1013 - try std.testing.expectEqualStrings(events_to_push[0].event.issue.?.tags, issue.event.tags); │ │1013 + try std.testing.expectEqualStrings(events_to_push[0].event.issue.?.labels, issue.event.labels); │ │1014 } │ │1015 │ │1016 // │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1026 .issue = .{ │ │1027 .title = "Login form clears password on validation error", │ │1028 .description = "Submitting an invalid email address resets the password field and removes typed input. Preserve the field value and show an inline validation message.",│ │1029 - .tags = "bug priority-low ui", │ │1029 + .labels = "bug priority-low ui", │ │1030 }, │ │1031 }, │ │1032 }, │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │1053 const issue_cursor = try records.getCursor(hash.hashInt(repo_opts.hash, &issue_event_id)) orelse return error.NotFound; │ │1054 const issue = try evt.read(evt.Issue.Record, ServerRepo.DB, repo_opts.hash, &arena, try ServerRepo.DB.HashMap(.read_only).init(issue_cursor));│ │1055 │ │1056 - // the description and tags were correctly edited │ │1056 + // the description and labels were correctly edited │ │1057 try std.testing.expectEqualStrings(events_to_push2[0].event.issue.?.description, issue.event.description); │ │1058 - try std.testing.expectEqualStrings(events_to_push2[0].event.issue.?.tags, issue.event.tags); │ │1058 + try std.testing.expectEqualStrings(events_to_push2[0].event.issue.?.labels, issue.event.labels); │ │1059 } │ │1060 } │ │1061 │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──────╮ │src/test/ui.zig│ ╰───────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │27 try ui.inputKey(allocator, &root, key, &session); │ │28 try root.build(allocator, constraint, focus); │ │29 } │ │30 - for ([_][]const u8{ "title", "tags", "description" }) |name| { │ │30 + for ([_][]const u8{ "title", "labels", "description" }) |name| { │ │31 const input = session.text_inputs.get(focus.grandchild_id orelse return error.NoFocus) orelse return error.MissingInput;│ │32 try std.testing.expectEqualStrings(name, input.options.name); │ │33 try ui.inputKey(allocator, &root, .{ .codepoint = 'x' }, &session); │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────╮ │355 try evt.consume(.local, .repo, .git, .{}, io, allocator, &local, evt.events_ref, &.{.{│ │356 .id = std.fmt.bytesToHex(id, .lower), │ │357 .author = .{ .name = "haxy", .email = "user@haxy" }, │ │358 - .event = .{ .issue = .{ .title = "sync", .description = "", .tags = "" } }, │ │358 + .event = .{ .issue = .{ .title = "sync", .description = "", .labels = "" } }, │ │359 }}); │ │360 } │ │361 │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────╮ │367 try evt.consume(.local, .repo, .git, .{}, io, allocator, &local, evt.events_ref, &.{.{│ │368 .id = std.fmt.bytesToHex(id, .lower), │ │369 .author = .{ .name = "haxy", .email = "user@haxy" }, │ │370 - .event = .{ .issue = .{ .title = "local", .description = "", .tags = "" } }, │ │370 + .event = .{ .issue = .{ .title = "local", .description = "", .labels = "" } }, │ │371 }}); │ │372 } │ │373 { │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │377 try evt.consume(.local, .repo, .git, .{}, io, allocator, &remote, evt.events_ref, &.{.{ │ │378 .id = std.fmt.bytesToHex(id, .lower), │ │379 .author = .{ .name = "haxy", .email = "user@haxy" }, │ │380 - .event = .{ .issue = .{ .title = "remote", .description = "", .tags = "" } }, │ │380 + .event = .{ .issue = .{ .title = "remote", .description = "", .labels = "" } }, │ │381 }}); │ │382 } │ │383 try std.testing.expectEqual(null, try Events.sync(io, allocator, .{ .path = local_path, .repo_kind = .git }));│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭ changed ──╮ │src/try.zig│ ╰───────────╯ ╭──────────────────────────────────────────────────────╮ │446 const issue_data = [_]struct { │ │447 title: []const u8, │ │448 description: []const u8, │ │449 - tags: []const u8, │ │449 + labels: []const u8, │ │450 status: evt.Issue.Status = .open,│ │451 }{ │ │452 .{ │ ╰──────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │453 .title = "Crash on startup when config file is missing", │ │454 .description = "Running the program without a config file present dereferences a null pointer and segfaults. Fall back to the built-in defaults and log a warning instead.",│ │455 - .tags = "bug priority-high crash", │ │455 + .labels = "bug priority-high crash", │ │456 }, │ │457 .{ │ │458 .title = "Support dark mode in the settings panel", │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │459 .description = "The settings panel is always rendered with the light palette even when the rest of the app is in dark mode. Read the active theme and pick colors accordingly.",│ │460 - .tags = "enhancement ui theme", │ │460 + .labels = "enhancement ui theme", │ │461 }, │ │462 .{ │ │463 .title = "Memory leak when reconnecting after network failure", │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯