Don't know if this is a bug or just a feature I never discovered before but if you have a damaged boat then it can repair at sea by doing full rest in its present location. I have a reflex action of sending it home to rest which can take time and expose to risk of attack while travelling. Satellites can also repair by resting them.
EDIT, seems to work for destroyers but not cruisers so probably a bug.
EDIT 2, seems to vary with level of damage, a cruiser with 2 hits can repair, one with 4 cannot.