65 Commits

Author SHA1 Message Date
stopflock 6e2fa3a04c typo 2026-03-23 11:45:13 -05:00
stopflock 16e34b614f Rework profile FOVs - 360 checkbox 2026-03-14 17:18:33 -05:00
stopflock 08b395214b Move "about osm" to about page, add option to clear tile caches, option to add reason when deleting, min zoom 16 for edits/submissions, 300km nav distance warning 2026-03-12 18:59:48 -05: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
stopflock e168b6e19c Dutch, Polish, Turkish, Ukrainian 2026-02-15 13:20:15 -06:00
stopflock 2620c8758e dev mode, imperial units incl. custom scalebar 2026-02-06 20:28:08 -06:00
stopflock ff5821b184 Prevent no-change edit submissions 2026-02-01 16:51:35 -06:00
stopflock ba3b844c1e "existing tags" temp profile when editing, "existing operator" profile when such tags exist, full editing of existing nodes via refine tags 2026-02-01 14:50:47 -06:00
stopflock 83d7814fb6 Network status indicator should only respect the latest / current request. Others finish in background. Replace stupid bools with an enum to track state. Be smarter about split requests. 2026-01-31 17:21:31 -06:00
stopflock 79d2fe711d Monolithic reimplementation of node fetching from overpass/offline areas. Prevent submissions in areas without cache coverage. Also fixes offline node loading. 2026-01-30 21:34:55 -06:00
stopflock 9621e5f35a "Get more" link in profile dropdown, suggest identify page when creating profile 2026-01-30 12:56:50 -06:00
stopflock c3752fd17e log in button, submission guide cancel, filter nsi by popularity and entered text 2025-12-17 17:36:59 -06:00
stopflock 656dbc8ce8 positioning tutorial 2025-12-11 16:01:45 -06:00
stopflock e6b18bf89b NSI and tag refinement 2025-12-10 12:52:20 -06:00
stopflock 59064f7165 Get rid of errant "default 250" in max nodes localizations 2025-12-05 15:50:40 -06:00
stopflock 5043ef3e34 Repopulate node cache from pending 2025-12-02 19:16:33 -06:00
stopflock d902495312 Missed a couple languages 2025-12-02 16:04:14 -06:00
stopflock 31f6960d44 Navigation start+end too close warning 2025-12-02 15:02:49 -06:00
stopflock c4d9cd7986 Message notifications working 2025-12-02 14:04:04 -06:00
stopflock bc03dcbe89 OSM message notifications in theory 2025-12-02 12:10:09 -06:00
stopflock dccafc898b Fix changesets not getting closed, other updates to queue mechanism 2025-12-01 15:01:48 -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 45f1635e10 Get rid of double cache layer, remove tiles from network status indicator, fix status callbacks from split fetches, use tileprovider instead of http catching. 2025-11-24 18:28:36 -06:00
stopflock 3868236816 Improve subdomain notation, fix error catching for xyz in tile URL 2025-11-22 22:26:04 -06:00
stopflock c6cc68c9b4 Add buttons to show welcome message and submission guide on command from about section of settings 2025-11-22 17:19:57 -06:00
stopflock 961465ebb5 Popup message before submitting first node 2025-11-22 14:56:05 -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 5673c2b627 Link to view progress in settings after starting an offline area download 2025-11-21 21:08:10 -06:00
stopflock 9319bbda48 Support FOV range notation: 0-360, 90-270, 10-45;90-125 2025-11-21 19:25:34 -06:00
stopflock 3c996c78c9 Two nodes too close together warning 2025-11-21 15:35:12 -06:00
stopflock c77ea96eaf Move OSM account settings and upload queue into their own sections, add "see my edits" button 2025-11-20 20:54:16 -06:00
stopflock 95fad14261 min zoom 1, max cameras 8, extract node from way 2025-11-19 22:46:09 -06:00
stopflock 6c53d988de Further improve tag views, implement upload queue pause toggle 2025-11-17 13:37:48 -06:00
stopflock 26cebcc60e Localizations for new features 2025-11-16 21:26:35 -06:00
stopflock 7c2b9ea087 Configurable max height for node tags box, localizations for new UX strings 2025-11-16 18:16:50 -06:00
stopflock 192c6e5158 Disallow editing location of nodes attached to ways/relations 2025-11-16 00:17:53 -06:00
stopflock fb8260d346 Add feature flag to disable edits temporarily during bugfix 2025-11-15 14:39:27 -06:00
stopflock 7842848152 welcome note about firsthand knowledge 2025-11-02 16:02:16 -06:00
stopflock 2a7004e5a2 require profile selection 2025-10-24 13:49:48 -05:00
stopflock cd2ab00042 North-up compass and rotation lock 2025-10-22 15:27:28 -05:00
stopflock d696e1dfb6 Add welcome popup, changelog system, and account deletion button 2025-10-20 19:27:55 -05:00
stopflock b00db130d7 Suspected location localizations, credit alprwatch 2025-10-07 14:03:11 -05:00
stopflock a08d61fb98 Add other providers, max zoom per tile type 2025-10-05 15:08:27 -05:00
stopflock 5976ab4bab max zoom per tile type 2025-10-05 13:04:48 -05:00
stopflock d8b48c8fdb Merge branch 'vector-tiles' into main 2025-10-04 11:29:21 -05:00
stopflock 8b4b9722c4 Navigation settings 2025-10-02 22:47:15 -05:00
Chris Bowles 7d18656ec6 Localize about screen 2025-10-02 16:56:31 -04:00
stopflock 6c0981abdd Optional network indicator 2025-10-01 23:34:18 -05:00
stopflock ab567b1da4 languages and about get their own section 2025-09-30 09:50:24 -05:00