forked from GNUsocial/gnu-social
Fixes for RSS subscriptions: accept posts with no ActivityStreams object-type set; be more liberal about accepting posts from feeds where the author info doesn't match (we'll post under the feed's profile and just not try to update the profile info).
This commit is contained in:
parent
60c36c1868
commit
16f75b95c6
@ -456,8 +456,10 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
case ActivityObject::NOTE:
|
||||
case ActivityObject::STATUS:
|
||||
case ActivityObject::COMMENT:
|
||||
case null: // Unspecified type is assumed to be a blog post; as we get from RSS.
|
||||
break;
|
||||
default:
|
||||
common_log(LOG_INFO, "Aborting processing for unrecognized activity type " . $activity->objects[0]->type);
|
||||
throw new ClientException("Can't handle that kind of post.");
|
||||
}
|
||||
|
||||
@ -496,8 +498,11 @@ class Ostatus_profile extends Memcached_DataObject
|
||||
} else if ($actor->id) {
|
||||
// We have an ActivityStreams actor with an explicit ID that doesn't match the feed owner.
|
||||
// This isn't what we expect from mainline OStatus person feeds!
|
||||
// Group feeds go down another path, with different validation.
|
||||
throw new Exception("Got an actor '{$actor->title}' ({$actor->id}) on single-user feed for {$this->uri}");
|
||||
// Group feeds go down another path, with different validation...
|
||||
// Most likely this is a plain ol' blog feed of some kind which
|
||||
// doesn't match our expectations. We'll take the entry, but ignore
|
||||
// the <author> info.
|
||||
common_log(LOG_WARNING, "Got an actor '{$actor->title}' ({$actor->id}) on single-user feed for {$this->uri}");
|
||||
} else {
|
||||
// Plain <author> without ActivityStreams actor info.
|
||||
// We'll just ignore this info for now and save the update under the feed's identity.
|
||||
|
Loading…
Reference in New Issue
Block a user