<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[My hypothesis on why Lemmy is rejecting valid activities]]></title><description><![CDATA[<p>I have not been able to successfully post to a Lemmy instance either as a post or a comment. A cryptic error message is returned where the error is unknown and the message is a generic message:</p><pre><code>{"error":"unknown","message":"data did not match any variant of untagged enum AnnouncableActivities"}</code></pre><p>From my logs, it seems this is happening:</p><ol><li>I make a valid ActivityPub request with the audience of a community (or cc a user).</li><li>Lemmy makes an ActivityPub request back at me at <code>/</code>.</li><li>My web site does not handle ActivityPub at <code>/</code>, and responds with a <code>text/plain</code> error message. This is default behavior in Drupal.</li><li>Lemmy rejects my request with a 400 response with the error message above.</li></ol><p>I tested other instances by making the following get request to the root of each instance (thank you, Daniel Sternberg for maintaining curl):</p><pre><code>curl -v -H "Accept: application/activity+json" -H "Content-Type: application/activity+json" &lt;url&gt;</code></pre><ul><li>With the following results<ul><li><strong>Lemmy</strong> returns an Application Actor.</li><li><strong>Misskey</strong> returns a 200 response in <code>text/html</code>.</li><li><strong>Mastodon</strong> returns a 406 response in <code>application/json</code>.</li><li><strong>NodeBB</strong> returns <code>text/html</code>.</li><li><strong>GoToSocial</strong> returns a 406 response in <code>application/json</code>.</li><li><strong>Mitra</strong> returns a 200 response in <code>text/html</code>.</li><li><strong>Pixelfed</strong> returns a 200 response in <code>text/html</code>.</li><li><strong>Peertube</strong> returns an empty 406 response.</li></ul></li></ul><p><strong>My hypothesis is that Lemmy is rejecting the request because I return </strong><code><strong>text/plain</strong></code><strong> and/or it cannot handle a response with that content type.</strong></p><p>To test that I am working on changing the default behavior. I will need to dynamically add a route based on <code>system.site.page.front</code> and return a 406 response in JSON. This is simple enough. If my hypothesis is correct, I can also make a merge request into drupal/activitypub module, which would have the same problem. If not, then I’ll need to go digging further.</p>]]></description><link>https://citiverse.it/topic/3e81e211-0c23-4f27-b316-65f14a0abe93/my-hypothesis-on-why-lemmy-is-rejecting-valid-activities</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Jul 2026 16:20:57 GMT</lastBuildDate><atom:link href="https://citiverse.it/topic/3e81e211-0c23-4f27-b316-65f14a0abe93.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 31 Oct 2025 20:24:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to My hypothesis on why Lemmy is rejecting valid activities on Fri, 31 Oct 2025 21:32:29 GMT]]></title><description><![CDATA[<p>  </p><p>If I do need to wrap it an Announce, then I think I will need to do the following based on how it works on my end.</p><ol><li>Create my post as normal, but don’t address it to the community initially.</li><li>Announce my own post making sure I address it to the community.</li></ol><p>I guess that might show up as me boosting my own post on some instances (tooting my own horn? Horning my own toot?), which I would feel ashamed of.</p><p> </p><p></p>]]></description><link>https://citiverse.it/post/https://nokoto.org/user/3/replies/200</link><guid isPermaLink="true">https://citiverse.it/post/https://nokoto.org/user/3/replies/200</guid><dc:creator><![CDATA[mradcliffe@nokoto.org]]></dc:creator><pubDate>Fri, 31 Oct 2025 21:32:29 GMT</pubDate></item></channel></rss>