diff --git a/src/core/config/config.service.ts b/src/core/config/config.service.ts index 59f9987d6..76d198eca 100644 --- a/src/core/config/config.service.ts +++ b/src/core/config/config.service.ts @@ -12,7 +12,7 @@ export interface HomebridgeConfig { pin: string; name: string; port: number; - advertiser?: 'avahi' | 'ciao' | 'bonjour-hap'; + advertiser?: 'avahi' | 'resolved' | 'ciao' | 'bonjour-hap'; bind?: string | string[]; }; mdns?: { diff --git a/src/modules/server/server.dto.ts b/src/modules/server/server.dto.ts index f49b0d3b4..b8e4eaaf4 100644 --- a/src/modules/server/server.dto.ts +++ b/src/modules/server/server.dto.ts @@ -11,7 +11,7 @@ export class HomebridgeNetworkInterfacesDto { export class HomebridgeMdnsSettingDto { @IsString() @IsDefined() - @IsIn(['avahi', 'ciao', 'bonjour-hap']) + @IsIn(['avahi', 'resolved', 'ciao', 'bonjour-hap']) @ApiProperty() - advertiser: 'avahi' | 'ciao' | 'bonjour-hap'; + advertiser: 'avahi' | 'resolved' | 'ciao' | 'bonjour-hap'; } diff --git a/test/e2e/server.e2e-spec.ts b/test/e2e/server.e2e-spec.ts index b8ea09a2c..a2e608930 100644 --- a/test/e2e/server.e2e-spec.ts +++ b/test/e2e/server.e2e-spec.ts @@ -406,6 +406,23 @@ describe('ServerController (e2e)', () => { expect(res.json()).toEqual({ advertiser: 'avahi' }); }); + it('GET /server/mdns-advertiser (when set to resolved)', async () => { + const config: HomebridgeConfig = await fs.readJson(configService.configPath); + config.bridge.advertiser = 'resolved'; + await fs.writeJson(configService.configPath, config); + + const res = await app.inject({ + method: 'GET', + path: '/server/mdns-advertiser', + headers: { + authorization, + }, + }); + + expect(res.statusCode).toBe(200); + expect(res.json()).toEqual({ advertiser: 'resolved' }); + }); + it('PUT /server/mdns-advertiser (bonjour-hap)', async () => { const initialConfig: HomebridgeConfig = await fs.readJson(configService.configPath); delete initialConfig.bridge.advertiser; diff --git a/ui/src/app/modules/settings/settings.component.html b/ui/src/app/modules/settings/settings.component.html index a9a82a1d9..279298968 100644 --- a/ui/src/app/modules/settings/settings.component.html +++ b/ui/src/app/modules/settings/settings.component.html @@ -46,6 +46,7 @@
[attr.aria-label]=" 'settings.mdns_advertiser' | translate"> + @@ -206,4 +207,4 @@