15e1dfbd69
Bug 1 — Root cause of PackageInstaller STATUS_FAILURE=1: The dest file is always named 'evershelf-update.apk'. installApk() was trying to detect 'gateway' in the filename — always false. So setAppPackageName() was always passed 'it.dadaloop.evershelf.kiosk' even when installing the gateway APK (package scalegate). PackageInstaller rejects the mismatch with STATUS_FAILURE=1. Fix: save apkUrl into pendingApkDownloadUrl at the TOP of triggerApkDownload() (not only in the permission branch), then derive targetPkg from the URL (which does contain 'gateway'/'scale') instead of the filename. Bug 2 — Install errors not reaching GitHub Issues: PHP reportError() has a version guard: if the client version is not the latest release, it silently skips GitHub issue creation. A device that is FAILING TO INSTALL an update is by definition on an old version, so every install error was silently dropped. Fix: bypass the version guard for types install_download_failed, install_failure, install_packager_exception.