mirror of
https://github.com/Tyrrrz/DiscordChatExporter.git
synced 2026-06-10 08:12:38 -06:00
podman-compose and docker compose allocate a pseudo-TTY by default; always passing -T block-buffered export progress. Omit -T for operator runs and set DCE_COMPOSE_TTY=0 only for cron log append. Adds compose TTY smokes and cron job env assertion.
1.6 KiB
1.6 KiB
| title | type | status | date | origin |
|---|---|---|---|---|
| feat: Allocate compose TTY for live operator scrape logs | feat | complete | 2026-06-04 | /lfg — plan 048 host tee still shows frozen validation logs; yes_general temp grows but podman run -T block-buffers CLI progress |
feat: Allocate compose TTY for live operator scrape logs
Problem
Plan 048 streams host-side compose output via tee, but compose_run_args always passes -T (no pseudo-TTY). Containerized DiscordChatExporter progress lines stay block-buffered when piped, so operator validation logs remain silent for hours during large exports.
Requirements
| ID | Requirement |
|---|---|
| R1 | compose_run_args omits -T when DCE_COMPOSE_TTY is unset or non-zero; passes -T only when DCE_COMPOSE_TTY=0 |
| R2 | setup-cron.sh cron job sets DCE_COMPOSE_TTY=0 (non-interactive log append) |
| R3 | Host smoke asserts default omits -T and DCE_COMPOSE_TTY=0 passes -T |
| R4 | Cron smoke asserts installed job includes DCE_COMPOSE_TTY=0 |
| R5 | run-all-smokes.sh passes |
Implementation
scripts/run-discord-scrape-host.sh—compose_tty_flag()+ use in all compose branches; document env in usagescripts/setup-cron.sh— prefix cron job withDCE_COMPOSE_TTY=0scripts/tests/run-discord-scrape-host-smoke.sh— compose arg capture for-t/-Tscripts/tests/setup-cron-smoke.sh— grep crontab forDCE_COMPOSE_TTY=0
Verification
./scripts/tests/run-discord-scrape-host-smoke.sh
./scripts/tests/setup-cron-smoke.sh
DCE_MIN_FREE_MB=0 ./scripts/run-all-smokes.sh
Out of scope
- yes_general catch-up completion
- Container memory limits