Commit Graph

24 Commits

Author SHA1 Message Date
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 3dada20ec2 Replace deprecated withOpacity and surfaceVariant APIs
Migrate all withOpacity() calls to withValues(alpha:) and
surfaceVariant to surfaceContainerHighest across the codebase.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-08 14:23:07 -07:00
Doug Borg c712aba724 Add flutter_lints and fix analyzer errors, dead code, and unused imports 2026-02-08 14:23:06 -07:00
stopflock cc1a335a49 Fix search/nav button offline behavior 2025-12-04 19:08:18 -06:00
stopflock 8ed92dcd7e Home screen respect safe areas in all orientations 2025-11-19 13:32:40 -06:00
stopflock 27c404687a Fix north-up UX 2025-10-22 18:46:48 -05:00
stopflock cd2ab00042 North-up compass and rotation lock 2025-10-22 15:27:28 -05:00
stopflock f5aeba473b UX tweaks to attribution, download button, allow search in release builds 2025-10-06 10:07:54 -05:00
stopflock 111bdc4254 Fix opentopomap x/y, allow searching in release when not offline 2025-10-05 16:48:25 -05:00
stopflock a08d61fb98 Add other providers, max zoom per tile type 2025-10-05 15:08:27 -05:00
stopflock fd47813bdf Optional navigation features 2025-10-03 00:09:25 -05:00
stopflock 8b4b9722c4 Navigation settings 2025-10-02 22:47:15 -05:00
stopflock 19de232484 Better pins, bugfixes 2025-10-02 18:29:17 -05:00
stopflock bac033528c UX actually close 2025-10-02 17:39:29 -05:00
stopflock 763fa31266 Moving the right direction I think 2025-10-02 17:23:17 -05:00
stopflock 1aeae18ebc Better handoff from tags to edit sheet 2025-10-01 13:27:17 -05:00
stopflock 23b7586e25 tag node -> add node, better element offsets, fix splash background on iOS 2025-09-26 15:40:30 -05:00
stopflock 8381388ffa svg logo, dark button bar 2025-08-30 23:55:54 -05:00
stopflock 5c2bfbc76e Adjust map view when adding/editing to account for bottom sheet 2025-08-29 20:09:42 -05:00
stopflock 3ddebd2664 nodes, not cameras 2025-08-29 16:44:34 -05:00
stopflock aee0dcf8b8 builds, needs work 2025-08-28 10:22:57 -05:00
stopflock ebf7f93dd5 deflock-ify icons 2025-08-26 20:52:03 -05:00
stopflock aada97295b move layer selection to map page, improve settings, dynamic attribution 2025-08-24 14:41:29 -05:00
stopflock 1272eb9409 break up map_view 2025-08-21 19:15:59 -05:00