Docs, ticks, working app

This commit is contained in:
Hugh Kaznowski
2026-09-05 15:05:39 +01:00
parent 41362aa3d8
commit 51e577f01e
41 changed files with 1039 additions and 683 deletions
+29
View File
@@ -0,0 +1,29 @@
# 019 — Default port should be 0
## Summary
`--port` currently defaults to `8420` (`Args` in `main.rs`). The wishlist asks for a
default of `0`, i.e. let the OS assign an ephemeral free port rather than colliding
with whatever else is running on a fixed port.
## Scope
- Change `Args::port`'s default to `0`.
- After `TcpListener::bind` succeeds, read back the actual bound port (via
`listener.local_addr()`) since binding to `0` means the requested port and the
real one differ.
- Print the real bound port in the startup log line (it already prints
`args.port`, which would otherwise always read `0`).
- Consider whether the actual port needs to be surfaced anywhere else (e.g. a
`GET /api/stats`-style endpoint) — not required unless something already depends
on knowing it programmatically today; check before adding.
## Acceptance criteria
- Running `ottyl` with no `--port` binds an OS-assigned free port instead of a fixed
one, and the startup message prints that actual port.
- `--port <n>` still binds the requested fixed port as before.
## Depends on
None.