mirror of
https://github.com/Cheviiot/Nivora.git
synced 2026-08-03 15:51:12 +00:00
The DESKTOPINTEGRATION wrapper/environment.d combo only ever stopped the shadow .desktop/.service self-install. It never addressed a second, worse symptom: QGuiApplication::setDesktopFileName() in Platform::start() sets the Wayland app_id to a per-install-path hashed "org.telegram.desktop._<hash>" id whenever Core::UpdaterDisabled() is false — completely independent of DESKTOPINTEGRATION — so the running window's app_id never matched our shipped org.telegram.desktop.desktop and its icon/taskbar entry broke even after the duplicate launcher file was silenced. Telegram ships a documented opt-out for exactly this: Launcher:: ComputeExternalUpdater() (core/launcher.cpp) scans <exe-dir>/ externalupdater.d/ for a file containing a line equal to its own full executable path, and calls SetUpdaterDisabledAtStartup() if found. That one flag flips both Core::UpdaterDisabled() checks at once — InstallLauncher() skips the shadow-file self-install AND desktopFileName() uses the plain "org.telegram.desktop" id that matches our .desktop file, fixing the window icon too. Drop the wrapper script and environment.d drop-in; back to a plain /usr/bin symlink plus one externalupdater.d marker file.