Skip to content

ISpooferMotion v2.5.9

Choose a tag to compare

@github-actions github-actions released this 30 Jul 09:07
· 17 commits to main since this release

v2.5.9

Makes community asset-cache contributions reliable.

Fixed

  • Community-cache writes no longer fail silently. The app now checks the API response and reports writes that the server rejects instead of discarding every result.
  • Temporary API failures are retried. Timeouts, rate limits, and server errors receive up to three attempts with bounded backoff; permanent client errors fail immediately.
  • Completed jobs now wait for cache contributions to finish. Writes run with limited concurrency instead of being launched as untracked background tasks that could be lost when the process exits.
  • Legacy cache migrations are only marked complete after every entry is accepted. An incomplete migration remains eligible for another attempt on the next startup.
  • Telemetry opt-out now takes effect immediately. Disabling telemetry no longer depends on the config server responding, stale config requests cannot re-enable contributions, and queued cache retries stop when contributions are disabled.
  • Telemetry heartbeat now respects the telemetry setting. Turning telemetry off stops the heartbeat and clears its timer instead of continuing to send it in the background.
  • Maintenance mode now clears after service recovery. A later healthy config response resets the banner instead of leaving the application stuck in maintenance mode.
  • Community-cache endpoint validation is stricter. Plain HTTP remains available for local development, but only exact loopback hosts qualify; lookalike hostnames such as localhost.example.com are rejected.

Internal

  • Added local HTTP-server tests covering the POST payload, transient retries, and permanent-error handling.
  • Duplicate asset discoveries within a job are collapsed to one contribution before upload, and endpoint refreshes no longer erase the useful in-memory session cache.
  • Updated stale frontend fixtures for timestamped spoofing logs and the account switcher so the full test suite covers the current UI again.
  • The community cache remains write-only. Asset resolution reads only the app's in-memory session cache and never fetches mappings from the remote API.