homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')"
### Current Situation

I'm not sure this is a bug so I'm filing as a request for support. I realize the documentation for this error says it's likely a DNS issue within my docker container but as best I can tell: everything DNS related within the container is just fine.

From within the container, `dig` resolves the URL just fine:

```
# dig registry.npmjs.org

; <<>> DiG 9.18.24-0ubuntu0.22.04.1-Ubuntu <<>> registry.npmjs.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41194
;; flags: qr rd ra; QUERY: 1, ANSWER: 12, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;registry.npmjs.org.            IN      A

;; ANSWER SECTION:
registry.npmjs.org.     300     IN      A       104.16.1.35
registry.npmjs.org.     300     IN      A       104.16.27.34
registry.npmjs.org.     300     IN      A       104.16.24.34
registry.npmjs.org.     300     IN      A       104.16.30.34
registry.npmjs.org.     300     IN      A       104.16.28.34
registry.npmjs.org.     300     IN      A       104.16.25.34
registry.npmjs.org.     300     IN      A       104.16.2.35
registry.npmjs.org.     300     IN      A       104.16.29.34
registry.npmjs.org.     300     IN      A       104.16.3.35
registry.npmjs.org.     300     IN      A       104.16.0.35
registry.npmjs.org.     300     IN      A       104.16.31.34
registry.npmjs.org.     300     IN      A       104.16.26.34

;; Query time: 44 msec
;; SERVER: 192.168.1.3#53(192.168.1.3) (UDP)
;; WHEN: Mon Jun 24 16:40:24 EDT 2024
;; MSG SIZE  rcvd: 239
```

I can curl it just fine:

```
# curl https://registry.npmjs.org
{}#
```

The response is, as you can see, empty. With verbose output you see a deprecation warning from NPM:

```
# curl --verbose https://registry.npmjs.org
*   Trying 104.16.26.34:443...
* Connected to registry.npmjs.org (104.16.26.34) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS header, Finished (20):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS header, Finished (20):
* TLSv1.2 (IN), TLS header, Certificate Status (22):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=npmjs.org
*  start date: May 17 23:36:42 2024 GMT
*  expire date: Aug 15 23:36:41 2024 GMT
*  subjectAltName: host "registry.npmjs.org" matched cert's "*.npmjs.org"
*  issuer: C=US; O=Google Trust Services LLC; CN=GTS CA 1P5
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* Using Stream ID: 1 (easy handle 0x560c6cc5ceb0)
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
> GET / HTTP/2
> Host: registry.npmjs.org
> user-agent: curl/7.81.0
> accept: */*
>
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.2 (OUT), TLS header, Supplemental data (23):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
< HTTP/2 200
< date: Mon, 24 Jun 2024 20:41:35 GMT
< content-type: application/json
< content-length: 2
< cf-ray: 898f8a1dccaf906f-BOS
< cf-cache-status: DYNAMIC
< npm-notice: This endpoint is deprecated. Use https://replicate.npmjs.com instead.
< server: cloudflare
<
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* TLSv1.2 (IN), TLS header, Supplemental data (23):
* Connection #0 to host registry.npmjs.org left intact
{}#

```

I can even install plugins -- I was able to uninstall and install the Homebridge Dummy plugin using the web UI without issue.

### Logs

```
homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "Cannot read properties of undefined (reading 'length')"
```

That's the only log output I get even with debug logging turned on.


### Configuration

```json
{
    "bridge": {
        "name": "Homebridge - New Hampshire",
        "username": "0E:E3:84:D0:CA:87",
        "port": 53095,
        "pin": "redacted",
        "bind": [
            "enp2s0"
        ]
    },
    "description": "New Hampshire Homebridge",
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "none",
            "theme": "dark-mode-blue-grey",
            "tempUnits": "c",
            "lang": "auto",
            "platform": "config"
        },
        {
            "name": "TplinkSmarthome",
            "addCustomCharacteristics": true,
            "switchModels": [
                "HS200",
                "HS210"
            ],
            "deviceTypes": [
                "plug",
                "bulb"
            ],
            "devicesUseDiscoveryPort": false,
            "platform": "TplinkSmarthome"
        },
        {
            "name": "Wemo",
            "mode": "auto",
            "discoveryInterval": 300,
            "platform": "Wemo"
        },
        {
            "controllers": [
                {
                    "address": "192.168.1.1",
                    "name": "UDM-Pro",
                    "password": "redacted",
                    "username": "redacted"
                }
            ],
            "platform": "UniFi Protect"
        },
        {
            "name": "Govee",
            "username": "redacted",
            "password": "redacted",
            "bleDisable": true,
            "platform": "Govee"
        }
    ],
    "accessories": [
        {
            "accessory": "TotalConnectSecurityTwoDotZero",
            "name": "Alarm System",
            "username": "redacted",
            "password": "redacted"
        }
    ],
    "disabledPlugins": []
}
```


### Environment

- OS: Ubuntu Jammy (22.04.4 LTS)
- Software: 1.8.3
- Node: 20.15.0
- npm: 10.7.0

### Process Supervisor

Docker (Mention image name in `Additional Context`)

### Additional Context

homebrige/homebridge:latest (SHA c4ebc04d8e43c5c8eb43122540404a7cc7582f79e90da6cc13cf7741f6d36533)

Host OS is Debian 12.5 here

Docker compose setup is:

```
services:
  homebridge:
    container_name: homebridge
    image: homebridge/homebridge:latest
    restart: unless-stopped
    environment:
      - TZ=US/Eastern
      - HOMEBRIDGE_CONFIG_UI=1
      - HOMEBRIDGE_CONFIG_UI_PORT=8581
    network_mode: host
    volumes:
      - /home/ian/src/torrent-management/docker/homebridge:/homebridge
    logging:
      driver: json-file
      options:
        max-size: "10mb"
        max-file: 2
    healthcheck:
      test: curl --fail localhost:8581 || exit 1
      interval: 60s
      retries: 5
      start_period: 300s
      timeout: 2s
```