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; $stored->uri = $uri;
if ($stored->find()) { if ($stored->find()) {
common_debug('cannot create duplicate Notice URI: '.$stored->uri); 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.')); throw new ClientException(_m('Not to anyone in reply to anything.'));
} }
$existing = Notice::getKV('uri', $this->activity->objects[0]->id); try {
if ($existing instanceof Notice) { $this->saveNotice();
common_log(LOG_ERR, "Not saving notice with duplicate URI '".$existing->getUri()."' (seems it already exists)."); } catch AlreadyFulfilledException($e) {
return; return;
} }
$this->saveNotice();
} }
/** /**