stopflock
de65cecc6a
bump ver
2026-03-07 16:51:38 -06: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
bc671c4efe
Fix phantom FOVs, reorderable profiles
2026-03-02 12:38:49 -06:00
stopflock
30f546be29
Update pubspec.yaml
...
bump version
2026-02-25 19:27:59 -06:00
Doug Borg
b6bcd23667
chore(android): bump Dart SDK floor, desugar_jdk_libs, and fix Kotlin DSL deprecation
...
- Bump Dart SDK constraint from >=3.8.0 to >=3.10.3 to match resolved dependency floor
- Upgrade desugar_jdk_libs from 2.0.4 to 2.1.5 (adds Stream.toList(), better locale support)
- Migrate deprecated kotlinOptions { jvmTarget } to kotlin { compilerOptions { jvmTarget } }
- Remove stale comments and non-breaking space characters
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 15:32:00 -07:00
Doug Borg
dba375c63d
chore(deps): update app_links and package_info_plus to latest major versions
...
Upgrade packages:
- app_links: ^6.1.4 → ^7.0.0 (backward compatible with v6)
- package_info_plus: ^8.0.0 → ^9.0.0 (build tooling only, no Dart API changes)
Bump Android build tooling to latest Flutter 3.38-compatible versions:
- AGP: 8.9.1 → 8.11.1
- Gradle: 8.12 → 8.14
- Kotlin: 2.1.0 → 2.2.20
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 15:20:50 -07:00
Doug Borg
206b3afe9d
chore(deps): move flutter_web_auth_2 and flutter_secure_storage to stable releases
...
Move auth-critical packages from pre-release pins to stable:
- flutter_web_auth_2: 5.0.0-alpha.3 → ^5.0.1
- flutter_secure_storage: 10.0.0-beta.4 → ^10.0.0
- oauth2_client: 4.2.0 → 4.2.3 (auto-resolved, was blocked by pre-release pins)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-25 09:45:38 -07:00
Doug Borg
775148cfb7
Bump version to 2.7.2+48
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-24 19:31:31 -07:00
stopflock
2dca311d2a
changelog, version
2026-02-14 14:42:39 -06:00
stopflock
2e0dcb1b2b
bump version
2026-02-09 23:59:08 -06:00
Doug Borg
4a342aee9d
Bump Dart SDK constraint to >=3.8.0 and document Flutter 3.35+ requirement
...
The RadioGroup widget (merged via PR #35 ) requires Flutter 3.35+ /
Dart 3.8+. The old constraint (>=3.5.0) allowed older SDKs that don't
have RadioGroup, causing cryptic build errors instead of a clear
version mismatch from pub get.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 13:54:42 -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
Doug Borg
73160c32de
Add mocktail dev dependency and fix test state leak
...
Address PR review comments:
- Add mocktail and flutter_test to dev_dependencies in pubspec.yaml
- Add tearDown to reset AppState.instance between tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 11:35:28 -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
1dd0258c0b
cleanup, bump version
2026-01-31 17:35:42 -06:00
stopflock
69ebd43e0d
bump to 2.6
2026-01-30 21:37:12 -06:00
stopflock
9621e5f35a
"Get more" link in profile dropdown, suggest identify page when creating profile
2026-01-30 12:56:50 -06:00
Heath Dutton🕴️
33ae6473bb
pass viewbox to nominatim search for location-biased results
2026-01-29 10:42:56 -05:00
stopflock
3fc3a72cde
Fixes for 360-deg FOVs
2026-01-28 20:21:25 -06:00
stopflock
1d65d5ecca
v2.4.1, adds profile import via deeplink, moves profile save button, fixes FOV clearing, disable direction slider while submitting with 360-fov profile
2026-01-28 18:13:49 -06:00
stopflock
1873d6e768
profile import from deeplinks
2026-01-28 15:20:25 -06:00
stopflock
ae354c43a4
drop approx location support, restore follow me mode on sheet close
2025-12-24 15:29:32 -06:00
stopflock
34eac41a96
bump ver
2025-12-23 18:18:16 -06:00
stopflock
8b44b3abf5
Better loading indicator
2025-12-23 16:17:06 -06:00
stopflock
f8643da8e2
Refactor GPS again, fix losing GPS lock
2025-12-17 14:49:13 -06:00
stopflock
8493679526
Nodes stay dimmed while one is selected
2025-12-11 20:30:14 -06:00
stopflock
656dbc8ce8
positioning tutorial
2025-12-11 16:01:45 -06:00
stopflock
ca7bfc01ad
roadmap, version
2025-12-10 15:29:16 -06:00
stopflock
e6b18bf89b
NSI and tag refinement
2025-12-10 12:52:20 -06:00
stopflock
6ed30dcff8
v2
2025-12-07 17:53:21 -06:00
stopflock
98e7e499d4
Pin max nodes indicator to screen, not map. Clean up cruft.
2025-12-07 17:51:23 -06:00
stopflock
405ec220d0
Fix map centering when looking at tag sheets, transition to edit sheet
2025-12-07 14:48:45 -06:00
stopflock
56d55bb922
bump version
2025-12-07 11:37:56 -06:00
stopflock
16b8acad3a
Suspected locations database
2025-12-07 10:23:36 -06:00
stopflock
4fba26ff55
Route distance timeout warning
2025-12-06 15:07:34 -06:00
stopflock
8c4f53ff7b
nav UX tweaks
2025-12-05 16:36:04 -06:00
stopflock
24214e94f9
Fix node edge blinking, prevent nav+edit conflicts, smarter follow-me w/rt nav
2025-12-05 15:27:01 -06:00
stopflock
b176724fc5
Configurable nav timeout
2025-12-03 15:04:43 -06:00
stopflock
db5c7311b1
Break up the home_screen monopoly
2025-12-02 22:28:31 -06:00
stopflock
0d13fdee37
limit download max zoom to current layer max zoom
2025-12-02 14:32:42 -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
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
52af77e1ed
Add bing sat imagery
2025-11-22 22:00:56 -06:00
stopflock
961465ebb5
Popup message before submitting first node
2025-11-22 14:56:05 -06:00
stopflock
7ff04851f4
Fix tile loading finally
2025-11-22 13:22:17 -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