feat(dashboard): check GitHub for a newer release or newer commits

A worker thread asks GitHub's API about update_check_repo: the latest release
and, for development and CI builds, how far the build's commit is behind its
branch (or main). Unauthenticated, with ETags, every update_check_interval_hours
(default 6); offline or rate limited, the last answer stays next to the error
and a used-up limit waits for its reset. The main loop logs results, sends
them to master (UPDATE_STATUS, again when the link comes back) and pushes
update_check to open pages. GET /api/update_check, and
POST /api/update_check/check (settings permission, once a minute). Nothing is
downloaded or installed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Aaron Kimbrell
2026-09-30 10:47:58 -05:00
parent 4fe3b41be2
commit fcf68639e3
6 changed files with 487 additions and 1 deletions

View File

@@ -296,3 +296,11 @@ snapshot_keep=10
# Capture files: Folder for packet capture files, relative to the server binaries. Captures are player data: keep it out
# of any repository.
capture_dir=captures
# ---- Update check ----
# Check for updates: Off: GitHub is never asked.
update_check_enabled=1
# Repository: owner/name on GitHub, for a fork.
update_check_repo=DarkflameUniverse/DarkflameServer
# Check every: Unchanged answers don't count against GitHub's limit of 60 requests an hour. (hours)
update_check_interval_hours=6