When pistons are facing upwards, and the powerline comes from adjacent square, then ascends upwards on top of the piston face, the piston is not powered if the powerline bends 90 degrees immediately on the block adjacent to the piston.
(discovered by Reddit user u/CommunisticShroom)
Linked issues
Attachments
Comments

I'm pretty sure that this is how it should work; pistons cannot be powered through the "head" face. And redstone dust can't power blocks from the side like that.

Redstone can power blocks from the side, and when the wire is not bent towards the block, but runs straight at it, the pistons get powered. Consequently, consistent behaviour would power the piston, the piston would extend, the wire would straighten, and the piston would stop being powered. Like so:
[media]
Piston not being powered through the head is WAI
But the dust not powering the piston from the side is the bug and is what causes all the other related bugs above
When a redstone component checks it dust is pointing towards it, it doesn't actually check if it's pointing towards it. It checks if the dust is pointing no-where (dot) or if it's not pointing to the sides (straight line).
A possible fix would be to add a line of code, that checks if the dust is pointing towards the piston.
But currently, the dust isn't actually even pointing towards the piston (as can be seen in the picture)
[media]The redstone lamp is being powered, tho visually it looks like the dust isn't pointing towards it (the texture pack has nothing to do with this)
Even if the above single line fix is added
This is because the piston is not defined as an `isRedstoneConductor()`
Before checking if the dust can point upwards on top the piston, it checks if the piston is an `isRedstoneConductor()`, which pistons are not, so it fails
The check should be changed to `isFaceSturdy() || HOPPER` to be made consistent with `canSurvive()`
Wouldn't this be a duplicate of MC-2255 then?

Nope
Fixing MC-2255 would only half fix this bug
But you need the entire fix activate to see any changes

U suppose that MC-2255 is the problem here. When I was looking for tickets related to it, I only searched for pistons, I didn't think that this might somehow be connected to visual indicators not being in sync with underlying mechanics.
Since this is the case, I suppose it doesn't matter which way it swings: whether the power is diverted from the lantern and directed onto the piston, or whether the textures/models change somehow to indicate that the power actually flows straight to the next block and also up to the block above on the side, but not to the block underneath it (on the side, on the same level as the redstone conduit). The real problem is that there's only one way to convey the flow of power to the player, by the visual display, and the way this visual display works does not convey it at current moment because the way these things are displayed is not consistent between different use cases. To achieve consistency, either the way redstone transitions are displayed has to change, or the way power travels through redstone lines has to be changed, or both have to be changed. Unless, of course, consistency is not pursued in this aspect, and this becomes a moot point altogether, so we can simply document the way it works, agree that it's the correct behaviour, and move along.
According to my tests, this is not special behaviour for only pistons. Resolved this as MC-2255. You can still create a new ticket after MC-2255 has been fixed and this issue is not happening anymore.
That said, MC-2255 might need a better description / some more info in it, might work on that when I find some more time.
Can confirm in 1.15.1
Relates to:
MC-2255
MC-8645
MC-9405
MC-12643
MC-12811
MC-21689
MC-25534
MC-44063
MC-89855
MC-89866
MC-100326
MC-131306
MC-138049
MC-144031
MC-157865