frontend: add discovery preview, and explicit subscription