diff --git a/src/config/config.schema-regressions.test.ts b/src/config/config.schema-regressions.test.ts index 7a6053fd01c..cfc05fb81ca 100644 --- a/src/config/config.schema-regressions.test.ts +++ b/src/config/config.schema-regressions.test.ts @@ -75,6 +75,34 @@ describe("config schema regressions", () => { expect(res.ok).toBe(true); }); + it("accepts channels.bluebubbles.allowPrivateNetwork", () => { + const res = validateConfigObject({ + channels: { + bluebubbles: { + allowPrivateNetwork: true, + }, + }, + }); + + expect(res.ok).toBe(true); + }); + + it("accepts channels.bluebubbles.accounts.*.allowPrivateNetwork", () => { + const res = validateConfigObject({ + channels: { + bluebubbles: { + accounts: { + default: { + allowPrivateNetwork: true, + }, + }, + }, + }, + }); + + expect(res.ok).toBe(true); + }); + it("rejects unsafe iMessage remoteHost", () => { const res = validateConfigObject({ channels: { diff --git a/src/config/zod-schema.providers-core.ts b/src/config/zod-schema.providers-core.ts index e65030d8f38..6d3aeed69df 100644 --- a/src/config/zod-schema.providers-core.ts +++ b/src/config/zod-schema.providers-core.ts @@ -1392,6 +1392,7 @@ export const BlueBubblesAccountSchemaBase = z mediaMaxMb: z.number().int().positive().optional(), mediaLocalRoots: z.array(z.string()).optional(), sendReadReceipts: z.boolean().optional(), + allowPrivateNetwork: z.boolean().optional(), blockStreaming: z.boolean().optional(), blockStreamingCoalesce: BlockStreamingCoalesceSchema.optional(), groups: z.record(z.string(), BlueBubblesGroupConfigSchema.optional()).optional(),