From 0c644d5b1c8a744252642e9950156c5ca81a597e Mon Sep 17 00:00:00 2001 From: Vitaly Takmazov Date: Sat, 6 Jul 2019 12:26:25 +0300 Subject: ActivityPub: Mastodon hashtag should have href It should fix displaying as attachment in Mastodon feed --- src/main/java/com/juick/server/ActivityPubManager.java | 7 +------ .../com/juick/server/api/activity/model/objects/Hashtag.java | 9 +++++++-- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/main/java/com/juick/server') diff --git a/src/main/java/com/juick/server/ActivityPubManager.java b/src/main/java/com/juick/server/ActivityPubManager.java index 38a853b4..c40bbb5c 100644 --- a/src/main/java/com/juick/server/ActivityPubManager.java +++ b/src/main/java/com/juick/server/ActivityPubManager.java @@ -276,12 +276,7 @@ public class ActivityPubManager implements ActivityListener, NotificationListene attachment.setMediaType(HttpUtils.mediaType(msg.getAttachmentType())); note.setAttachment(Collections.singletonList(attachment)); } - note.setTags(msg.getTags().stream().map(t -> { - Hashtag hashtag = new Hashtag(); - hashtag.setId(tagUri(t)); - hashtag.setName(t.getName()); - return hashtag; - }).collect(Collectors.toList())); + note.setTags(msg.getTags().stream().map(t -> new Hashtag(tagUri(t), t.getName())).collect(Collectors.toList())); if (msg.getReplyToUri() != null && msg.getReplyToUri().toASCIIString().length() > 0) { Optional noteContext = signatureManager.getContext(msg.getReplyToUri()); if (noteContext.isPresent()) { diff --git a/src/main/java/com/juick/server/api/activity/model/objects/Hashtag.java b/src/main/java/com/juick/server/api/activity/model/objects/Hashtag.java index 34e73be6..46ad424e 100644 --- a/src/main/java/com/juick/server/api/activity/model/objects/Hashtag.java +++ b/src/main/java/com/juick/server/api/activity/model/objects/Hashtag.java @@ -1,6 +1,11 @@ package com.juick.server.api.activity.model.objects; -import com.juick.server.api.activity.model.Context; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonProperty; -public class Hashtag extends Context { +public class Hashtag extends Mention { + @JsonCreator + public Hashtag(@JsonProperty("href") String href, @JsonProperty("name") String name) { + super(href, name); + } } -- cgit v1.2.3