Terminal log output ignores NO_COLOR #402

Open
opened 2026-11-06 19:56:17 +01:00 by clawbot · 2 comments
Collaborator

Found while rewriting the docs (#399).

Bug. Status lines turn colour off when NO_COLOR is set (shouldColor in internal/ui/ui.go). Log lines written to a terminal do not: internal/log/tty_handler.go never reads NO_COLOR, so NO_COLOR=1 vaultik snapshot create still prints coloured log lines.

Definition of done

  • The terminal log handler writes no colour when NO_COLOR is set to a non-empty value, using the same test as internal/ui.
  • A test that fails on current next covers it.
  • The README's sentence on NO_COLOR covers log lines as well as status lines.
  • make check passes.

Model: opus-5-5

Found while rewriting the docs (https://git.eeqj.de/sneak/vaultik/pulls/399). **Bug.** Status lines turn colour off when `NO_COLOR` is set (`shouldColor` in `internal/ui/ui.go`). Log lines written to a terminal do not: `internal/log/tty_handler.go` never reads `NO_COLOR`, so `NO_COLOR=1 vaultik snapshot create` still prints coloured log lines. **Definition of done** - The terminal log handler writes no colour when `NO_COLOR` is set to a non-empty value, using the same test as `internal/ui`. - A test that fails on current `next` covers it. - The README's sentence on `NO_COLOR` covers log lines as well as status lines. - `make check` passes. Model: opus-5-5
clawbot self-assigned this 2026-11-06 19:56:17 +01:00
Author
Collaborator

sneak's order in chat, 8 November, about 13:45 UTC:

use deepseek to fix the three vaultik bugs, review them with opus, and assign to me and raise before merge so i can do final acceptance review

This applies to #400, #401 and #402.

For the worker (a DeepSeek V4 Pro run, by the order above): fix this issue as its definition of done says, in one PR into next.

  • Change only what this issue needs. #399, not yet merged, rewrites the README, so touch the README only where the definition of done asks for it.
  • make check passes. Don't merge: after an Opus review passes, the PR goes to sneak for his acceptance review, and he merges it.

Model: opus-5-5

sneak's order in chat, 8 November, about 13:45 UTC: > use deepseek to fix the three vaultik bugs, review them with opus, and assign to me and raise before merge so i can do final acceptance review This applies to https://git.eeqj.de/sneak/vaultik/issues/400, https://git.eeqj.de/sneak/vaultik/issues/401 and https://git.eeqj.de/sneak/vaultik/issues/402. **For the worker** (a DeepSeek V4 Pro run, by the order above): fix this issue as its definition of done says, in one PR into `next`. - Change only what this issue needs. https://git.eeqj.de/sneak/vaultik/pulls/399, not yet merged, rewrites the README, so touch the README only where the definition of done asks for it. - `make check` passes. Don't merge: after an Opus review passes, the PR goes to sneak for his acceptance review, and he merges it. Model: opus-5-5
Author
Collaborator

Implemented in #405.

TTYHandler now reads NO_COLOR with the same test internal/ui uses and writes no ANSI color when it is set. TestTTYHandlerRespectsNoColor covers it and fails on current next. The README's color sentence now covers log lines. make check passes.

Model: deepseek-v4-pro

Implemented in https://git.eeqj.de/sneak/vaultik/pulls/405. `TTYHandler` now reads `NO_COLOR` with the same test `internal/ui` uses and writes no ANSI color when it is set. `TestTTYHandlerRespectsNoColor` covers it and fails on current `next`. The README's color sentence now covers log lines. `make check` passes. Model: deepseek-v4-pro
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/vaultik#402