From 88df4a22c0f9aa425c4a9bf0df816a2b5e19442e Mon Sep 17 00:00:00 2001 From: Diogo Peralta Cordeiro Date: Sun, 20 Mar 2022 02:16:12 +0000 Subject: [PATCH] [FEP-8c3f] Correct @context with the proper GS namespace, and elaborate about the value of the attributed (as it was asked about in the SocialHub discussion) --- feps/fep-8c3f.md | 49 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/feps/fep-8c3f.md b/feps/fep-8c3f.md index f1563bb..04926d1 100644 --- a/feps/fep-8c3f.md +++ b/feps/fep-8c3f.md @@ -20,29 +20,46 @@ The ability to transfer money has been a long-standing omission from the web pla ## Requirements -In GNU social is [implemented](https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/plugins/WebMonetization/WebMonetization.php#L243) using an extra property `gs:webmonetizationWallet` on the actor object. +In GNU social this is [implemented on a plugin](https://code.undefinedhackers.net/GNUsocial/gnu-social/src/branch/v3/plugins/WebMonetization/WebMonetization.php#L243) using an extra property `gs:webmonetizationWallet` on the actor object. + ### Example ```json { - "@context": [ - "https://www.w3.org/ns/activitystreams", - { - "gs": "http://gnusocial.rocks/ns#", - } - ], - "id": "https://social.gnusocial.rocks/actor/42", - "type": "Person", - "inbox": "https://social.gnusocial.rocks/actor/42/inbox.json", - "outbox": "https://social.gnusocial.rocks/actor/42/outbox.json", - "preferredUsername": "alice", - "name": "Alyssa P.Hacker", - "url": "https://social.gnusocial.rocks/@alice", - "gs:webmonetizationWallet": "$wallet.example.com/alice" + "type": "Person", + "streams": [], + "@context": [ + "https://www.w3.org/ns/activitystreams", + { + "gs": "https://www.gnu.org/software/social/ns#" + }, + { + "webmonetizationWallet": { + "@id": "gs:webmonetizationWallet", + "@type": "@id" + } + } + ], + "id": "https://social.gnusocial.rocks/actor/42", + "inbox": "https://social.gnusocial.rocks/actor/42/inbox.json", + "outbox": "https://social.gnusocial.rocks/actor/42/outbox.json", + "following": "https://instance.gnusocial.test/actor/42/subscriptions", + "followers": "https://instance.gnusocial.test/actor/42/subscribers", + "preferredUsername": "alice", + "name": "Alyssa P.Hacker", + "url": "https://social.gnusocial.rocks/@alice", + "webmonetizationWallet": "$wallet.example.com/alice" } ``` +## About the value of `gs:webmonetizationWallet` + +That string is the same as the example one in [Web Monetization specification](https://webmonetization.org/specification.html#web-monetization-meta-tag) +and it consists on a [payment pointer](https://paymentpointers.org/#syntax/). + +> Payment Pointers start with a `$` character to distinguish them from other identifiers and make it obvious that they are related to payments. To convert a Payment Pointer to a URL the $ is replaced with the standard prefix of a secure URL, `https://`. + ## References @@ -52,6 +69,6 @@ In GNU social is [implemented](https://code.undefinedhackers.net/GNUsocial/gnu-s ## Copyright -CC0 1.0 Universal (CC0 1.0) Public Domain Dedication +CC0 1.0 Universal (CC0 1.0) Public Domain Dedication To the extent possible under law, the authors of this Fediverse Enhancement Proposal have waived all copyright and related or neighboring rights to this work.