If anything though, Rouge One's approach to the planet creates a ROTJ plot hole by making one wonder why years later on Endor the Empire still lets unscheduled craft through security shields so easily.
One ship sneaks through and a couple rebels get the plans to destroy a Death Star and we never hear the end of it? Geez.
Also, in ROTJ it was a trap set up by the Emperor, he was well aware of the rebel plot.
Ok- just having fun here but consider this:
I agree that the Emperor could see the future and knew of a rebel plan, including their presence on the moon. He planned a trap with his best troops on the ground and the rebel fleet stuck between star destroyers and a (surprise!) operational Death Star in orbit.
However when Admiral Piett explains to Vader that shuttle Tydirium's code is old but he was going to let them through, AND when you consider the security breach a few years back by Rogue One on Scariff, both of these things make me feel like the rebel attack on the second Death Star could have been avoided had the Empire's brass dutifully enforced a simple upgrade to their planetary shield clearance protocol. I mean, how many planetary shields do they operate? They clearly protect important things, like Imperial Archives and their biggest, most important weapon ever.
On another level, what is an admiral doing checking clearance codes for transport shuttles? Doesn't he have better things to do?
My point is: Admiral Piett's line explaining that he was about to let them through is the plot hole. He was old enough and in service during the Scariff debacle. Possibly a general then. You'd think the Empire's brightest might have learned from that mistake.
Take this in the light intended, peacedog! I'm just wasting time on a Friday night