In large saucepan, heat oil and onion and sauté on medium heat for about 3 minutes, until onions have softened but are not brown. With handle of wooden spoon, bruise makrut lime leaves to help release essential oils, and add to saucepan with garlic and ginger. Sauté on low-medium heat for about 2 minutes. Increase heat to medium, add curry paste, and fry for a minute or two. Add rice vinegar and, with wooden spoon, scrape up anything sticking to pan. Add lime juice, coconut milk, fish sauce, and sweet potato and stir to incorporate. Cook on low simmer for about 20 minutes, until sweet potatoes are tender when pierced with fork but still hold their shape. Add rockfish in even layer on top of curry mixture, and top with spinach. Cover with lid and cook for 5 minutes, allowing fish and spinach to steam and release liquid into soup. After 5 minutes, add mussels, cover again, and cook for a further 2 to 3 minutes, until mussels have opened and rockfish is flaky.