Repository navigation
Conversation
…settings, all-or-nothing admin rights - chats members fetch and audit are refused only with --offline, not for every messenger with history: "store"; members list asks the adapter when it has `members`, else reads stored members. whatsapp-cli's adapter `members` was reachable only from chats moderate. - MoreGroupSettings (onlyAdminsSend, onlyAdminsEditInfo, disappearingSeconds) with chats update --only-admins-send, --only-admins-edit-info and --disappear-time, offered only where a messenger lists them in groupSettings. A separate type so max-cli's Record<keyof GroupSettings> still compiles. - Messenger.pickAdminRights: false drops admins add --can and gives every right in adminRights. - ./cli exports GroupAdmin, ContactBook and the other capability types it lacked. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…historyOnDemand
Without it, archiveService.fetch refused every messenger with history: "store" before any connection,
so whatsapp-cli's on-demand history(chat, { limit, before }) was unreachable. --all stays refused for
them, now in the command before a background job starts.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
wa is a third CLI in parity.json, placed from wa main's commands --json: in `in` where it has a row, a reason where WhatsApp cannot (bot, server search, forum topics, one invite link, ...), and a plan where wa should catch up (polls, flood, schedule, metadata, ...). The options this release changes for wa (chats update's three new switches, admins add --can) are planned for it, so wa main and wa after the bump both pass. The Parity workflow builds whatsapp-cli too; app-ref.sh and the audit take a repository name where it is not <cli>-cli. The shared lint program lists every group setting, and the three new options sit in the option-role baseline until cli-base names their role. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
leemour
force-pushed
the
fix/groups-for-store-messengers
branch
from
October 17, 2026 02:14
7a97df9 to
44c305c
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task
Close the group and history gaps whatsapp-cli (
wa) found in cli-core, and addwato the parity manifest.Why
wakeeps its history in the local store (history: "store"). cli-core treated that like--offline, sowacould not read group members or ask for older history of one chat. Its group switches and its all-or-nothing admin rights had no names here.What
Members.
chats members fetchandauditnow refuse only with--offline, or when the adapter has nomembers.chats members listasks the adapter when it hasmembers; otherwise it reads the stored members. tg and max already read from the server, so nothing changes for them.Group settings. A new
MoreGroupSettingstype holdsonlyAdminsSend,onlyAdminsEditInfoanddisappearingSeconds. They come withchats update --only-admins-send,--only-admins-edit-infoand--disappear-time <duration|off>, and with the same keys in MCP. A messenger offers them only when it lists them ingroupSettings. They are a separate type so max-cli'sRecord<keyof GroupSettings>still compiles. That matters: Parity builds max main, so a type break would fail this release.Admin rights. With
Messenger.pickAdminRights: false,admins addhas no--canand gives every right inadminRights. The MCP tool dropsrightsthe same way.On-demand history. With
MessengerTraits.historyOnDemand: true,messages sync <chat>reaches the adapter'shistory, at mostfetching.maxPageSizemessages per request.messages sync --allis refused for every store-history messenger, before a background job starts.Exports.
./cliexportsGroupAdmin,ContactBook,ChatFolders,ChatDeletion,AccountSettings,AccountEditing,AccountRecords,ProfileChange,ProfilePhotos,MessagePermalinksandTopicHistory.Parity.
wais inclis. Rows are placed from wa main'scommands --json:The Parity workflow now builds whatsapp-cli too.
app-ref.shand the audit accept a repository name. The three new options are in the option-role lint baseline until cli-base gives them a role.Testing
vitest runpasses locally. New tests cover: members for a store-history messenger, the three settings,pickAdminRightsin the CLI and MCP, and on-demand sync with its page cap and the--allrefusal.mainall build against this branch's packed tarball.parityProblemsreports 0 for max, tg and wa. That is wa main as of0f17395, built against this branch. wa's--pagescheck passes.manifestProblemsreports 0.pnpm docs:checkand the command lint pass.🤖 Generated with Claude Code