Skip to content

[Russia][Bug]: Pear Desktop fails to launch: net::ERR_NAME_NOT_RESOLVED and Cannot load Pear Desktop… Internet disconnected? #4683

Description

@MakeUWonderl

Preflight Checklist

  • I use the latest version of Pear Desktop (Application).
  • I have searched the issue tracker for a bug report that matches the one I want to file, without success.
  • I understand that pear-devs/pear-desktop has NO affiliation with Google or YouTube

Pear Desktop (Application) Version

3.12.0

Checklists

What operating system are you using?

Windows

Operating System Version

Windows 11

What CPU architecture are you using?

x64

Last Known Working Pear Desktop (Application) version

No response

Reproduction steps

  1. Open the Pear Desktop application (YouTube-Music-3.12.0.exe) on a PC inside a region with strict ISP censorship/DPI blocks (like Russia).
  2. The application flashes a white screen and falls into error.html immediately.
  3. Open DevTools (Ctrl+Shift+I) -> Network tab: the request to ://music.youtube.com fails instantly with net::ERR_NAME_NOT_RESOLVED.

Expected Behavior

The app should either fallback to a Secure DNS (DNS over HTTPS / DoH) mechanism or bypass internal network connectivity checks when Chromium CLI arguments are passed via standard shortcuts or environment variables. The main process should not silently fail at the host resolution level.

Actual Behavior

The app fails to load the interface and locks down immediately. It displays a local error page (error.html) stating "Cannot load Pear Desktop… Internet disconnected?".

In the DevTools Console/Network tab, the initial connection to ://youtube.com fails in 36-77ms with 'net::ERR_NAME_NOT_RESOLVED'. The application ignores standard Chromium CLI switches like --disable-quic and DoH configurations because it seems to run temporary child processes out of AppData/Local/Temp.

Enabled plugins

Additional Information

I am using a transparent DPI bypass tool common in Russia called 'zapret' (it functions similarly to GoodbyeDPI or GreenTunnel by modifying packets on the fly via the WinDivert network driver). My regular browsers handle this perfectly because they use secure DNS-over-HTTPS (DoH).

However, we diagnosed that Pear Desktop strictly falls back to the system's broken/censored UDP DNS resolver, bypassing the transparent DPI filter at the host resolution level before packets even reach the network driver properly. This triggers the instant 'NAME_NOT_RESOLVED' crash.

We attempted to pass standard Chromium arguments via shortcuts, batch files, and environment variables (such as --disable-quic, --enable-features=DnsOverHttps, --use-cmd-fast-dns-name-server=..., and --host-resolver-rules="..."). None of them worked.

The console logs revealed that the application extracts and runs temporary child processes out of 'AppData\Local\Temp' (e.g., AppData\Local\Temp\3Flqvx[and bla bla bla]RagdTB/resources/app.asar/). This architecture isolates the runtime environment, meaning any external command-line switches or variables passed to the main launcher are completely stripped or ignored by the actual rendering window.

Is there any configuration file, specific environment variable, or internal patch to the main process script that can permanently force DoH or hardcode custom host mapping before the initial connectivity check kicks in?

Environment:

  • OS: Windows
  • App Version: 3.12.0
  • Region: Russia (with deep packet inspection filtering)

P.S. To clarify, this is strictly an application-level bug within Pear Desktop's Electron/Chromium networking stack. Every other major game and app on my PC—including Roblox, Fortnite, Discord, and multiplayer services—works flawlessly with my 'zapret' configuration.

The issue is that Pear Desktop handles network initialization in an extremely rigid way. If Chromium encounters a primitive DNS error or takes more than a few milliseconds to resolve ://youtube.com, the app immediately intercepts this as a total network blackout and halts the entire render process. Please consider implementing a toggle to disable the strict internet connectivity check, or allow the app to natively respect environment network variables without stripping them in the Temp directory.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions