TaxiDriver Reloaded 2.25.1 — Stability & UI Polish
In-game UI App
- Increased the native desktop UI typography and established a 14 px minimum for readable text without changing the Connected Phone sizing.
- Reworked native layouts to use horizontal space more effectively across the app bar, start screen, order cards, trip metrics, profile, refueling screens, and sticky trip footer.
- Fixed Settings and refueling content being positioned underneath the app header.
- Fixed the refueling overlay leaving active-trip or order content visible behind it.
- Kept the trip footer and fuel state pinned to the bottom even when there are no violations.
- Removed the redundant native fuel-sufficiency badge to reduce vertical stacking.
- Increased the native active-trip map height by roughly 50?60% and doubled the minimized map height.
Native minimap
- Synchronized the native minimap with the actual CEF UI App visibility.
- The minimap now hides when the UI App is hidden or BeamNG opens a blocking screen such as the vehicle selector, app editor, options, level selector, or main menu.
- Restored the map automatically after returning to gameplay and republished its current layout bounds.
- Fixed regressions where the map could disappear from the active-trip and minimized layouts.
Connected Phone audio
- Reworked mobile audio startup so AudioContext creation, decoding, and playback begin only from a trusted user gesture, as required by iOS Safari.
- Added a bounded 30-second event-sound queue so game events are not lost while a mobile browser is unlocking or resuming audio.
- Added recovery for Safari's suspended/interrupted state, tab visibility changes, page restoration, and window focus.
- Added Web Audio priming plus a pre-warmed pooled HTMLAudio fallback for browsers or individual files that cannot use the primary decoder.
Stability
- Fixed a stale
getStopCandidates()call left behind by the route-planner module extraction. The bug could be reached during late next-offer generation near the end of a long route. - Isolated optional late next-offer generation from the main Lua update loop, preventing its errors from interrupting the current trip or destination-arrival handling.
- Added a per-trip safety limit: after three consecutive Lua errors, only next-offer generation is disabled until the current trip ends.
- Normal generation attempts and every new trip reset the failure counter.
Testing
- Passed 258 responsive UI states across the in-game UI App, Connected Phone Web UI, eight localizations, landscape layouts, interface scaling, and DPR 2 HiDPI rendering.
- Compiled all 16 Lua files successfully.
- Passed the Lua settings/order combinatorics suite.
- Contained 10,000 synthetic coroutine failures without propagating an error into the update loop.
- Added regression checks for app-header overlap, sticky fuel state, native and minimized map dimensions, minimap visibility restoration, iOS audio unlocking/interruption, and HTMLAudio fallback behavior.
Existing 2.25.0 settings, progress, profiles, shifts, and vehicle history remain compatible.