From: David ‘Bombe’ Roden Date: Sun, 18 Oct 2026 07:36:54 +0000 (+0200) Subject: 🧑‍💻 Do not expose rejected elements as failed X-Git-Tag: v83^2~5^2~2 X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=44f261206de4560c2eb326cec25fd8f57e9e37a2;p=Sone.git 🧑‍💻 Do not expose rejected elements as failed This should slightly improve the “Elements” debug page. --- diff --git a/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt b/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt index a8f1bea..e87628a 100644 --- a/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt +++ b/src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt @@ -118,7 +118,7 @@ class DefaultElementLoader(private val freenetInterface: FreenetInterface, ticke field = mutableMapOf() val failedElements: Set - get() = failureCache.asMap().keys + get() = failureCache.asMap().keys - rejectedElements.keys enum class RejectionReason { diff --git a/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt b/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt index fd70e03..ad53ad0 100644 --- a/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt +++ b/src/test/kotlin/net/pterodactylus/sone/core/DefaultElementLoaderTest.kt @@ -301,6 +301,15 @@ class DefaultElementLoaderTest { } } + @Test + fun `element loader does not expose an element as failed if it was rejected`() { + runWithCallback("KSK@test") { elementLoader, _, callback, _ -> + callback.shouldCancel(FreenetURI("KSK@test"), "application/x-test-data", 1234) + callback.failed(FreenetURI("KSK@test")) + assertThat(elementLoader.failedElements, not(hasItem("KSK@test"))) + } + } + private fun read(resource: String): ByteArray = javaClass.getResourceAsStream(resource)?.use { input -> ByteArrayOutputStream().use {