“The original post can no longer be found.”

I posted a blog post to my micro.blog yesterday from Ulysses. Within an hour of posting, I made one or two changes from Ulysses which got published as updates and propagated on micro.blog as expected.

Now, this morning, I’ve tried to make one more change. But when I try to update from Ulysses, it say “The original post can no longer be found. You will create a new post.”

Needless to say the old post is still there from a micro.blog perspective. And I can always edit it directly from the web interface. But I’d really love to keep my micro.blog content in sync with Ulysses if possible.

I’m not sure where to start debugging the problem, though. I know Ulysses, Mars Edit and the like publish to MB using indieweb’s Micropub API. And I see Ulysses is making a GET request like so:

GET URL	https://micro.blog/micropub?q=source&url=https://figure.ink/2023/02/12/programmers-intuition.html

It has q=source and a URL. The URL is correct. The bearer key is mine, so should be in scope. But MB is returning a 400 with the body:

{
	"error": "invalid_request",
	"error_description": "The post with the requested URL was not found."
}

I’m kind of stuck with how to debug from here. These requests worked a few times then stopped, so it feels like something happened inside MB. But I don’t see anything suspicious in the logs I can see from account settings (not that I know what I’m looking for).

Any advice?

Just thought of something that might have triggered this behavior:

  • I have two blogs in my account: skia.net and figure.ink.
  • I published the blog post cia Ulysses to figure.ink and was able to update it a few times.
  • Then this morning I posted an micro post to skia.net via the web UI.
  • After that, Ulysses could no longer find the figure.ink post.

Could be coincidence, but would posting to a different blog in the same account cause the other blog to be… reindexed? Or no longer be a valid target for micropub queries somehow? Or something?

I’m not totally sure how Ulysses works with your two accounts, but I know that Micro.blog has lots of funny edges with multi-blog accounts. I suspect if in Micro.blog itself, you select the figure.ink account then it may work. Probably your bearer key is just saying who you are as a user, and your “selected blog/current blog” is set in the MB interface and based on that.

That said, Ulysses is not really good about maintaining sync and doesn’t really do that, unlike MarsEdit which is a full on “manager” with two way syncing. A change made in Micro.blog won’t ever sync back to Ulysses, so that’s something to consider.

I didn’t realize that Ulysses was even trying to download the post. That’s cool, but yeah, doesn’t look like Ulysses will support multiple blogs. Here’s what’s happening:

  • When you have multiple blogs, Micro.blog keeps track of what the “default” blog is for your account. It changes this when you click the “…” menu on the web to switch to a different blog.
  • To get Ulysses to work for now , you can probably select the other blog on the web and then Ulysses will find it.
  • Micropub has a special parameter mp-destination to specify the blog when there are multiple. For example, that GET above should have something like &mp-destination=https://figure.micro.blog added to it.

So, there are some work-arounds but it sounds like Ulysses probably needs to be updated to keep track of which blog you’re using for multiple-blog accounts.

1 Like

OMG you’re totally right. What I did:

  • Go to micro.blog via web.
  • Clicked on New Post
  • Clicked on the “…”
  • Selected “figure.ink” from the list

That’s it. Then Ulysses was able to see the posts again.

Yeah, no problem there. I do everything in Ulysses, so single-direction updates from Ulysses to MB suit me just fine. I just need MB to not 400 a post that clearly exists :wink:

It seems like it’s using the source query just to check if a thing exists rather than to actually download/sync any content. I think it’s still conceptually correct to think of it as a “publishing only” app rather than syncing in any meaningful way.

This makes sense then! Cool.

Ah! Super useful to know. I’ll open up a ticket with Soulmen about this.