throw()/->retry() here — Bridgy would duplicate-publish on retry, see $tries above $response = Http::acceptJson()->asForm()->post('https://brid.gy/publish/webmention', [ 'source' => $this->note->uri, 'target' => 'https://brid.gy/publish/mastodon', ]); $body = $response->json(); if ($response->status() === 201) { $this->note->mastodon_url = $body['url']; $this->note->save(); return; } throw new \RuntimeException( 'Bridgy publish to Mastodon failed: '.($body['error'] ?? $response->body()) ); } }