I've done some experiments with Oxalic over the years. I've seen many posts on fora going back and forth over whether painted parts can go in the Oxalic solution. I've seen Evap-O-Rust in the stores, but have always passed on it because of the cost and because Oxalic seems to be a workable solution to rust.
Oxalic acid is not a cure-all. It does an outstanding job lifting rust. However, if you have rust underneath the plating, it will pull up the plating in sheets. It will do the same with paint, if rust is enough mixed into the paint. What happens is the acid dissolves the rust, but in so doing it frees whatever is bound in with the rust from adherence to the steel. So if you have a rust spot and the rust has spread underneath the surrounding plating, it will not only dissolve the rust in the pit itself, but it will leech under the plating, dissolve that rust, and thereby leave a big sheet of plating that will come clean off the steel. It will do the same with paint- it cleans the pit, but then if there is rust under the paint, it will dissolve that and pull up the paint bound in with the rust. However, if the paint has good adherence to the steel and it is clean underneath, then it will stay put. Left long enough, the acid can straight dissolve the actual paint as well, but that's a longer soak than should be going on.
When I do painted parts in Oxalic I check every few minutes (10-15) and rub with a clean cloth. If I see too many signs of paint coming up, I pull and wash down the part. If it looks like I'm getting rust and no paint, I return to the soak for another few minutes. I'm a bit more aggressive with plating, but not much. I check every 30 min or so on that. I might leave a part in a couple hours, at most. If the solution is more diluted, you may end up going longer.
The result is that you have to know your part in terms of age and condition. If you suspect it's a truly antique part with possible rust infiltration sideways from the pits, you may want to limit or skip the soak. If you do soak, test the part every few minutes with a cloth if it is painted- check how much color comes off on the cloth. With plating, look for signs it is bubbling underneath to make sure you don't "soak off" what's left of your plating.
Oxalic should not be used for silver-derivative plating/metal and should not be used with Cad plating. Cad plating is the most relevant issue to bikes, and if you soak your cad parts in there, it will pull the plating right off. You can actually see it coming off in the solution if you watch.
The front fender on the Columbia below was covered in surface rust. I did the soak and check, then rinsed, cleaned, and polished the part. The cloth showed a little blue, but nothing more than would be produced in a conservative polish job. The result is pretty clean.