Skip to content

feat(config): User-defined working messages list#466

Merged
CSRessel merged 1 commit intomainfrom
user-defined-working-messages
May 8, 2026
Merged

feat(config): User-defined working messages list#466
CSRessel merged 1 commit intomainfrom
user-defined-working-messages

Conversation

@nori-sessions
Copy link
Copy Markdown
Contributor

@nori-sessions nori-sessions Bot commented May 8, 2026

Summary

🤖 Generated with Nori

  • Adds [tui].custom_working_message_list to home Nori config so users can supply their own array of working messages, overriding the builtin whimsical pool while keeping the existing custom_working_messages on/off toggle from fix(config): Add config toggle for working messages #464.
  • Consolidates status-header selection through a single pick_status_message(bool, &[String]) helper, fixing a regression where on_task_started ignored the toggle for any task after the first.
  • /config menu still only edits the boolean; the user list is TOML-only. The menu entry's description now advertises when a custom list is active so toggling does not surprise the user.

Behavior

  • custom_working_messages = false → plain Working (existing).
  • custom_working_messages = true (default), no list → builtin whimsical rotation (existing).
  • custom_working_messages = true, custom_working_message_list = ["foo", "bar"] → samples from user list (new).
  • custom_working_messages = false, list set → still plain Working (bool wins).

Test Plan

  • cargo test -p codex-core --lib custom_working_message (5 passed)
  • cargo test -p nori-acp --lib test_nori_config (7 passed)
  • All 1219 nori-tui lib tests pass; new tests for widget, on_task_started bug fix, and picker description verified GREEN.
  • just fix -p codex-core -p nori-acp -p nori-tui clean.
  • cargo fmt.
  • Reviewer: confirm cargo build --bin nori and cargo test -p tui-pty-e2e pass in CI.

Share Nori with your team: https://www.npmjs.com/package/nori-skillsets

Adds `[tui].custom_working_message_list` (Vec<String>) to nori config so
users can override the builtin whimsical "working" status messages with
their own list. The existing `custom_working_messages` boolean still
gates rotation on/off; when on and the user list is non-empty the TUI
samples from the user's strings instead of the builtin pool.

While here, fix a regression of #464 where on_task_started always called
random_status_message() unconditionally, defeating the boolean toggle for
any task after the first. All status-header selection now routes through
a single pick_status_message(bool, &[String]) helper.

The /config menu only edits the boolean; the user list is TOML-only. The
"Custom Working Messages" menu entry's description announces when a
custom list is active so toggling the boolean doesn't surprise users.
🤖 Generated with [Nori](https://noriagentic.com)

Co-Authored-By: Nori <contact@tilework.tech>
@CSRessel CSRessel marked this pull request as ready for review May 8, 2026 14:53
@CSRessel CSRessel merged commit aeca799 into main May 8, 2026
3 checks passed
@CSRessel CSRessel deleted the user-defined-working-messages branch May 8, 2026 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant