Duplicate URI means we have it already, I assume

This commit is contained in:
Mikael Nordfeldth 2015-12-27 01:40:00 +01:00
parent 83c112e24b
commit 0ac71c2b7b
3 changed files with 11 additions and 7 deletions

View File

@ -780,7 +780,9 @@ class Notice extends Managed_DataObject
$stored->uri = $uri;
if ($stored->find()) {
common_debug('cannot create duplicate Notice URI: '.$stored->uri);
throw new Exception('Notice URI already exists');
// I _assume_ saving a Notice with a colliding URI means we're really trying to
// save the same notice again...
throw new AlreadyFulfilledException('Notice URI already exists');
}
}

View File

@ -88,7 +88,11 @@ class GroupsalmonAction extends SalmonAction
}
}
$this->saveNotice();
try {
$this->saveNotice();
} catch AlreadyFulfilledException($e) {
return;
}
}
/**

View File

@ -95,13 +95,11 @@ class UsersalmonAction extends SalmonAction
throw new ClientException(_m('Not to anyone in reply to anything.'));
}
$existing = Notice::getKV('uri', $this->activity->objects[0]->id);
if ($existing instanceof Notice) {
common_log(LOG_ERR, "Not saving notice with duplicate URI '".$existing->getUri()."' (seems it already exists).");
try {
$this->saveNotice();
} catch AlreadyFulfilledException($e) {
return;
}
$this->saveNotice();
}
/**