Skip to content

feat: add status message sending#247

Merged
steipete merged 2 commits into
openclaw:mainfrom
dovocoder:fix/change-status-messages
May 16, 2026
Merged

feat: add status message sending#247
steipete merged 2 commits into
openclaw:mainfrom
dovocoder:fix/change-status-messages

Conversation

@dovocoder
Copy link
Copy Markdown
Contributor

@dovocoder dovocoder commented May 16, 2026

Summary

  • Add wacli send status for WhatsApp status broadcasts via status@broadcast.
  • Support text statuses with optional background color and font metadata.
  • Support media statuses with --file, optional --mime, and --message as the media caption.
  • Persist synced and locally sent statuses in a dedicated status_messages table, including sender fields, media metadata, and text-status styling fields.
  • Keep statuses out of normal chat rows and messages list/search/export behavior.
  • Update the changelog, README, send docs, quickstart, overview, spec, store/sync notes, and integration SQL examples for the new status behavior.

Test Plan

  • go test ./cmd/wacli ./internal/store ./internal/app
  • node scripts/build-docs-site.mjs
  • git diff --check upstream/main..HEAD

Notes

  • Status sends use WhatsApp status privacy. Targeted recipient selection is not exposed as a CLI flag in this PR.
  • Full pnpm test was run earlier and still fails on internal/fsutil TestEnsureWritableDirRejectsNonWritableDir when executed as root, because root can write to the chmod-restricted test directory. The status-related cmd/store/app tests pass.

@dovocoder dovocoder force-pushed the fix/change-status-messages branch 3 times, most recently from f5ecfe1 to 0294721 Compare May 16, 2026 16:20
Copy link
Copy Markdown
Collaborator

@dinakars777 dinakars777 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work — code quality looks solid. Single clean commit, proper regression tests for both text and media statuses, idempotent schema migration, and clean separation from the regular messages table. CI is all green.

A couple of observations before we merge:

  1. Migration placement: The new columns are added via migrateStatusMessageMediaColumns inside migrateCoreSchema rather than as a numbered migration in the existing migrations.go sequence. Worth checking if Peter prefers the numbered approach for new tables.

  2. Scope check: This is a sizeable feature (+609 lines, new DB table, new CLI command). @steipete — does status message support fit the current roadmap? Happy to merge once you give the thumbs up.

@dovocoder
Copy link
Copy Markdown
Contributor Author

Hi @dinakars777, totally agree. Let's wait for confirmation. The reason I added it is that I saw status updates in my messages list yesterday and had to check who that contact was because I hadn't had a conversation with that person in a long time.

@steipete steipete force-pushed the fix/change-status-messages branch from 0294721 to c16ce25 Compare May 16, 2026 19:26
@steipete steipete merged commit 3613468 into openclaw:main May 16, 2026
5 checks passed
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.

3 participants