OK, I have to issue an official "murmurs" on the geographic aspects of the last few episodes.
Look at the map.
OK, so first we had Danny's Pyke fleet split in two. One part was taking the Unsullied to Casterly Rock and the other part went to Dorne to pick up their forces to take them to place King's Landing under seige.
Now, it would have taken some time, a few days at least to load that whole army, so assuming the Unsullied sailed at the same time from Dragonstone (and why wouldn't they), they would have a few days head start on the Dorne contingent.
Next we have Cersie's Pyke fleet annihilate the Dorne transport portion while enroute to King's Landing
That would have to have taken place somewhere between Sunspear and Massey's hook.
So how the frack did they get to Casterly Rock a few hours after the Unsullied to destroy that fleet?
Next we have last nights episode.
Two problems.
First, where were the Dothraki before previous episodes?
Presumably at Dragonstone.
OK, so just what ships did they use to transport them to the mainland? How many of Danny's Pyke fleet was left after the Dorne and Unsullied disasters?
Second, assuming they Gloucester fishermen hidden away, just where did they land?
They needed to get around King's Landing and into The Reach to intercept Jamie's army.
I find it ludicrous to think that the Lannisters didn't have scouts along the shore of Blackwater Bay keeping an eye on things to let them know if Danny was coming.
So how did they avoid them?
The further they sailed down the coast, the longer it would take to get there.