╭ changed ──╮ │src/try.zig│ ╰───────────╯ ╭───────────╮ │← all files│ ╰───────────╯ ╭──────────╮ │← previous│ ╰──────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │590 .title = "High CPU usage while idle in the background", │ │591 - .description = "The main loop polls for file changes every 10 ms even when no window is visible. Switch to native file watching and idle at zero CPU.", │ │591 + .description = "The main loop polls for file changes every 10 ms even when no window is visible.\n\n> Switch to native file watching and idle at zero CPU.",│ │592 .labels = "performance priority-high", │ │593 }, │ │594 .{ │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │595 .title = "Paste from clipboard drops the final newline", │ │596 - .description = "Pasting text that ends with a newline silently trims it, which breaks pasted shell snippets. Preserve the clipboard content exactly.", │ │596 + .description = "Pasting text that ends with a newline silently trims it, which breaks pasted shell snippets. Preserve the clipboard content *exactly*.",│ │597 .labels = "bug editor clipboard", │ │598 }, │ │599 .{ │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │600 .title = "Improve error message for expired credentials", │ │601 - .description = "An expired token currently surfaces as a bare 401 with no guidance. Detect the expiry case and tell the user how to re-authenticate.", │ │601 + .description = "## Problem\n\nAn expired token currently surfaces as a bare `401` with no guidance.\n\n## Fix\n\nDetect the expiry case and tell the user how to re-authenticate, linking to the [setup guide](https://github.com/xit-vcs/haxy).",│ │602 .labels = "enhancement ux auth", │ │603 }, │ │604 .{ │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │605 .title = "Crash when window is resized during startup animation", │ │606 - .description = "Resizing the window while the splash animation is running dereferences a freed layout node. Cancel the animation before rebuilding the layout.", │ │606 + .description = "Resizing the window while the splash animation is running dereferences a **freed** layout node. Cancel the animation before rebuilding the layout.",│ │607 .labels = "bug crash ui", │ │608 }, │ │609 .{ │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │618 }, │ │619 .{ │ │620 .title = "Deprecate the legacy plugin format", │ │621 - .description = "Both plugin formats are currently loaded, doubling the maintenance surface. Warn on legacy plugins this release and drop support in the next.", │ │621 + .description = "Both plugin formats are currently loaded, doubling the maintenance surface.\n\n- [ ] warn on legacy plugins this release\n- [ ] drop support in the next",│ │622 .labels = "maintenance plugins", │ │623 }, │ │624 }; │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │680 .author = .{ .name = user_data[1].name, .email = user_data[1].email }, │ │681 .event = .{ .issue = .{ │ │682 .title = sync_issue.title, │ │683 - .description = "The sync engine's coverage is unit tests only, with every transport mocked out." ++ "\n\n" ++ │ │683 + .description = "The sync engine's coverage is *unit tests* only, with every transport mocked out." ++ "\n\n" ++│ │684 sync_p2 ++ "\n\n" ++ sync_p3, │ │685 .labels = sync_issue.labels, │ │686 } }, │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │691 .event = .{ .issue = .{ │ │692 .title = desc_issue.title, │ │693 .description = tz_p1 ++ "\n\n" ++ tz_p2 ++ "\n\n" ++ tz_p4 ++ "\n\n" ++ │ │694 - "The confusion is worst for teams spread across timezones, who each read a different wall-clock time from the same feed.", │ │694 + "> The confusion is worst for teams spread across timezones, who each read a different wall-clock time from the same feed.",│ │695 .labels = desc_issue.labels, │ │696 } }, │ │697 } }; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │711 .event = .{ .issue = .{ │ │712 .title = sync_issue.title, │ │713 .description = sync_p1 ++ "\n\n" ++ sync_p2 ++ "\n\n" ++ │ │714 - "Add end-to-end tests that drive two live instances against a local server on every CI run.", │ │714 + "Add end-to-end tests that drive two live instances against a local server on **every** CI run.",│ │715 .labels = sync_issue.labels, │ │716 } }, │ │717 }, .{ │ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │721 .event = .{ .issue = .{ │ │722 .title = desc_issue.title, │ │723 .description = tz_p1 ++ "\n\n" ++ tz_p2 ++ "\n\n" ++ │ │724 - "Most other clients already render local time by default, which makes our UTC output stand out as a bug." ++ "\n\n" ++ tz_p4 ++ "\n\n" ++ │ │725 - "Log exports inherit the same UTC rendering, so downstream tooling has to guess the source timezone.", │ │724 + "Most other clients already render local time by default, which makes our `UTC` output stand out as a bug." ++ "\n\n" ++ tz_p4 ++ "\n\n" ++│ │725 + "Log exports inherit the same UTC rendering, so downstream tooling has to *guess* the source timezone.", │ │726 .labels = desc_issue.labels, │ │727 } }, │ │728 } }; │ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │754 for (&comment_ids) |*id| id.* = evt.EventWithId.randomId(prng.random()); │ │755 │ │756 const comment_bodies = [_][]const u8{ │ │757 - "I can take this. The compatibility scanner already reports which repositories still use the legacy format.", │ │758 - "Can we keep loading legacy plugins for one release after the warning lands? That would give downstream maintainers time to migrate.", │ │759 - "That sounds good. I'll include the scanner output in the warning so each affected plugin is named.", │ │760 - "Please include the replacement manifest path too. That should make the warning actionable without opening the migration guide.", │ │761 - "I'll add release-note text once the warning format is settled.", │ │757 + "I can take this. The compatibility scanner already reports which repositories still use the **legacy** format.", │ │758 + "Can we keep loading legacy plugins for *one release* after the warning lands? That would give downstream maintainers time to migrate.", │ │759 + "That sounds good. I'll include the scanner output in the warning so each affected plugin is named:\n\n```\nwarning: plugins/foo.so uses the legacy format\n```", │ │760 + "Please include the replacement manifest path too. That should make the warning actionable without opening the [migration guide](https://github.com/xit-vcs/haxy).",│ │761 + "I'll add release-note text once the warning format is settled:\n\n- [x] draft the summary\n- [ ] list the affected plugins", │ │762 }; │ │763 │ │764 var comment_events: [comment_ids.len]evt.EventWithId = undefined; │ ╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ ╭──────╮ │next →│ ╰──────╯