My main group of players and I only play for about 2.5 hours each week so “restock each session” hasn’t been working for us.
We find every failed roll you can try again, and every combat (which is usually a whole session) there is a bunch of extra recoveries that restock.
We changed it recently to restocking on a victory, since they didn’t always get a victory each session, but last session they got 2 victories over the session and we all felt that restocking on the negotiation victory just before an encounter felt strange. The players decided not to restock.
I’m now thinking maybe every victory they gain a set amount of hero tokens instead? Maybe no cap on them either? And maybe restock to full on a respite or something.
Another option is every in-game ‘day’ they restock or something, but only once per session?

