This was discovered by Jim East:
https://slrpnk.net/post/27305276/18006810
I must say it fails the principle of least astonishment. If a user blocks Lemmy.World but subscribes to !linux@lemmy.world, for example, they obviously want to exceptionally see content in the subscribed community but nothing else from that node. But what happens is the instance block overrides the specific community subscription. So the general rule is prioritised above the specific rule.
And worse, when visiting the subscribed community it just shows no posts without reminding the user that they have a relevant block in place.

That is the behaviour I’d expect.
But I guess a relatively easy fix would be to unsubscribe a user from all communities on an instance when it is blocked (and then prevent subscribing to them in the future).
Why? When a user blocks a whole instance generally but then specifically subscribes to a particular community on that instance, why would you expect the subscribed community to be empty?
Indeed if you have a false advertising scenario, there are two possible fixes:
You seem simultaneously acknowledge that there is a deception but that you would expect it? It’s like saying you expect the design to be sloppy. In any case, what you suggest would be one possible fix to the problem. But if implementing that fix, it should go further and inform the user of subscribed communities that will be unsubscribed along with an option to back out of it to prevent data loss.
Because you blocked the entire instance these communities are on. I feel that is the most obvious behavior. Subscriptions don’t really factor in here as they aren’t “whitelists” for blocks.
Advertisement? Deception?
It’s a technical feature that doesn’t behave like YOU were expecting. There is no false advertising or deception here … calm down.
That doesn’t answer the question. To say “most obvious” just rephrases your position. We have a system that disregards user input because it thinks it knows better what the user wants. That can only be an “obvious” behavior if in fact you expect the system to be incompetently designed.
Calm down. Advertisement is a metaphor. If you don’t grasp it, just forget it. A capability is advertised to the user by giving them an option. Then failing to execute on the user’s instruction amounts to deception.
I admit that deception is typically a deliberate act. I did not mean to imply that. It’s safe to call it an accidental deception.
PEBCAK