Server fixes:
- database.js: auto-create data/ directory on startup — was crashing on
fresh clone because the gitignored directory didn't exist
- better-sqlite3 upgraded to latest (13.x) for Node 26 compatibility
Network discovery:
- discoverNetwork() accepts optional subnet param; scans that range instead
of auto-detecting when provided
- New GET /api/network-subnets endpoint returns detected local interfaces
so UI can offer quick-select buttons
- Discovery modal: subnet text input + Scan button + auto-detect quick-select;
local subnet buttons populate once the modal is open
- server/index.js: pass subnet from request body to discoverNetwork()
Infra:
- React client runs on PORT=3456 in dev to avoid port conflicts
- .claude/launch.json added for one-command preview via Express (serves
the pre-built client, no port conflict with the preview tool)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>