Commit Graph

100 Commits

Author SHA1 Message Date
Ryan Brown 329974a8f0 Feature: Keep screen on while using app. Initial working. 2026-05-09 22:02:36 +00:00
stopflock bd71f88452 operator profiles - import, reorderable 2026-03-23 12:58:50 -05:00
stopflock 16e34b614f Rework profile FOVs - 360 checkbox 2026-03-14 17:18:33 -05:00
stopflock 2d00d7a8fb bump ver 2026-03-12 22:30:16 -05:00
stopflock 4d1032e56d ver, changelog 2026-03-11 23:22:17 -05:00
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