Skip to content

v1.3.1 — review and audit fixes

Latest

Choose a tag to compare

@Zillatron27 Zillatron27 released this 25 Oct 02:31
· 30 commits to main since this release
6c56bc2

Review and audit fixes

Added

  • STOP WAITING on the confirm bar — ends a manual-confirm wait when APEX's dialog can't be reached. While APEX's dialog is still asking, it taps APEX's cancel (never confirm); the action fails, the buffer closes and other actions are available again without a reload

Changed

  • Base refresh buttons are disabled while another action is driving APEX, instead of accepting a tap that could collide with it

Fixed

  • Refreshes bypassed the action lock — a base refresh, a second base's refresh, or the auto-refresh after login could run at the same time as a contract, ship or alert action and navigate APEX out from under it, sometimes leaving APEX hidden. Refreshes now take the shared lock, and the startup auto-refresh retries if an action is running
  • Actions stuck on "Another action is already running" until reload — a feedback wait never ended if APEX removed the dialog (or anything above it) mid-action. The wait now ends on removal at any level, and the progress wait times out after 60s with "Action feedback lost — check APEX"
  • FIO data load stopped partway on a malformed response — an unreadable FIO response body escaped the client's error handling; it is now reported as a parse error and the remaining data loads
  • Cached data could replace live data at login — game data arriving while the cache was being read was overwritten by the older cached copy and its bases shown as cached. Cache now never replaces live or FIO data
  • Duplicate production orders and base platforms — a repeated order-added or platform-built message added the entry twice; entries are now matched by id
  • Workforce of removed bases kept in cache — workforce for a demolished or abandoned base is dropped when the site list arrives
  • Ships departing or arriving mid-session not tracked — flight start and end messages were listened for under the wrong names; a departure now shows its flight and ETA, and an arrival clears it instead of leaving the ship parked at its origin
  • Buildings not updated mid-session — new buildings were discarded (wrong message shape), and repairs and demolitions were ignored; a repaired building now clears its REPAIR age and a demolished one leaves the list
  • Demolishing a base's last production line kept it burning — an empty per-site production list now clears that base's lines
  • One malformed entry dropped a whole list — a bad item in a game message is skipped instead of discarding the rest
  • Closing the send-ship sheet while the route was computing locked APXM — the Flight Control session opened after the sheet closed was never closed, holding the action lock until reload; it is now closed as soon as it opens
  • FIO refresh showed stale data as fresh — every base was stamped "FIO, just now" even when the refresh fetched nothing; bases are only stamped when FIO data was actually written, and never over live game data
  • FIO-only bases showed core, habitation and storage buildings as needing repair — FIO buildings now carry their real category (CM, HB1–HB5, HBB/HBC/HBM/HBL, STO/STA/STE/STV/STW)
  • Burn counted workers who don't consume — one-pop tiers (a game quirk) and homeless workers after demolishing housing no longer add consumption
  • Refuel and LOAD sometimes one unit short — floating-point division could round 15 down to 14
  • FIO materials missing weight or volume broke refuel and LOAD maths — such records are now skipped, and a stalled FIO request times out after 15s instead of spinning forever
  • Threshold settings accepted an empty field — clearing one box let an out-of-order set of thresholds be saved
  • MARK ALL READ reported failure when it worked — it waited on alerts APEX can't reach for you
  • Fleet panel, IN TRANSIT count, repair age and contract deadlines went stale — they now follow flight changes and count down as time passes
  • Closing a detail sheet could close the next one opened straight after it; the close button's screen-reader label now names the open sheet
  • Buffer cleanup could tap an unrelated Cancel button or delete your own card — cleanup only touches the add-card form and the card APXM itself created