client: cache features result

[ci skip]