Update

By Fediverse Developer Network

https://fedidevs.org/projects/server-apps/funkwhale/activities/update/

The Update activity alters information relating to Funkwhale objects and creates a record of the change.

Reference
ActivityUndo
ObjectA Funkwhale Library or Track object

Internal logic

When Funkwhale receives an update associated with a Library or Track object, it attempts to update the corresponding object in its database.

Funkwhale performs different checks depending on the target of the update:

  • For Library objects, Funkwhale ensures the actor sending the message is the library owner
  • For Track objects, Funkwhale ensures the actor sending the message either:
    • Matches the attributedTo property on the local copy of the object
    • Is the Service actor

Example

In this example, Bob updates his library and sends a message to its followers.

{
  "@context": [
    "https://www.w3.org/ns/activitystreams",
    "https://w3id.org/security/v1",
    {}
  ],
  "to": [
    "https://awesome.music/federation/music/libraries/dc702491-f6ce-441b-9da0-cecbed08bcc6/followers"
  ],
  "type": "Update",
  "actor": "https://awesome.music/federation/actors/Bob",
  "object": {}
}

Custom properties

attributedTo
Funkwhale uses the attributedTo property to denote the actor responsible for an object. If an object has an attributedTo attributed, the associated actor can perform activities to it, including Update and Delete.
Funkwhale also attributes all objects on a domain with the domain's Service actor