Commit Graph

121 Commits

Author SHA1 Message Date
Ryan Brown e0b2a6a19c Update and confirm english localizations. 2026-05-09 22:34:04 +00:00
Ryan Brown 329974a8f0 Feature: Keep screen on while using app. Initial working. 2026-05-09 22:02:36 +00:00
Doug Borg 2d92214bed Add offline-first tile system with per-provider caching and error retry
- Add ServicePolicy framework with OSM-specific rate limiting and TTL
- Add per-provider disk tile cache (ProviderTileCacheStore) with O(1)
  lookup, oldest-modified eviction, and ETag/304 revalidation
- Rewrite DeflockTileProvider with two paths: common (NetworkTileProvider)
  and offline-first (disk cache -> local tiles -> network with caching)
- Add zoom-aware offline routing so tiles outside offline area zoom ranges
  use the efficient common path instead of the overhead-heavy offline path
- Fix HTTP client lifecycle: dispose() is now a no-op for flutter_map
  widget recycling; shutdown() handles permanent teardown
- Add TileLayerManager with exponential backoff retry (2s->60s cap),
  provider switch detection, and backoff reset
- Guard null provider/tileType in download dialog with localized error
- Fix Nominatim cache key to use normalized viewbox values
- Comprehensive test coverage (1800+ lines across 6 test files)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 12:34:01 -07:00
Doug Borg f0f23489b5 Fix map jitter when touching map during follow-me animations
Cancel in-progress follow-me animations on pointer-down and suppress
new ones while any pointer is on the map. Without this, GPS position
updates trigger 600ms animateTo() calls that fight with the user's
stationary finger, causing visible wiggle — especially at low zoom
where small geographic shifts cover more pixels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 02:02:51 -07:00
Doug Borg d124cee9b3 Fix null-safety issue with mapBounds in getNearbyNodes
Change mapBounds from LatLngBounds? to final LatLngBounds so the
compiler can prove it's non-null after the inner try-catch. Addresses
review comment on PR #45.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 13:47:15 -07:00
Doug Borg 037165653c Fix lint warnings and cleanup unused code after RadioGroup migration
Remove unused imports, fields, variables, and dead code introduced
during the RadioGroup widget migration and prior changes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 13:36:18 -07:00
stopflock 2620c8758e dev mode, imperial units incl. custom scalebar 2026-02-06 20:28:08 -06:00
stopflock 4a36c52982 Node fetch rework 2026-01-30 19:11:00 -06:00
stopflock f8643da8e2 Refactor GPS again, fix losing GPS lock 2025-12-17 14:49:13 -06:00
stopflock 5312456a15 Better location / gps maybe 2025-12-12 16:26:50 -06:00
stopflock 98e7e499d4 Pin max nodes indicator to screen, not map. Clean up cruft. 2025-12-07 17:51:23 -06:00
stopflock db5c7311b1 Break up the home_screen monopoly 2025-12-02 22:28:31 -06:00
stopflock bb3d398c9c More camera -> node 2025-12-02 21:17:07 -06:00
stopflock 3d5edf320e Break up map_view monopoly 2025-12-02 20:26:43 -06:00
stopflock c81014d530 maxCameras->maxNodes, default from dev_config 2025-12-02 15:50:11 -06:00
stopflock df0377b41f Get rid of double cache, filesystem checking for every tile fetch, swap out http interception for a fluttermap tileprovider that calls map_data, fix node rendering limit 2025-11-28 21:48:17 -06:00
stopflock 153377e9e6 laggy on android, UX needs polish 2025-11-26 15:03:58 -06:00
stopflock d747c66990 Disallow new/edit nodes below zoom 15, disallow downloads below zoom 10. 2025-11-22 00:17:24 -06:00
stopflock 95fad14261 min zoom 1, max cameras 8, extract node from way 2025-11-19 22:46:09 -06:00
stopflock 5404daa704 Gesture race! 2025-11-19 14:24:51 -06:00
stopflock 8ed92dcd7e Home screen respect safe areas in all orientations 2025-11-19 13:32:40 -06:00
stopflock 326b7ec523 Fix restriction on moving provisional edit nodes which are part of a way (pinch/fling) 2025-11-16 10:27:18 -06:00
stopflock 192c6e5158 Disallow editing location of nodes attached to ways/relations 2025-11-16 00:17:53 -06:00
stopflock abdd494727 Give up on configurable tap+drag zoom. Breaks double tap zoom. 2025-11-09 13:59:05 -06:00
stopflock b0a4128bb7 Configurable zoom behaviors, desensitize double tap + drag 2025-11-07 14:29:08 -06:00
stopflock 27c404687a Fix north-up UX 2025-10-22 18:46:48 -05:00
stopflock c8e2727f69 bump ver, get rid of buggy north-lock 2025-10-22 17:36:34 -05:00
stopflock cd2ab00042 North-up compass and rotation lock 2025-10-22 15:27:28 -05:00
stopflock ca68bd6059 fix network indicator, simplify overpass fetching 2025-10-22 11:56:01 -05:00
stopflock de0bd7f275 too much, sorry 2025-10-21 15:11:50 -05:00
stopflock 2ccd01c691 Pre-fetch larger areas to reduce calls to overpass; split large requests up 2025-10-21 10:22:04 -05:00
stopflock 793e735452 Bump version, actually account for HiDiPi displays. Previous commit does not build. 2025-10-09 12:58:19 -05:00
stopflock 5c28057fa1 All nodes stop rendering below zoom 10, more cameras -> nodes 2025-10-07 10:02:57 -05:00
stopflock 106277faf4 Suspected nodes respect min zoom level, max number rendered 2025-10-06 22:51:30 -05:00
stopflock f9351ba272 Suspected location exclusion zone, drawn under real nodes, and update progress bar 2025-10-06 22:21:05 -05:00
stopflock 4a44ab96d6 Sorta working suspected locations 2025-10-06 21:07:08 -05:00
stopflock cc0386ee97 UX and bones of suspected locations 2025-10-06 19:36:54 -05:00
stopflock f285a18563 Clean up dev_config, rename more camera -> node 2025-10-05 22:27:18 -05:00
stopflock 5976ab4bab max zoom per tile type 2025-10-05 13:04:48 -05:00
stopflock bbfeda8280 Stop respecting keyboard for UI layout 2025-10-05 00:24:18 -05:00
stopflock 079448eeeb Fix UI overlap with OS nav bar/buttons 2025-10-05 00:07:31 -05:00
stopflock 40c78ab3b7 Edge cases - UX bugs 2025-10-02 18:51:52 -05:00
stopflock 19de232484 Better pins, bugfixes 2025-10-02 18:29:17 -05:00
stopflock 763fa31266 Moving the right direction I think 2025-10-02 17:23:17 -05:00
stopflock 408b52cdb0 UX bones 2025-10-02 16:50:07 -05:00
stopflock 6c0981abdd Optional network indicator 2025-10-01 23:34:18 -05:00
stopflock 792f94065d highlight selected node 2025-10-01 13:36:51 -05:00
stopflock 96b82ef416 Proper centering for all node sheets. still jumps between tags and edit. 2025-10-01 12:34:02 -05:00
stopflock 583499ccd1 Tablet thing fixed - tweaking needed 2025-10-01 11:52:46 -05:00
stopflock 9e97b69b85 Passes sniff test, needs sandbox testing 2025-09-30 14:43:36 -05:00