Automatic category/community assignment on received object
-
I'm wondering how content on threadiverse is automatically assigned its community when received by the software (e.g. PieFed, Lemmy, Mbin).
The answer I am expecting is "if the community is addressed (
to
,cc
,audience
), then it is slotted into that community".However that causes issues for compatibility with microblogs... for example, silverpill@mitra.social recently authored a post that mentioned
[swf@socialwebfoundation.org](https://community.nodebb.org/category/swf@socialwebfoundation.org)
and it got slotted into that community on NodeBB, which isn't correct since that group is private.Better practice would be to only trust the addressed community if it is
Announce
'd by the community directly, but would fall short if my instance does not receive theAnnounce
(say, if nobody follows the community), in which case we'd fall back to "uncategorized", which is where all microblog posts currently go. Then it's neither correct nor incorrect, I suppose.I think this might be an issue where NodeBB tries to be too many things at once (microblog and threadiverse compatible).
-
I think it's important to get an
Announce
, because the actor who addressed the community might be blocked by that community, or might not be a member of it (if the community is private).
You can try to retrieve the outbox of the addressed community to verify that a post was actuallyAnnounce
'd -
I think it's important to get an
Announce
, because the actor who addressed the community might be blocked by that community, or might not be a member of it (if the community is private).
You can try to retrieve the outbox of the addressed community to verify that a post was actuallyAnnounce
'dsilverpill@mitra.social I thought about checking against the outbox, but there's a potential race condition that could occur if I receive the
Create(Note)
at roughly the same time as the community, but the community hasn't processed the activity yet. In that scenario, the activity would not be in the outbox for checking.The same thing would happen if there was some out-of-band check for object membership in a collection (not that there is one right now).