Completely omit id for anonymous objects #850

Open
Oneric wants to merge 1 commit from Oneric/akkoma:ap-anonymous-errata into develop
Member

Brings us in line with the proposed AP spec amendment fixing: #848
(see commit message for details)

WIP since federation effects are completely untested atm and the decision wrt AP spec isn’t final yet

Brings us in line with the proposed AP spec amendment fixing: https://akkoma.dev/AkkomaGang/akkoma/issues/848 *(see commit message for details)* ~~**WIP** since federation effects are completely untested atm and the decision wrt AP spec isn’t final yet~~
Oneric added 1 commit 2024-11-10 01:52:31 +00:00
Completely omit id for anonymous objects
Some checks are pending
ci/woodpecker/pr/build-amd64 Pipeline is pending approval
ci/woodpecker/pr/build-arm64 Pipeline is pending approval
ci/woodpecker/pr/docs Pipeline is pending approval
ci/woodpecker/pr/lint Pipeline is pending approval
ci/woodpecker/pr/test Pipeline is pending approval
0f9c9aac38
Current AP spec demands anonymous objects to have an id value,
but explicitly set it to JSON null. Howeveras it turns out this is
incompatible with JSON-LD requiring `@id` to be a string and thus AP
spec is incompatible iwth the Ativity Streams spec it is based on.
This is an issue for (the few) AP implementers actually performing
JSON-LD processing, like IceShrimp.NET.
This was uncovered by IceShrimp.NET’s zotan due to our adoption of
anonymous objects for emoj in f101886709.

The issues is being discussed by W3C, and will most likely be resolved
via an errata redefining anonymous objects to completely omit the id
field just like transient objects already do. See:
https://github.com/w3c/activitypub/issues/476

Fixes: #848
Author
Member

Federation test results:

Confirmed good:

  • Akkoma
  • IceShrimp.NET
  • Mastodon
  • Sharkey
Presumed good, but no confirmation:
  • Pleroma
Confirmed subpar, but still receiving all posts etc:
  • GTS (only showing text, no image)

This restores federation with IceShrimp.NET (and any other JSON-LD-processing implementations) and otherwise appears is no worse than before. With how the discussion in the W3C issue is going it also seems unlikely the effective result of the spec change will change from this, thus removing WIP; imho fairly safe and good to merge now

Federation test results: <strong>Confirmed good:</strong><br /> <ul> <li>Akkoma</li> <li>IceShrimp.NET</li> <li>Mastodon</li> <li>Sharkey</li> </ul> <strong>Presumed good, but no confirmation:</strong><br /> <ul> <li>Pleroma</li> </ul> <strong>Confirmed subpar, but still receiving all posts etc:</strong><br /> <ul> <li>GTS <i>(only showing text, no image)</i></li> </ul> This restores federation with IceShrimp.NET (and any other JSON-LD-processing implementations) and otherwise appears is no worse than before. With how the discussion in the W3C issue is going it also seems unlikely the effective result of the spec change will change from this, thus removing WIP; imho fairly safe and good to merge now
Oneric changed title from WIP: Completely omit id for anonymous objects to Completely omit id for anonymous objects 2024-11-14 17:55:04 +00:00
Some checks are pending
ci/woodpecker/pr/build-amd64 Pipeline is pending approval
ci/woodpecker/pr/build-arm64 Pipeline is pending approval
ci/woodpecker/pr/docs Pipeline is pending approval
ci/woodpecker/pr/lint Pipeline is pending approval
ci/woodpecker/pr/test Pipeline is pending approval
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u ap-anonymous-errata:Oneric-ap-anonymous-errata
git checkout Oneric-ap-anonymous-errata
Sign in to join this conversation.
No description provided.