Swansea beat Charlton 3–1 in Championship Round 46 with two goals from Adam Idah and a late Leo Walta free‑kick, after Miles Leaburn briefly equalised for the visitors.