Commit Graph

58 Commits

Author SHA1 Message Date
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
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
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
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
stopflock
e79790c30d Proximity alerts localizations 2025-09-30 09:14:21 -05:00
stopflock
d397610121 Move settings around part 4 2025-09-30 00:59:27 -05:00
stopflock
3a985d2f8f Move settings around part 3 2025-09-30 00:17:25 -05:00
stopflock
b3a87fc56a Move settings around part 2 2025-09-29 23:56:28 -05:00
stopflock
82501a3131 Move settings around part 1 2025-09-29 23:21:25 -05:00