Solved it. The problem was that StateFlow<T> won’t trigger if the value doesn’t change. The way to fix it was to emit a Loading state before reaching out to the network, so that even if the remote data doesn’t change, flow will emit the same data again.