I was discussing various light client models and we got into unconfirmed transactions. With the BIP37-based bloom filters, a light client would subscribe to updates from full node peers by submitting its filter to the full nodes. A BIP37 filter could be applied to the mempool and a full node could notify the light client of unconfirmed transactions.
As far as I understands, compact block filters (CBF) are only created for confirmed blocks. This implies that a CBF-based light client would only hear about transactions after confirmation unless they had another mechanism to hear about unconfirmed transactions. Keeping up with the mempool would incur a lot of traffic. How would CBF-based light clients learn about relevant unconfirmed transactions without having all the downsides of BIP37-based wallets?