Remove Follower button does not use the correct object ID #263
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
from some debugging
when a user clicks on the "remove follower" button, the following object is sent:
note that the
object.id
here is a misskey ID, it is trying toReject
an object ID that would be generated if a misskey user followed someone from their instancein contrast, an
Accept
activity will be sent as follows:note here that
object.id
is a remote IDthese
Reject
andAccept
activities are nominally on on the same activity, but theReject
erroneously references a locally-generated object ID, which causes remote instances to reject the activity as that object ID does not exist.so i believe that the functionality of
Remove Follower
does not federate at all.this was inherited from upstream i believe
worth noting that you could probably remove the
id
for the inlinedobject
entirely and it would still be valid. if provided, it should be the original remote IDassociated misskey issue: https://github.com/misskey-dev/misskey/issues/9250
Seeing that we don't (yet?) keep track of the remote
id
we probably have to remove it.see also https://github.com/misskey-dev/misskey/issues/8655
It's kind of a thin line when to put an id, when to generate a fallback id and when to not put an id.
So my solution is to generate an
id
only if the following user is local. Otherwise, if we know theid
(because it was stored from the follow request) use that. Otherwise, noid
for you.Since to my knowledge a user on another instance cannot request to be followed, and instead can only request to follow someone. Is that correct? (That would mean all
Followings
with a local follower would have a local id too.)that seems correct, yes. Follow is an explicit action by one actor toward another. if you were to model a "request to be followed", you would probably use Offer Follow (but this seems spammy and would need a valid use-case before being implemented imo)