fix(modal): handle both load from cache & request