You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d39878b
Browse filesBrowse the repository at this point in the historyBrowse files
fix(chargepilot): the build a release was cut from is not an update to itself
The asset name and the APK's own versionName were computed by two different
formulas. The workflow published EVChargePilot-unstable-0.2.0.85.apk while the
APK inside reported versionName 0.2.0-unstable, and the update check compares
one against the other: every launch offered an update that was already
installed, and installing it changed nothing. The run number now reaches both,
so a release and the build it was cut from compare equal. A local build has no
run number and becomes 0.2.0.0-unstable, older than any release, which is what
a local build is.
Four routing fixes ride along, all of them found while chasing a "quota spent"
message on a key whose dashboard was full.
A 403 was always read as a spent quota. HeiGIT answers 403 both when the day's
allowance is gone and when the key is not served on that API at all, and the
screen said "the daily quota for this key is spent" for both. That sends a
driver away to wait until tomorrow for a key that will never work. The body now
decides, and SERVER_KEY_REFUSED gets its own wording naming the key and the
service address.
RoutingQuota locked shut on the server's own count. A remaining of 0 closed the
local gate with no way back: refusing locally means no request goes out, and
only a request can bring back the header that would reopen it. The count is now
believed for five minutes, and a 0 beside a response the server actually served
is not kept at all, because a limiter describing a window this app never asked
about reads exactly the same as an allowance this app has spent.
Geocoding was throttled at a third of what the key allows. 1000 a day and 40 a
minute were third-party guesses against the 3000 and 100 the key dashboard
lists. A local throttle refusing requests the service would have answered is
the same broken screen as one that spends a quota, minus the evidence.
The unstable update check latched itself for the process after three attempts
spanning about forty seconds, so a head unit whose Wi-Fi arrived a minute late
left the tester on an old build until they killed the app. Giving up releases
the latch now, and MainActivity.onStart checks again on the next visit.
The refusal wording moves to one file. DestinationActivity and
ChargeStopActivity each carried a private copy word for word, so every new
reason had to be spelled twice or one screen would fail to compile, which is
the good case; the bad one is the two drifting apart and a driver being told
different things about the same refusal.
Refs: CP-045, CP-047
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 commit comments