If both gas estimation and MetaMask action approval succeed, but adding position action still fails, it is likely to be a problem with slippage. To protect the user's best interest, we have set a 0.5% slippage tolerance. If the first attempt fails, the contract will increase the tolerance to 2% for a final attempt. If a 2% slippage tolerance still can't get the tokens swapped, the price impact is too high at the moment. We suggest you try later instead of re-approving again.