Adds _linkifyIssueRefs() to ChangeLogScreen which replaces every #NNN pattern in the changelog text with a Markdown link pointing to https://codeberg.org/guettli/sharedinbox/issues/NNN.
The conversion runs before the existing _injectInstallMarkers step, so the flutter_markdown_plus renderer picks up the links automatically.
The existing onTapLink handler already opens URLs in an external browser — no further changes needed.
## Summary
- Adds `_linkifyIssueRefs()` to `ChangeLogScreen` which replaces every `#NNN` pattern in the changelog text with a Markdown link pointing to `https://codeberg.org/guettli/sharedinbox/issues/NNN`.
- The conversion runs before the existing `_injectInstallMarkers` step, so the `flutter_markdown_plus` renderer picks up the links automatically.
- The existing `onTapLink` handler already opens URLs in an external browser — no further changes needed.
Closes #472
## Test plan
- New widget test `ChangeLogScreen renders #NNN as a tappable link` verifies that `#42` text appears in the rendered output after linkification.
- All 5 `changelog_screen_test.dart` tests pass.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
_linkifyIssueRefs()toChangeLogScreenwhich replaces every#NNNpattern in the changelog text with a Markdown link pointing tohttps://codeberg.org/guettli/sharedinbox/issues/NNN._injectInstallMarkersstep, so theflutter_markdown_plusrenderer picks up the links automatically.onTapLinkhandler already opens URLs in an external browser — no further changes needed.Closes #472
Test plan
ChangeLogScreen renders #NNN as a tappable linkverifies that#42text appears in the rendered output after linkification.changelog_screen_test.darttests pass.🤖 Generated with Claude Code