Hunta
Back to Hunta

iOS 1.4.9 — Log Anything, Anywhere

tl;dr: The iOS log flow is now full-screen and hunter-first, works with zero signal, and finally matches Android feature-for-feature.

Published Thursday, July 30, 2026

Logging a harvest used to mean wrestling a bottom sheet with one glove off. Now it's full-screen and hunter-first: pick a species from big illustration cards and the flow advances the moment you tap. Photo capture moved to the top of the details step, where it belongs. No photo? Instead of a stock image that looks like nothing you shot, your report gets a per-species paw-print illustration — in the feed, on the detail view, in the map preview, across your profile grid.

Two new guardrails come with it. Species that need it now get a capture-method chip (Shot or Trapped), and reporting a weight-required species to a landowner — hjort, elg, villrein, bever — blocks the save until the weight is there. Better to catch it on the phone than have the backend reject it after you've walked back to the car.

The offline story got serious. The species catalog now persists to disk, so a cold start in a valley with no bars still gives you the full log wizard. The field-report queue was rebuilt to stop losing reports appended mid-flush, stop removing duplicates twice, coalesce concurrent flushes, and give up gracefully when a session is dead rather than hammering a 401 forever. Your reports wait patiently and arrive exactly once.

A batch of smaller parity fixes rounds it out. Timestamps without a timezone offset are read as UTC, and dates we genuinely can't parse show a placeholder instead of a truncated string quietly hiding a bug like a wrong invite expiry. Area sizes render in the unit your locale actually uses — dekar in Norway, converted hectares elsewhere — with proper thousands grouping, replacing hardcoded labels. Category and species names resolve through the catalog instead of leaking raw wire values like "STORVILT", with legacy key aliases folded in for older data. Teammate map pins wear a short first-name chip above the avatar so you can tell who's who at a glance. And re-tapping an invite link no longer fires a second redeem call — in-flight tokens are tracked, and cleared on failure so a real retry still works.

All of it shipped as 1.4.9 (build 17), alongside the app's first unit-test target pinning every one of those fixes. iOS and Android now do the same things, the same way. That was the whole point.

Update, take it out where the signal dies, and tell us how it holds up.