`Update(Note)` quirk

Today I tagged the v4.0.0-beta.2 release purely to fix a single issue — Update(Note) federation.

It turns out that just sending the Update(Note) activity was not enough, the underlying object needed to also have the updated field set in order to Mastodon to process the update. My guess is Mastodon checks that field and only processes the note if the value is greater than the last known value.

I'd write it off as a Mastodon-ism, but it's actually better to have that property present, so now it is.

6 Likes

@julian I ran into exactly that same issue with the updated field! Was really confused until I figured out what Mastodon was doing.

@julian This is exactly my point 1 from here: https://socialhub.activitypub.rocks/t/desired-changes-for-a-future-revision-of-activitypub-and-activitystreams/4534/10

My opinion is that this should actually be the standardised behaviour.

@julian This is exactly my point 1 from here: https://socialhub.activitypub.rocks/t/desired-changes-for-a-future-revision-of-activitypub-and-activitystreams/4534/10

My opinion is that this should actually be the standardised behaviour.

Tbf it feels like Mastodon could assume that the update is the latest one if there is no updated field and only use the updated fields to not apply an update, if the updated field is before the last update. Does that make sense?

@sortekanin@socialhub.activitypub.rocks Yes and no, I can see how that would be logical, but there could potentially be issues if subsequent updates were delivered out of order (due to a variety of reasons one can dream up).

In that scenario you wouldn't want to assume that the undated updated is the latest.

This whole thing could actually be sidestepped if we sent timestamps with our activities, but that's not in the spec, so I guess nobody does it heh.

Sounds like another suggestion that could be useful in the wiki post hehe

@julian @SorteKanin

published property can exist on activities too. Some implementation already does this but I don't remember which one

@julian @SorteKanin

published property can exist on activities too. Some implementation already does this but I don't remember which one