---
name: trenchbuy-2
description: Continuation of [[trenchbuy]] from 7 Sep 2026, after that file hit its 32KB cap. Serving infrastructure and later fixes for the trenchbuy Chrome extension.
sources: [cowork]
aliases: [trenchbuy part 2, lwserve, dep_table]
---

# trenchbuy, part 2

Continuation of [[trenchbuy]]. Read that file first for the extension itself.

## lwserve was single-threaded and WEDGED the whole port, 7 Sep 2026
- `/opt/launchwatch/serve.py` on the kookwatch droplet used a plain `socketserver.TCPServer`: backlog 5, one request at a time.
- One stalled client left six connections queued and every later request hung, so **`dep_table.json` stopped answering entirely and the extension's deployer dots would have gone grey chain-wide**.
- **Symptom to recognise: the port LISTENs, `systemctl is-active lwserve` says active, `ss -lntp` shows a non-zero Recv-Q on :80, and yet even `curl http://127.0.0.1/` from the box itself never returns.** "The service is running" proves nothing here.
- Fixed to `socketserver.ThreadingTCPServer` with `daemon_threads=True`, `request_queue_size=64`, `timeout=15` and `protocol_version='HTTP/1.1'`. Cache-Control dropped from 600s to 60s. Old file kept as `/opt/launchwatch/serve.singlethread.bak.py`.
- It now serves two things: `dep_table.json` for the extension, and `longboard.html` / `longboard.json` for the long.xyz early-launch board (see [[rh-launchpad-sector]]).
- **The Cowork cloud container cannot reach http://159.223.88.168 at all (503 from the egress proxy).** Verify anything this server publishes from Ben's Mac or from the droplet, never from the container. A 503 there is not evidence the server is down.

