Index: src/routes/posts.js
===================================================================
--- src/routes/posts.js	(revision da71f9d9973e0edeed10e4bade48fe63b1e6d58c)
+++ src/routes/posts.js	(revision 4424af7fc82df76bcf2fcaf1e1f373a4eb94a526)
@@ -1070,4 +1070,8 @@
     html = html.replace(/\[\[(track|album|playlist):[^\]]+\]\]/gi, '');
   }
+  // Linkify inline #hashtags and bare URLs for on-site display — same rules as the
+  // federated copy (buildNote). Was: only the Mastodon copy got links; the website
+  // showed raw "#tag"/URL text. Idempotent, so editor links + embeds are untouched.
+  html = ActivityPubService.linkifyBody('', html);
   post.content_html = html;
 
