R7's emoji id is /grimaces/{shortcode}, the owner's name
The federated id of a local custom emoji (LocalEmojis.Path) was the plan's /emojis/{shortcode} awaiting the owner; it is
/grimaces/{shortcode}, in the style of the other routes, and freezes once it deploys.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WpVCoDeM1qUTRp4fXQdfof
This commit is contained in:
1 parent
9b792042e6
commit
048eb15bb7
9 files changed
+23
-25
No files matched your search
@@ -22,7 +22,7 @@ namespace PrivaPub.Controllers.ClientToServer
|
||||
{
|
||||
// The server's custom emoji from the administrator's page (completion program R7): listed, added, changed and deleted
|
||||
// by an administrator, checked again against the database. Every act is kept in the staff's log (emoji.insert,
|
||||
// emoji.update, emoji.delete). An emoji is never renamed: its shortcode is its id on other servers (/emojis/{shortcode}).
|
||||
// emoji.update, emoji.delete). An emoji is never renamed: its shortcode is its id on other servers (/grimaces/{shortcode}).
|
||||
[ApiController,
|
||||
Route("clientapi/admin/emoji"),
|
||||
Authorize(Policy = Policies.IsAdmin)]
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace PrivaPub.Domain.Content
|
||||
{
|
||||
/// <summary>Where each emoji is served as an ActivityPub `Emoji` object: /emojis/{shortcode}, its id on other servers.
|
||||
/// The plan's name, waiting for the owner's confirmation; it is frozen once it has federated (CLAUDE.md, routes).</summary>
|
||||
public const string Path = "emojis";
|
||||
public const string Path = "grimaces";
|
||||
public const int MaxShortcodeLength = 64;
|
||||
public const int MaxPerObject = 64;//what ObjectShapes reads of anyone's object
|
||||
const string ServerUsePrefix = "emoji:";
|
||||
|
||||
@@ -11,7 +11,7 @@ using System.Text.Json.Nodes;
|
||||
|
||||
namespace PrivaPub.Federation.Controllers
|
||||
{
|
||||
// Each of the server's custom emoji as an ActivityPub `Emoji` object at its id, /emojis/{shortcode} (completion program
|
||||
// Each of the server's custom emoji as an ActivityPub `Emoji` object at its id, /grimaces/{shortcode} (completion program
|
||||
// R7; the path is LocalEmojis.Path): the tag that posts, actors and reactions carry, with its @context. GoToSocial takes
|
||||
// an emoji only with an id, and may read it there. A disabled emoji is not served (404, it may come back); a deleted one
|
||||
// answers 410 with a Tombstone. An emoji tells nothing about anyone, so it is served unsigned under SecureMode too, as the
|
||||
|
||||
@@ -4,7 +4,7 @@ namespace PrivaPub.Models.Post
|
||||
{
|
||||
// One of this server's own custom emoji (completion program R7), added by an administrator
|
||||
// (/clientapi/admin/emoji, EmojiAdminController). Its shortcode is its name everywhere: `:shortcode:` in a post, and
|
||||
// its federated id (/emojis/{shortcode}, Domain/Content/LocalEmojis.Path), which is why it is never renamed. Its picture
|
||||
// its federated id (/grimaces/{shortcode}, Domain/Content/LocalEmojis.Path), which is why it is never renamed. Its picture
|
||||
// is a MediaAttachment nobody owns, held by ServerUse "emoji:<shortcode>" while the emoji exists. Deleted, the row stays
|
||||
// (DeletedAt) so its id answers 410; adding the same shortcode again brings the row back with a new picture.
|
||||
public class LocalEmoji : Entity
|
||||
|
||||
Reference in new issue
Block a user