Browse Source

on rare occasions posts do not get a parent. The only thing which could cause it is if we can't find our new post. So we'll check for this and try one more time before failing.

pull/1/head
Friendika 10 years ago
parent
commit
656d861b3e
2 changed files with 15 additions and 2 deletions
  1. +6
    -2
      addon/facebook/facebook.php
  2. +9
    -0
      include/items.php

+ 6
- 2
addon/facebook/facebook.php View File

@ -725,8 +725,10 @@ function fb_consume_stream($uid,$j,$wall = false) {
// don't store post if we don't have a contact
if(! x($datarray,'contact-id'))
if(! x($datarray,'contact-id')) {
logger('no contact: post ignored');
continue;
}
$datarray['verb'] = ACTIVITY_POST;
if($wall) {
@ -759,8 +761,10 @@ function fb_consume_stream($uid,$j,$wall = false) {
intval($top_item),
intval($uid)
);
if(count($r))
if(count($r)) {
$orig_post = $r[0];
logger('fb: new top level item posted');
}
}
if(isset($entry->likes) && isset($entry->likes->data))


+ 9
- 0
include/items.php View File

@ -742,6 +742,15 @@ function item_store($arr,$force_parent = false) {
$arr['uri'], // already dbesc'd
intval($arr['uid'])
);
if(! count($r)) {
// This is not good, but perhaps we encountered a rare race/cache condition, so back off and try again.
sleep(3);
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
$arr['uri'], // already dbesc'd
intval($arr['uid'])
);
}
if(count($r)) {
$current_post = $r[0]['id'];
logger('item_store: created item ' . $current_post);


Loading…
Cancel
Save