P6: custom emoji, fuller remote profiles, and polls both ways
- Custom emoji (Emoji tags) on posts, display names, bios and profile fields, at most 64 per object, proxied, in Status.emojis and Account.emojis. - Remote profiles keep their header, profile fields, locked flag, published date, movedTo, indexable, memorial and image descriptions (a locked GoToSocial account no longer shows as open). - Polls: incoming Questions (Mastodon, Misskey, Pleroma, GoToSocial shapes) with counts, voters, end and closed; our own polls from the Mastodon API go out as Questions; votes in are counted once per voter and never become replies; personas vote on other servers' polls with one Note per choice; counts refresh with an Update at most every three minutes; a poll closes on time and tells its voters and its author. GET /api/v1/polls/:id and POST /api/v1/polls/:id/votes. - An Update without a newer `updated` only refreshes poll, video, audio and event details and leaves no revision. Checked live against GoToSocial: each side's poll reaches the other as a poll and each side's vote is counted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
This commit is contained in:
1 parent
81de470f64
commit
7be6749a23
33 files changed
+937
-28
No files matched your search
@@ -1,5 +1,28 @@
|
||||
namespace PrivaPub.Models.Post
|
||||
{
|
||||
public class CustomEmoji
|
||||
{
|
||||
public string Shortcode { get; set; }//without the colons
|
||||
public string URL { get; set; }
|
||||
public DateTime? Updated { get; set; }
|
||||
}
|
||||
|
||||
public class PostPoll
|
||||
{
|
||||
public List<PollOption> Options { get; set; } = new();
|
||||
public bool Multiple { get; set; }
|
||||
public DateTime? ExpiresAt { get; set; }
|
||||
public DateTime? ClosedAt { get; set; }
|
||||
public int? VotersCount { get; set; }//null when the origin does not say (Misskey)
|
||||
public bool HideTotals { get; set; }
|
||||
}
|
||||
|
||||
public class PollOption
|
||||
{
|
||||
public string Title { get; set; }
|
||||
public int Votes { get; set; }
|
||||
}
|
||||
|
||||
public class PostSource
|
||||
{
|
||||
public string Content { get; set; }
|
||||
|
||||
Reference in new issue
Block a user