Make the sweet-and-sour sauce by combining sugar, orange juice (juice of 1 orange), grated ginger, pineapple juice, minced garlic, soy sauce, white vinegar and sriracha in a saucepan over medium heat and bring to a boil.
In a small cup, dissolve the cornstarch into the warm water, then whisk the slurry into the boiling sauce and simmer for about 5 minutes until the sauce thickens; adjust consistency with more pineapple juice if you prefer it thinner. Set aside.
Soak the cubed ciabatta in enough milk to cover for 5 minutes, then squeeze out excess milk and transfer the soaked bread to a large bowl.
Add flaked steamed fish, minced garlic, chopped parsley, beaten egg, breadcrumbs and a pinch of all-purpose flour to the soaked bread; add optional orange zest and grated ginger if using, then season and mix until a cohesive mixture forms.
Roll the mixture into small balls (about 1 to 1.5 inches each). Place some all-purpose flour on a plate and coat each ball lightly in flour.
Heat about 1 inch of vegetable oil in a frying pan over medium-high heat. Fry the fish balls, turning occasionally, until evenly golden and cooked through, about 3–5 minutes depending on size; drain on paper towels.
Alternatively, arrange the fish balls on a baking tray, brush with oil and bake at 170°C (350°F) for about 15 minutes or until cooked through.
Transfer the cooked fish balls to a bowl, pour some sweet-and-sour sauce over them and toss gently to coat. Sprinkle with chopped spring onion and toasted sesame seeds, then serve.