Changelog

React Native field app for patrol routes, checkpoints, maps, and offline-ready workflows.

1.0

Respond to control-room location prompts with an automatic GPS refresh

FeatureEnhancementEnterprise

When the control room asks for your location, the app can wake the right background flow so sharing picks up without hunting through settings.

What's New

  • Location prompt handling: If you receive a control-room prompt to share location, the app checks your grant state and triggers the idle location heartbeat path so GPS updates resume in line with your permissions.

Improvements

  • Faster recovery: Reduces cases where the map looks stale because background location needed a nudge after a notification.
1.3

Startup reliability and release 1.1

EnhancementReliabilityPatrol

Clear on-launch error messages with recovery steps, font-load recovery, and version bump.

What's New

  • Startup errors: If the app can’t reach the server during sign-in, you see a plain-language explanation, what to try (network, signal, switching networks), and a Try again action instead of a silent failure.
  • Font loading: If bundled fonts fail to load, you get guidance and Try again (or close and reopen the app) instead of a blank or crashed screen.
  • Release: App version 1.1.0 (package and store metadata).

Reliability

  • Session check distinguishes connectivity problems from an invalid or expired session, so offline users aren’t left guessing.
1.2

Field-access gates, idle GPS heartbeat, and grant capabilities payload

FeatureEnhancementBug FixEnterprise

Stricter field-access gating on routes and sites tabs; stats-oriented home and scope copy; idle GPS heartbeat with grant capabilities aligned to the server contract.

What's New

  • Field-access gates: Stats-oriented home, scope copy, and Sonar-friendly UI refinements on top of the new grant model (d1c2f55).
  • Idle heartbeat: Idle GPS heartbeat and GrantCapabilitiesPayload alignment so the client advertises and receives grant capability state consistently with the API (d1d8723).

Bug Fixes

  • Tabs enforcement: Routes and sites tabs now enforce field access so users without the right grant cannot reach configuration surfaces (e7ef414).

Engineering reference

  • Commits on master: d1c2f55, e7ef414, d1d8723 (2026-03-25).
  • Full diff artifact: internal/git-audits/2026-03-22-to-03-25/wolf-patrol-app-full.diff (cumulative from 78529d0^..origin/master).

Follow-up (route creation and maps)

  • Route create: After a successful create, success haptics, navigation to /route/{id}?created=1, and a route detail banner confirming the saved name.
  • MapViewSafe / web: Namespace import for MapLibre (non-deprecated default export), MapMarkerVariant including dot, readonly marker props, replaceAll for stable marker ids, and MapMarkerVariant type alias on web.
  • Schedules API: CreatePatrolScheduleInput extended with optional useTimeRange, startTime, endTime for device schedule creation.
  • Dependencies: react-native-svg added as the required peer for Lucide icons so the native build and Expo Doctor checks stay healthy on custom dev clients.

Follow-up (patrol assignments and realtime resilience)

  • Assignments tab: Browse, search, and filter patrol assignments; open an assignment to edit details, pause or resume, or remove assignments you manage from the app.
  • Create patrol: Wizard split into clearer steps, with priority and description so new assignments match how your team works.
  • Access prompts: When your permissions need a refresh, the app surfaces that clearly instead of leaving you stuck.
  • Realtime: Patrol-related live updates reconnect more reliably after network blips or long backgrounding.

Engineering reference (patrol assignments ship)

  • Commit on master: ca96e96 (assignments tab, edit flow, patrol API client, socket tuning).

Follow-up (four-tab navigation and access hardening)

  • Simpler navigation: Home, Places (routes and sites in one place), Patrol (assignments and schedules together), and More (field access and account) replace a long row of separate tabs.
  • Stricter lock when you lack access: The app keeps you in field access and More until you are approved, with a full-screen prompt so you are not browsing sensitive lists without permission.
  • Smoother errors and refresh: Clearer error messages when something fails, and more reliable pull-to-refresh behaviour on field access and lists.

Engineering reference (patrol nav and lock ship)

  • Branch: feat/patrol-tabs-security-nav — includes tab restructure, grant overlay ordering, pathname guard, hidden legacy assignments redirect, and follow-up Sonar cleanups.
1.1

Field access, routes and sites, GPS, and patrol-helper UX merges

FeatureEnhancementBug FixEnterprise

Patrol Helper merges for mobile map/GPS UX and field-access clarity; capabilities and grant versioning; routes and sites editing with field-access gates; and upcoming patrol home with offline and push entrypoints.

What's New

  • Mobile UX (PR #1 — feature/patrol-field-mobile-ux): Faster map GPS, location prompt behaviour on tabs, dashboard split, Expo / tsconfig ergonomics, and related mobile tab work merged to master (78529d0, c6c5f29).
  • UX clarity (PR #2 — feat/patrol-field-ux-clarity): Documentation clarifying direct site/route writes versus the optional proposal queue; browse sites and routes, push registration, and assignments (525af68, 442fd5f).
  • Field access: Capabilities API surface, grant version headers, schedules and access tabs; field-access gate, Routes tab, site/route editing, GPS and API client updates (5f68aee).
  • Home and reliability: Upcoming patrol home emphasis, grant lockout messaging, offline UX, and push entrypoint wiring (0e09a3b).

Improvements

  • API clients: Expanded patrol-event, route, site, schedules, staff, and capabilities modules align the app with server grant and field-access APIs.

Engineering reference

  • Repository: Community-Wolf-Limited/patrol-helper — default branch master (not main).
  • Merge commits: 78529d0 (PR #1), 525af68 (PR #2), 442fd5f (merge UX branch to master).
  • Full diff artifact: internal/git-audits/2026-03-22-to-03-25/wolf-patrol-app-full.diff (range 78529d0^..origin/master — from parent of PR #1 merge through tip).
1.0

Maps, builds, and field reliability

FeatureEnhancementBug FixEnterprise

Stable mapping without paid map keys, clearer GPS errors, production-oriented builds, and icon polish on both platforms.

What's New

  • Open mapping: Android uses an open map layer so map startup doesn’t depend on vendor keys; the map stack moves to MapLibre with community tile sources—no paid map API keys required for the default setup.
  • Device support: Minimum Android version raised so the current JavaScript engine and maps run reliably on supported hardware.

Improvements

  • Builds: Preview and production build settings aligned with hosted environment variables; CI runs Android and iOS with separate steps for clearer logs when something fails.
  • API routing: Backend base URL is normalized for packaged builds so client calls reach the correct API surface.
  • Branding: Home-screen icon padding adjusted so the mark fits cleanly on iOS and Android launchers.

Bug Fixes

  • Maps: Restored a stable map provider path on Android where the previous choice could crash on startup.
  • GPS & forms: Location permission and accuracy failures surface clearer messages when creating sites and routes.
1.0

Patrol app foundation

FeatureEnhancementEnterprise

New React Native field app for patrol routes and checkpoints, with offline support, mapping basics, and mobile CI.

What's New

  • Wolf Patrol: First drop of the mobile app for field patrols—sites, routes, and checkpoints in one place.
  • Offline-ready: Queue and sync behaviour so spotty connectivity doesn’t block a shift.
  • Maps & location: Map zoom and tighter GPS handling for clearer positioning on patrol.
  • Ship pipeline: Automated builds for Android and iOS so releases stay repeatable.

Improvements

  • Experience: Updated visuals—icons, motion, and layout—for quicker reading outdoors and in vehicles.