<!-- We want Rerun to be easy and satisfying to use. This issue template is for reporting things that aren't bugs or missing features but that still degrade your experience. You don't need to suggest a solution. Just let us know where you're hitting unnecessary friction or confusion. --> <!-- First look if there is already a similar annoyance report. If there is, upvote the issue with 👍 --> **Describe the annoyance** <!-- A clear and concise description of what you find annoying. An image is good, a gif or movie is better! --> Currently if there's a rerun server already using WebSocket port 9877 on a machine, `rr.serve` throws the following error: ```bash RuntimeError: Failed to bind to WebSocket port 9877: Address already in use (os error 98) ``` **To Reproduce** 1. Launch a script that runs `rr.serve` (I ran into it on python, but you can try `cd rerun/examples/rust && cargo run --bin minimal_serve`) 2. While 1 is running, launch above script again in another terminal. **Expected behavior** <!-- A clear and concise description of what you expected to happen. --> Assign a different free port (e.g. streamlit does this also). **Your goals** <!-- What larger task were you trying to achieve when you got annoyed or confused? --> * Having multiple `rr.serve` sessions open * Running `rr.serve` on a shared machine/server where multiple users might simultaneously be using rerun **Desktop (please complete the following information):** - OS: Ubuntu 20.04.6 LTS