Heat oil in a pan over medium-high heat. When oil is hot, reduce heat to medium and add mustard seed and let it splutter. Add 1/2 tsp fenugreek seeds, whole red chilies, and curry leaves. Saute for 10-15 seconds
Add crushed ginger, crushed garlic and chopped green chilies. Saute over medium heat until raw smell is gone(does not need to be brown)
Add sliced shallots and salt. Saute until shallot is translucent.
Reduce heat to medium-low and then add Spice mix prepared earlier in to paste. This is to make sure the dry spices don't get burnt when adding to hot oil. Saute for few minutes until the raw smell of the spice is gone and oil start separating (bhuno/roast the masala well without burning).
Add soaked kudampuli with water, 1/2 cup water, and salt. Cover with a lid and let the gravy boil over medium-high heat.
Add fish pieces carefully and cover with a lid again. Make sure there is enough water to cover the fish pieces, otherwise add 1/2 cup or more water. Let it boil over medium-high heat.
Once the gravy is boiled reduce heat to medium. Rotate the pan occasionally to make sure nothing sticks on the bottom of the pan and fish is covered with water and spices. Cook fish for 8-10 minutes covered.
Open the lid and check for salt and spices, add salt if needed. Rotate the pan to mix fish with spices and cover with lid and cook for another 5 minutes.
When the gravy is thick to your preference, turn off the heat. Sprinkle 1 tsp fresh coconut oil on the top and add fresh curry leaves. Cover with a lid until ready to serve with rice, chapati, or boiled tapioca.