Pixelfed places: a remote post's own place, shown and never federated again

A Note's `location` that is a Place with coordinates (Pixelfed sends
them as strings) is kept in the new Post.Place and shown as
Status.privapub.place {name, latitude, longitude, country}; an edit
replaces it. An Event's location stays its own `places`, and nothing
renders a place back out. Closes the INTEROP P2 Pixelfed location gap
and the ROADMAP long-tail item.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LsXgEaXee4GCU1hwYgPJXw
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-04 10:07:06 +02:00
1 parent d9fb5c582f
commit 31d1d21d1e
13 files changed
+214 -14

No files matched your search

+4 -2
View File
@@ -1,4 +1,4 @@
using PrivaPub.Models.Post;
using PrivaPub.Models.Post;
using System.Globalization;
using System.Text;
@@ -44,6 +44,7 @@ namespace PrivaPub.Federation.Objects
public VideoDetails Video { get; init; }
public AudioDetails Audio { get; init; }
public EventDetails Event { get; init; }
public PostPlace Place { get; init; }
}
public static class NoteParser
@@ -110,7 +111,8 @@ namespace PrivaPub.Federation.Objects
Link = ObjectShapes.Link(note),
Video = ObjectShapes.Video(note),
Audio = ObjectShapes.Audio(note),
Event = ObjectShapes.Event(note)
Event = ObjectShapes.Event(note),
Place = ObjectShapes.NotePlace(note)
};
}