The plugin does not report errors in the interface. When an error occurs, it simply shows no badge. A line containing [UpdateCheck] appears in the server's PHP error log in only two cases: when GitHub answers with an HTTP status other than 200 (including a connection error, which appears as HTTP 0) and when inserting the badges fails. Missing cURL, invalid JSON and a release without a tag name produce no log line. Where the log lives depends on your PHP configuration.
Check in this order:
url in the checked plugin? The plugin's plugin.php needs a GitHub link in the url field. No GitHub link, no check. See Technical details.my.plugin.curl the plugin does not query GitHub and logs nothing about it.With an empty cache the plugin queries GitHub for each checked plugin one after another. If GitHub is not reachable from the server, each request costs up to 5 seconds. Check the outgoing HTTPS connection to api.github.com (firewall, proxy, DNS). After the first failure the results are remembered for an hour and the list loads fast again.
If vendor/autoload.php is missing in the plugin folder, the plugin cannot load its classes and the plugin list breaks. Generate the autoloader with composer install --no-dev in the plugin folder (see Installation). If you can no longer reach the list, temporarily rename the plugin folder.
Without a token GitHub allows 60 requests per hour, according to the plugin's hint text. With many plugins and an empty cache this can get tight. The error log then contains GitHub API HTTP 403 (or 429) with the repository path. Fix: enter a GitHub token or raise the cache duration. After an error the plugin waits an hour anyway.
version_compare() after removing a leading v.version in the installed plugin's plugin.php does not match the version actually installed. The plugin compares against that value.Delete the folder osticket-update-check in the server's PHP temp directory, usually on Linux:
rm -rf /tmp/osticket-update-check/
The actual path is sys_get_temp_dir() of the PHP process that runs osTicket and can differ (for example with a private temp directory under PHP-FPM). A changed Cache Duration (hours) only affects newly written entries.
Does the plugin check its own updates? Yes. The plugin.php of the Plugin Update Checker contains a GitHub URL, so it is checked like any other plugin.
Does it work with NGINX? Yes. CSS and JavaScript are written inline into the page, so no web server rule for plugin files is needed.
What happens if I disable the plugin? No more requests are sent and no badges are shown. The plugin creates no tables of its own. Its instance and configuration remain in osTicket.
Who sees the badges? Everyone who may open the plugin list in the Admin Panel.