diff --git a/CHANGELOG.md b/CHANGELOG.md index 5451bee..72c88d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Display plain Pleroma version rather than the Mastodon-compatible string +- Fixed some unsuccessful crawls being saved without their errors ### Security diff --git a/backend/lib/backend/crawler/crawler.ex b/backend/lib/backend/crawler/crawler.ex index 608dd75..0991f0a 100644 --- a/backend/lib/backend/crawler/crawler.ex +++ b/backend/lib/backend/crawler/crawler.ex @@ -134,7 +134,13 @@ defmodule Backend.Crawler do end end - # Save the state (after crawling) to the database. + ## Save the state (after crawling) to the database. ## + + # If we didn't get a server type, the crawl wasn't successful. + defp save(%Crawler{result: %{type: nil}} = state) do + save_error(state) + end + defp save(%Crawler{ domain: domain, result: result, @@ -345,7 +351,11 @@ defmodule Backend.Crawler do Appsignal.increment_counter("crawler.success", 1) end - defp save(%{domain: domain, error: error, allows_crawling?: allows_crawling}) do + defp save(state) do + save_error(state) + end + + defp save_error(%{domain: domain, error: error, allows_crawling?: allows_crawling}) do now = get_now() error =