Fixes an ActivityPub timestamp issue in federation. #42

Closed
McPringle wants to merge 5 commits from fix/inbox-timestamp-exception into main
2 changed files with 4 additions and 2 deletions
Showing only changes of commit d623e6370b - Show all commits

View file

@ -29,6 +29,7 @@ import java.net.URI;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException; import java.security.NoSuchAlgorithmException;
import java.time.ZoneOffset;
import java.util.*; import java.util.*;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -436,7 +437,7 @@ public class ActivityPubController {
noteObject.put("id", activityUri); noteObject.put("id", activityUri);
noteObject.put("type", "Note"); noteObject.put("type", "Note");
noteObject.put("attributedTo", actorUri); noteObject.put("attributedTo", actorUri);
noteObject.put("published", activity.getCreatedAt().toString()); noteObject.put("published", activity.getCreatedAt().atOffset(ZoneOffset.UTC).toInstant().toString());
noteObject.put("content", formatActivityContent(activity)); noteObject.put("content", formatActivityContent(activity));
noteObject.put("url", activityUri); noteObject.put("url", activityUri);

View file

@ -12,6 +12,7 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.ZoneOffset;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -199,7 +200,7 @@ public class ActivityPostProcessingService {
noteObject.put("id", activityUri); noteObject.put("id", activityUri);
noteObject.put("type", "Note"); noteObject.put("type", "Note");
noteObject.put("attributedTo", actorUri); noteObject.put("attributedTo", actorUri);
noteObject.put("published", activity.getCreatedAt().toString()); noteObject.put("published", activity.getCreatedAt().atOffset(ZoneOffset.UTC).toInstant().toString());
noteObject.put("content", formatActivityContent(activity)); noteObject.put("content", formatActivityContent(activity));
noteObject.put("url", baseUrl + "/activities/" + activity.getId()); noteObject.put("url", baseUrl + "/activities/" + activity.getId());