Squashed 'shared/' changes from 31bbb52..3046675

3046675 actually fix ff bug

git-subtree-dir: shared
git-subtree-split: 3046675870e42bbf98218c5a6e0db50e232b7866
Merge commit '848ab9756fdcd16922979f2240bb7ec577706aa5'