all public cannels in one thread. fix infinite loop when running without secret