Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What is the incentive to do that, given the costly barrier to entry in both developer time and computing resources?



What's this "costly barrier to entry"? It is certainly not a given from where I am looking

By any account, it is far less than building an independent social network application. The components are also decoupled so you don't have to rebuild everything. If you want to build an App View, it's just a webapp or react native. You don't have to rebuild everything

re: incentives, there are many, people have different perspectives and motivations to do so


The omission of blocked posts is done server-side by the app.bsky.feed.getPostThread endpoint, so you'd need to reimplement that to return the content of blocked posts instead, both upthread (parent) and downthread (replies). It would require acquiring and maintaining your own replica of the data, which is hundreds of gigabytes in size.

This is significantly more complex than making a few small changes to the frontend app.


The filtering of blocked replies is done server-side. You can view whatever top-level posts you want in the protocol; making those visible/invisible is up to the client software.

If I post something that gets traction, and someone replies with an ad for ED pills, I should be able to remove that spam from the discussion on my thread and not just from my view of it. If others have already "engaged" with a plug for boner pills, their replies are not lost but are just no longer part of the thread stemming from my post.

If you as the OP don't want this behavior, there are other tools at your disposal (mute the replier instead, "hide for everyone", etc).


This is absolutely and provably wrong.

I have written my own webapp (https://blebbit.com) and I can see content and accounts I have blocked on Bluesky. I just validated this to be the true. This because I have not implemented block respecting in my own code yet. It's more work to actually respect the blocking.

The full backup of ATProto is more than 5T now.

You seem really misinformed about all of this.

Or maybe you created an account to intentionally spread falsehoods about Bluesky? There has been a flurry of this on HN lately


No, this is not wrong. I will demonstrate. Here is a sample conversation between three users A, B, and C:

https://i.ibb.co/CJkZWBG/image.png

No-one has blocked anyone at this point, so the conversation is visible to all parties and any onlookers.

Your own app shows the same:

https://i.ibb.co/3kxp5Q9/image.png

Now for whatever reason, user B decides to block user A. The entire subthread starting with user B's response to user A is removed, which includes making the discussion between user A and user C no longer viewable in that thread, to anyone:

https://i.ibb.co/j6f9z92/image.png

This appears exactly the same in your app:

https://i.ibb.co/2Px9bw5/image.png

The root cause is that the app.bsky.feed.getPostThread endpoint omits the entire tree of replies for that subthread in its response:

https://i.ibb.co/F45n6QV/image.png

Please feel free to verify this in your own browser and explain why you believe this to be incorrect.



Having to visit the Replies page of user C and try to piece together snippets of conversation - some of which are still unviewable - is not a reasonable solution. In particular, posts 7 and 8 are not there and the link between posts 1 and 2 is severed.


> not a reasonable solution

That's your opinion. The vast majority of ATProto users like the enhanced controls over their conversations. If you don't like it, use a different social media platform


That it's unreasonable to expect users to mitigate this by hunting around others' profiles for snippets of conversation is my opinion, yes.

That one user blocking another user makes chunks of the conversation disappear for everyone else viewing the thread is verifiable fact. As it is a verifiable fact that this is done server-side via the getPostThread endpoint, by which posts in the parent and replies fields of the response are omitted.

This is not "absolutely and provably wrong", as you put it. Maybe do some research yourself before accusing others of intentionally spreading falsehoods?


You said posts were blocked when what you are actually describing is replies being disconnected from a post on that post. They are still visible within the network

It's working as expected

You have made multiple other inaccurate statements about Bluesky / ATProto throughout your comments with your new account


This whole thread nastoy has been making the argument that blocked posts are omitted from the thread for all viewers, and circumventing this behavior requires modifying the relay (and hence ingesting the firehose) not just the client

You have been arguing that blocked posts still appear in your custom client, which is a different claim than nastoy. As detailed by the GitHub issue that started this disagreement, bluesky relays have introduced thread breaking behavior that one can not get around simply by forking the appview.


> As detailed by the GitHub issue that started this disagreement, bluesky relays have introduced thread breaking behavior

"relay" does not appear in that issue, not sure where this idea that relays have introduced thread breaking behavior is coming from


I haven't hacked away at the bluesky api but isn't the aforementioned "app.bsky.feed.getPostThread" called against an instance of a bluesky relay hosted at api.bsky.app, as opposed to a PDS or an appview?

That being the case, when you want to get posts of a thread, the information of which posts belong to which thread are the responsibility of a relay, which is doing the firehose-level-aggregation of which posts belong to which threads, am I misunderstanding?


Well if Mastodon is any indication, there are a ton of third-party FOSS apps for it.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: