if (empty($notice->conversation) and !empty($options['conversation'])) {
$conv = Conversation::getKV('uri', $options['conversation']);
if ($conv instanceof Conversation) {
- common_debug('Conversation stitched together from (probably) reply to unknown remote user. Activity creation time ('.$activity->time.') should maybe be compared to conversation creation time ('.$conv->created.').');
+ common_debug('Conversation stitched together from (probably) reply to unknown remote user. Activity creation time ('.$notice->created.') should maybe be compared to conversation creation time ('.$conv->created.').');
$notice->conversation = $conv->id;
} else {
// Conversation URI was not found, so we must create it. But we can't create it
}
// If this isn't a reply to anything, then it's its own
- // root.
+ // root if it's the earliest notice in the conversation:
if (empty($this->reply_to)) {
- return $this;
+ $root = new Notice;
+ $root->conversation = $this->conversation;
+ $root->orderBy('notice.created ASC');
+ $root->find();
+ $root->fetch();
+ $root->free();
+ return $root;
}
if (is_null($profile)) {