diff options
-rw-r--r-- | src/main/assets/scripts.js | 3 | ||||
-rw-r--r-- | src/main/java/com/juick/ActivityPubManager.java | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/main/assets/scripts.js b/src/main/assets/scripts.js index 27e2d59c..eecb3372 100644 --- a/src/main/assets/scripts.js +++ b/src/main/assets/scripts.js @@ -742,7 +742,7 @@ ready(() => { setTimeout(() => fetchUserUri(dataUri, user => { let header = el.closest('.msg-header'); Array.from(header.querySelectorAll('.a-username')).forEach(a => { - a.setAttribute('href', user.uri); + a.setAttribute('href', user.url || user.uri); let img = a.querySelector('img'); if (img && user.avatar) { img.setAttribute('src', user.avatar); @@ -765,6 +765,7 @@ ready(() => { if (textNode.nodeType === Node.TEXT_NODE && textNode.nodeValue.trim().length > 0) { let uname = document.createTextNode(`@${user.uname}`); el.replaceChild(uname, el.firstChild); + el.setAttribute('href', user.url || user.uri); } }), 100); } diff --git a/src/main/java/com/juick/ActivityPubManager.java b/src/main/java/com/juick/ActivityPubManager.java index 5f42028f..90616338 100644 --- a/src/main/java/com/juick/ActivityPubManager.java +++ b/src/main/java/com/juick/ActivityPubManager.java @@ -386,6 +386,7 @@ public class ActivityPubManager implements ActivityListener, NotificationListene if (context.isPresent() && context.get() instanceof Actor actor) { User user = new User(); user.setUri(URI.create(actor.getId())); + user.setUrl(actor.getUrl()); user.setName(actor.getPreferredUsername()); if (actor.getIcon() != null) { user.setAvatar(actor.getIcon().getUrl()); |