aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/server/ActivityPubManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server/src/main/java/com/juick/server/ActivityPubManager.java')
-rw-r--r--juick-server/src/main/java/com/juick/server/ActivityPubManager.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/juick-server/src/main/java/com/juick/server/ActivityPubManager.java b/juick-server/src/main/java/com/juick/server/ActivityPubManager.java
index ded04313..223d28fd 100644
--- a/juick-server/src/main/java/com/juick/server/ActivityPubManager.java
+++ b/juick-server/src/main/java/com/juick/server/ActivityPubManager.java
@@ -114,8 +114,16 @@ public class ActivityPubManager implements ApplicationListener<FollowEvent>, Not
Note note = new Note();
note.setId(uri.replacePath(String.format("/m/%d", msg.getMid())).toUriString());
note.setAttributedTo(personUri(msg.getUser()));
- note.setTo(Collections.singletonList("https://www.w3.org/ns/activitystreams#Public"));
- note.setCc(Collections.singletonList(followersUri(msg.getUser())));
+ if (MessageUtils.isReply(msg)) {
+ uri.replacePath(String.format("/m/%d#%d", msg.getMid(), msg.getRid())).toUriString();
+ note.setInReplyTo(uri.replacePath(String.format("/m/%d#%d", msg.getMid(), msg.getReplyto())).toUriString());
+ }
+ if (MessageUtils.isPM(msg)) {
+ note.setTo(Collections.singletonList(activityPubManager.personUri(msg.getTo())));
+ } else {
+ note.setTo(Collections.singletonList("https://www.w3.org/ns/activitystreams#Public"));
+ note.setCc(Collections.singletonList(followersUri(msg.getUser())));
+ }
note.setPublished(msg.getTimestamp());
note.setContent(MessageUtils.formatMessage(msg.getText()));
if (StringUtils.isNotBlank(msg.getAttachmentType())) {