[Linux/Flatpak] Desktop client fails to resolve web.fluxer.app unless AsyncDns is disabled

(#860) Bug Fixed desktop packaging

Observed behaviour

The Fluxer desktop client installed via Flatpak opens with a blank/gray window and does not load the web interface. When started from a terminal, Electron repeatedly fails to load https://web.fluxer.app/ with:
[Window] App main-frame load failed {
  errorCode: -105,
  errorDescription: 'ERR_NAME_NOT_RESOLVED',
  validatedURL: 'https://web.fluxer.app/'
}

electron: Failed to load URL: https://web.fluxer.app/
with error: ERR_NAME_NOT_RESOLVED
DNS resolution itself works both on the host and from inside the Flatpak sandbox, and web.fluxer.app is reachable over both IPv4 and IPv6. Disabling Chromium/Electron's AsyncDns feature makes Fluxer load normally:
flatpak run app.fluxer.Fluxer \
  --disable-features=WaylandWpColorManagerV1,AsyncDns
Manually mapping the hostname with --host-resolver-rules also makes the client load immediately. Expected behaviour: Fluxer should resolve web.fluxer.app and start normally without requiring additional Chromium command-line flags.

Reproduction steps

  1. Install the current stable Fluxer desktop client from Flathub (app.fluxer.Fluxer).
  1. Start Fluxer normally:
~bash flatpak run app.fluxer.Fluxer ~
  1. A blank/gray Fluxer window opens and the application does not load.
  1. The terminal log repeatedly reports:
~text ERR_NAME_NOT_RESOLVED https://web.fluxer.app/ ~
  1. Verify that DNS resolution works on the host:
~bash getent ahostsv4 web.fluxer.app getent ahostsv6 web.fluxer.app ~ Results: ~text 45.63.21.197 STREAM web.fluxer.app 2001:19f0:4000:174e::1 STREAM web.fluxer.app ~
  1. Verify that DNS also works inside the Fluxer Flatpak sandbox:
~bash flatpak run --command=sh app.fluxer.Fluxer \ -c 'getent hosts web.fluxer.app' ~ Result: ~text 2001:19f0:4000:174e::1 web.fluxer.app ~
  1. Verify IPv4 and IPv6 HTTPS connectivity:
~bash curl -4 -I https://web.fluxer.app/ curl -6 -I https://web.fluxer.app/ ~ Both return HTTP/2 200.
  1. Start Fluxer with Chromium's AsyncDns feature disabled:
~bash flatpak run app.fluxer.Fluxer \ --disable-features=WaylandWpColorManagerV1,AsyncDns ~
  1. Fluxer now loads normally.

Build information

Stable Desktop 2026.920.144558 Linux 7.2.5-200.fc44.x86_64 (x64) Electron 44.4.1 Chrome 152.0.7977.78 Node 24.21.0 Locale en-US Flatpak: app.fluxer.Fluxer

Platform

macOS, Windows, Linux

Evidence

Normal launch: ~~~text [Window] Loading app URL { appUrl: 'https://web.fluxer.app'/ } [Window] App main-frame load failed { errorCode: -105, errorDescription: 'ERR_NAME_NOT_RESOLVED', validatedURL: 'https://web.fluxer.app/' } electron: Failed to load URL: https://web.fluxer.app/ with error: ERR_NAME_NOT_RESOLVED ~~~ Screenshot: Fluxer remains blank/gray while Electron reports ERR_NAME_NOT_RESOLVED: image Flatpak has network access: ~text [Context] shared=ipc;network; ~ Host DNS: ~~~text $ getent ahostsv4 web.fluxer.app 45.63.21.197 STREAM web.fluxer.app $ getent ahostsv6 web.fluxer.app 2001:19f0:4000:174e::1 STREAM web.fluxer.app ~~~ DNS from inside the Flatpak sandbox: ~text $ flatpak run --command=sh app.fluxer.Fluxer -c 'getent hosts web.fluxer.app' 2001:19f0:4000:174e::1 web.fluxer.app ~ Both of these return HTTP 200: ~bash curl -4 -I https://web.fluxer.app/ curl -6 -I https://web.fluxer.app/ ~ Workaround that fixes the issue: ~bash flatpak run app.fluxer.Fluxer \ --disable-features=WaylandWpColorManagerV1,AsyncDns ~ Screenshot: Fluxer loads normally with AsyncDns disabled: image A direct hostname mapping also works: ~bash flatpak run app.fluxer.Fluxer \ --host-resolver-rules="MAP web.fluxer.app [2001:19f0:4000:174e::1]" ~ This suggests that the failure is related to Chromium/Electron's internal DNS resolver rather than general DNS resolution or missing Flatpak network permissions.
  • 655633868-97d6ea10-44d1-4dd3-8422-21507447eb84.png

    655633868-97d6ea10-44d1-4dd3-8422-21507447eb84.png

    2048×939 | 268 kB

  • 655634239-fd408e32-52b8-4d5c-ad0e-ca8e5366ce10.png

    655634239-fd408e32-52b8-4d5c-ad0e-ca8e5366ce10.png

    2048×939 | 454 kB

2 comments

Sign in with Fluxer to comment and vote.
Comment by @SolunaCG
RexSystem 1 vote originally by @SolunaCG on GitHub OP
Additional testing: the issue currently appears to be intermittent. Initially, normal launches consistently failed with ERR_NAME_NOT_RESOLVED, while launches with AsyncDns disabled and with --host-resolver-rules succeeded immediately. However, after further testing, normal launches are now also succeeding consistently without any additional flags. So at this point I cannot confirm that disabling AsyncDns is a reliable fix or that AsyncDns itself is the root cause. The original DNS resolution failures were real, but the issue is currently no longer reproducible on my system. I will update this issue if it happens again and I can reproduce it more reliably.
Comment by @SolunaCG
RexSystem 1 vote edited originally by @SolunaCG on GitHub OP
Update after further investigation I was able to reproduce the issue again after a cold boot, but further testing shows that this does not appear to be a Fluxer/Flatpak or Chromium AsyncDns issue. While Fluxer was showing the gray window and repeatedly failing with ERR_NAME_NOT_RESOLVED, DNS resolution on the host also failed:

resolvectl query web.fluxer.app.
→ Name 'web.fluxer.app.' not found
The local FRITZ!Box DNS resolver returned NXDOMAIN for both A and AAAA records. The FRITZ!Box is configured to use Mullvad's extended.dns.mullvad.netresolver (194.242.2.5 / 2a07:e340::5). Direct tests against multiple resolvers showed:
Cloudflare 1.1.1.1              → resolves correctly
Google 8.8.8.8                  → resolves correctly
Mullvad dns.mullvad.net         → resolves correctly
Mullvad adblock.dns.mullvad.net → resolves correctly
Mullvad base.dns.mullvad.net    → resolves correctly
Mullvad extended.dns.mullvad.net → fails to resolve
Mullvad family.dns.mullvad.net  → resolves correctly
Mullvad all.dns.mullvad.net     → resolves correctly
I repeated the test against extended.dns.mullvad.net 10 times and all 10 attempts failed to resolve web.fluxer.app. The authoritative DNS servers for fluxer.app themselves return the correct A and AAAA records. Interestingly, Fluxer eventually recovered by itself without being restarted once DNS resolution began working again, presumably because its existing load retries eventually succeeded. So the earlier observation that disabling Chromium AsyncDns fixed the issue appears to have been coincidental. The current evidence points to the configured Mullvad Extended DNS resolver returning NXDOMAIN for web.fluxer.app. I'll report this to Mullvad as well.