P5: remote objects are read in every shape, and videos, events, audio and links keep their own details
- ObjectShapes reads `url`, `icon` and `image` as a value, a Link or an array; Markdown `content` (PeerTube) is rendered; a missing `mediaType` is inferred from the extension or the attachment type (Bridgy); alt text comes from `name`, `summary` or their language maps; thumbnails come from attachment `icon`, object `icon[]`, `image` or a Loops `preview`; durations are ISO 8601 or seconds; per-attachment `sensitive` is kept; the language falls back to `@context` `@language` (Pleroma); titles and excerpts are plain text; hashtags normalise with NFKC like Mastodon. - Typed details on Post: Link (Lemmy link posts, Mbin `source` URLs, Mastodon 4.7 Link attachments with an FEP-8967 publisher preview), Video (PeerTube files with their streams, HLS playlist, poster, captions, chapters, licence, channel, live state, comment policy), Audio (Funkwhale), Event (Mobilizon, Gancio, Hubzilla: times, zone, floating time, places and addresses, online link, capacity, status), the cover image, and the author's own source text. - Mastodon API: a card built from those details without fetching anything, an event's "when · where" line, attachment thumbnails and durations, and no media file offered as a preview image. 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
dcd024100a
commit
fc111d8c46
12 files changed
+751
-38
No files matched your search
+5
-3
@@ -417,15 +417,17 @@ it, raw where it doesn't.
|
||||
- Still open: every activity id dereferences.
|
||||
- **Owner decisions that were small** (done in v1.7.0): blocks federate (`Block`, `Undo{Block}`); a persona's and a
|
||||
group's `published` is a random day up to two weeks before its creation (migration `_007`).
|
||||
- **Parsing every shape:**
|
||||
- **Parsing every shape** (done in v1.8.0, `Federation/Objects/ObjectShapes.cs`):
|
||||
- `url`, `icon`, `image`, `attachment` and `attributedTo` as a value, an object or an array (W1).
|
||||
- A Markdown `content` and `source` (W3).
|
||||
- Inferring a missing `mediaType` (W4).
|
||||
- Every thumbnail location (W5).
|
||||
- Language from `@context` (W11); alt text from `summary` (W12).
|
||||
- A null `id`, a 200 `Tombstone`, a `Delete` before its `Create` (W9, W13).
|
||||
- **`Post.Kind`** plus typed payloads for article, video, audio, event, link, review and thread (INTEROP §4.1). The
|
||||
Mastodon API view of each kind: content, a card made from the object without fetching, attachments.
|
||||
- **Typed payloads** (done in v1.8.0 for link, video, audio, event and the cover image; review and thread are still
|
||||
open): `Post.ObjectType` plus `Link`, `Video`, `Audio`, `Event`, `CoverURL` and `Source` (INTEROP §4.1). The Mastodon
|
||||
API view: the title above the body, an event's "when · where" line, a card made from the object without fetching,
|
||||
attachments with their thumbnail and duration. Video and audio playback through the proxy is P6.
|
||||
- **Raw capture for the details view** (done in v1.8.0): the object as received, how it arrived, the signature scheme and
|
||||
key, received versus `published`, the extensions detected, and the origin's software (§4.3). Exposed at
|
||||
`/api/privapub/v1/statuses/:id/provenance` and `/api/privapub/v1/instances/:host`. Checked live against GoToSocial.
|
||||
|
||||
Reference in new issue
Block a user