Is this only possible with reconciliation?
Yes I think so
so can it only happen in the case where the recon set is at max capacity?
Not only that. The order is lost when set difference is decoded. The decoding party only knows wtxids and will request them in random order, via a regular INV. The ordering could be handled on the responder side, but I’m afraid it would be hard and messy. I can try though.
The logic in the last commit is not super-reliable either, so I think it’s better to have belt-and-suspenders like this.
Unless they break something else of course.
Also, since now twice as many entries will be saved in m_recently_announced_invs, does it need a larger capacity?
good point.