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
This is significantly more complex than making a few small changes to the frontend app.
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
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.
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 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?
It's working as expected
You have made multiple other inaccurate statements about Bluesky / ATProto throughout your comments with your new account
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.
"relay" does not appear in that issue, not sure where this idea that relays have introduced thread breaking behavior is coming from
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?
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).