Skip to content

fix(bluebubbles): add enrichGroupParticipantsFromContacts to core Zod schema#56889

Merged
altaywtf merged 3 commits intoopenclaw:mainfrom
zqchris:fix/bb-enrich-config-schema
Apr 1, 2026
Merged

fix(bluebubbles): add enrichGroupParticipantsFromContacts to core Zod schema#56889
altaywtf merged 3 commits intoopenclaw:mainfrom
zqchris:fix/bb-enrich-config-schema

Conversation

@zqchris
Copy link
Copy Markdown
Contributor

@zqchris zqchris commented Mar 29, 2026

Summary

enrichGroupParticipantsFromContacts was added to the BlueBubbles extension config schema in #54984 but was not synced to the core strict Zod validator in src/config/zod-schema.providers-core.ts.

Because BlueBubblesAccountSchemaBase uses .strict(), having this field in the user config causes validation to fail with Unrecognized key: "enrichGroupParticipantsFromContacts", which prevents the gateway from starting.

This PR adds the field to the core Zod schema, matching the pattern used by other extension-owned fields like handleNames and allowPrivateNetwork.

Test plan

  • openclaw config validate accepts channels.bluebubbles.enrichGroupParticipantsFromContacts: true without error
  • Gateway starts successfully with the field present in config
  • CI passes

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 29, 2026

Greptile Summary

This PR adds enrichGroupParticipantsFromContacts: z.boolean().optional() to BlueBubblesAccountSchemaBase in the core Zod schema (src/config/zod-schema.providers-core.ts). The field was previously added to the BlueBubbles extension config (in #54984) but was never synced to the strict core schema, causing validation to fail with Unrecognized key errors whenever the field was present in a user's config.

  • The fix is minimal and targeted — one field added in the correct location within the .strict() object definition.
  • The type (z.boolean().optional()) correctly matches the field's boolean type declared in bundled-channel-config-metadata.generated.ts.
  • The pattern matches other extension-owned fields already present in BlueBubblesAccountSchemaBase (e.g., allowPrivateNetwork: z.boolean().optional()).

Confidence Score: 5/5

This PR is safe to merge — it is a one-line schema fix that unblocks users with enrichGroupParticipantsFromContacts in their config.

The change is a single-line addition that correctly fills a gap between the extension-level schema and the strict core Zod validator. It follows the established pattern for extension-owned fields and has no side-effects. No P0 or P1 issues were identified.

No files require special attention.

Important Files Changed

Filename Overview
src/config/zod-schema.providers-core.ts Adds missing enrichGroupParticipantsFromContacts: z.boolean().optional() field to BlueBubblesAccountSchemaBase to fix strict schema validation failure.

Reviews (1): Last reviewed commit: "fix(bluebubbles): add enrichGroupPartici..." | Re-trigger Greptile

@zqchris zqchris force-pushed the fix/bb-enrich-config-schema branch from fd267bd to 0b46c2e Compare March 29, 2026 09:45
jeremyknows added a commit to jeremyknows/openclaw that referenced this pull request Mar 29, 2026
… schema

Cherry-picked from openclaw#56889. The field was added to the
BlueBubbles extension schema but not synced to the core strict validator,
causing gateway crash loops when the config key is present.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@TheOutdoorProgrammer
Copy link
Copy Markdown

TheOutdoorProgrammer commented Mar 31, 2026

@steipete @vincentkoc Can you merge this and cut a release? Its been preventing openclaw gateway from restarting after running openclaw update for a few days for me and Im missing my agent 😔.

top@mini-1 ~ % openclaw update
Config invalid
File: ~/.openclaw/openclaw.json
Problem:
  - channels.bluebubbles: Unrecognized key: "enrichGroupParticipantsFromContacts"

Run: openclaw doctor --fix
top@mini-1 ~ % openclaw gateway restart
Invalid config at /Users/top/.openclaw/openclaw.json:\n- channels.bluebubbles: Unrecognized key: "enrichGroupParticipantsFromContacts"

🦞 OpenClaw 2026.3.28 (f9b1079) — I'm not saying your workflow is chaotic... I'm just bringing a linter and a helmet.

Config invalid
File: ~/.openclaw/openclaw.json
Problem:
  - channels.bluebubbles: Unrecognized key: "enrichGroupParticipantsFromContacts"

Run: openclaw doctor --fix
Gateway aborted: config is invalid.
channels.bluebubbles: Unrecognized key: "enrichGroupParticipantsFromContacts"
Fix the config and retry, or run "openclaw doctor" to repair.

edit: just realized its being automatically re-added to openclaw.json. I can at least start the gateway if I remove it once but it will automatically get re-added next time.

jeremyknows added a commit to jeremyknows/openclaw that referenced this pull request Apr 1, 2026
… schema

Cherry-picked from openclaw#56889. The field was added to the
BlueBubbles extension schema but not synced to the core strict validator,
causing gateway crash loops when the config key is present.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@altaywtf altaywtf self-assigned this Apr 1, 2026
@altaywtf altaywtf force-pushed the fix/bb-enrich-config-schema branch from 0b46c2e to da6f684 Compare April 1, 2026 20:14
Chris Zhang and others added 3 commits April 1, 2026 23:43
… schema

The field was added to the extension config schema in openclaw#54984 but not
synced to the core strict Zod validator, causing config validation to
reject the key at startup with 'Unrecognized key'.
@altaywtf altaywtf force-pushed the fix/bb-enrich-config-schema branch from da6f684 to 999208f Compare April 1, 2026 20:43
@altaywtf altaywtf merged commit 75ab5bc into openclaw:main Apr 1, 2026
41 checks passed
@altaywtf
Copy link
Copy Markdown
Member

altaywtf commented Apr 1, 2026

Merged via squash.

Thanks @zqchris.

jeremyknows added a commit to jeremyknows/openclaw that referenced this pull request Apr 2, 2026
… schema

Cherry-picked from openclaw#56889. The field was added to the
BlueBubbles extension schema but not synced to the core strict validator,
causing gateway crash loops when the config key is present.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
ancientitguybot-dev pushed a commit to KaiWalter/openclaw that referenced this pull request Apr 3, 2026
… schema (openclaw#56889)

* fix(bluebubbles): add enrichGroupParticipantsFromContacts to core Zod schema

The field was added to the extension config schema in openclaw#54984 but not
synced to the core strict Zod validator, causing config validation to
reject the key at startup with 'Unrecognized key'.

* test(config): add BlueBubbles schema regression coverage

* fix(bluebubbles): accept enrichGroupParticipantsFromContacts config

---------

Co-authored-by: Chris Zhang <[email protected]>
Co-authored-by: Altay <[email protected]>
steipete pushed a commit to duncanita/openclaw that referenced this pull request Apr 4, 2026
… schema (openclaw#56889)

* fix(bluebubbles): add enrichGroupParticipantsFromContacts to core Zod schema

The field was added to the extension config schema in openclaw#54984 but not
synced to the core strict Zod validator, causing config validation to
reject the key at startup with 'Unrecognized key'.

* test(config): add BlueBubbles schema regression coverage

* fix(bluebubbles): accept enrichGroupParticipantsFromContacts config

---------

Co-authored-by: Chris Zhang <[email protected]>
Co-authored-by: Altay <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants