Question 1: It’s not clear what you want to accomplish. Just to keep Syncthing working, you don’t need to do anything special when copying a file over by other means than Syncthing.
Question 2: Syncthing will resolve that: When it sees that the file contents are the same, it removes the flag marking the change as locally changed (also changing the version vector accordingly).
Yes, I know that Syncthing could in theory keep on running, however I want to give B time to rescan the folder (otherwise, I think, it may happen that it starts redownloading stuff before figuring out that it’s already there). That’s why I thought about pausing B (from A)
But as I said, I’m not sure it’s necessary.
I just tried and I confirm empirically that it works.
I have two machines A and B linked by a very slow connection, and a very large update happened on A. however the files were also present somewhere in the same LAN where B is, so we did a manual copy.
Syncthing initially marked everything as a local change, but when we unpaused it, it synced very quickly (so it’s just impossible it downloaded anything).
Actually I wanted to say that it doesn’t happen, but rechecking it looks like it might indeed start downloading and only after finishing it will realize that the file on disk is already there. That should probably be changed.