Sooo,
I found the issue and a workaround:
The problem is that it seems they both run in the same step (react hooks) and the update is not set properly this way. My hotfix was to just create a dummy state to handle this:
const cartLines = useCartLines()
const lineChanger = useApplyCartLinesChange()
// we create a dummy State variable to update everything when we want to
const [ useless, setUseless ] = useState(0)
useEffect( () => { // do something with cartLines here }
, [useless]) // will trigger on any change to the dummy
// for example, this will empty the cart one by one, reloading once inbetween
useEffect( () => {
lineChanger( { /*change*/ }).then( () => {
setUseless( (i) => i+1 ) // set the useless State so the component will update
})
}, [useless] )