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).
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
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:
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.
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.
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?