You don't have 30 minutes to slam a shake or lose your session. The useful window is a few hours wide. What matters is that protein and carbohydrate show up somewhere on the other side of the workout — most people's real problem is training at 6pm and eating almost nothing until breakfast.
A good recovery meal is 25–40 grams of protein plus a real carbohydrate: chicken and rice, eggs and potatoes, yogurt and fruit and granola, a shake with a banana if you're heading straight out.
Carbohydrate isn't optional here. It's what refills the fuel your muscles just spent, and it's part of why the next session feels good instead of heavy.
If you train early and can't stomach food beforehand, eat the bigger meal afterwards. If you train at night, keep it smaller and prioritise the protein so it doesn't sit heavy at bedtime.