mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-11 08:47:33 +00:00
Closes the last rich-text fidelity residual. url/email/phone were rendered generically by the shared core via RichTextInteractions callbacks, losing each front end's per-type styling and open behavior. They now go through the RichTextSegmentRenderer strategy: - Add Url(url, displayText)/Email(address)/Phone(number) to the contract (with plain-text defaults). - Core routes LinkSegment(no-preview)/SchemelessUrl -> Url, Email -> Email, Phone -> Phone; drop the in-core ClickableSpan. - Amethyst renders them with ClickableUrl/ClickableEmail/ClickablePhone (blossom intent + dial preserved); Desktop with ClickableLink / underlined mailto / plain phone text. - RichTextInteractions now carries only onClickHashtag (the one segment the core draws itself, with shared icons); the onOpen* callbacks are gone. Verified: :commons JVM, :desktopApp, :amethyst play debug compile. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LUiGxXMbjVmgspa1X15o1V