Skip to content

Loading spinner on launch; keep prior pins during viewport fetches#4

Merged
dfalling merged 1 commit into
mainfrom
map-loading-and-merge
May 25, 2026
Merged

Loading spinner on launch; keep prior pins during viewport fetches#4
dfalling merged 1 commit into
mainfrom
map-loading-and-merge

Conversation

@dfalling
Copy link
Copy Markdown
Owner

Summary

  • Show an ActivityIndicator overlay while we're waiting on the initial position fix, so the 1–2s before the fly-to no longer feels like a hang.
  • Accumulate elements across viewport fetches in a Map<id, Element>; render from that union so previously-shown pins stay on the map while a new bounds fetch is in flight. Fine for our small per-user dataset — revisit if we ever need eviction or to reflect server-side deletes.

Test plan

  • Cold-launch the app: spinner appears, then disappears when the map flies to the user
  • Pan to a new area: existing pins stay rendered until the new fetch returns, then new pins appear alongside

🤖 Generated with Claude Code

Two map UX tweaks:

- Overlay an ActivityIndicator while we're waiting on the initial
  position fix so the 1–2s of dead air before the fly-to no longer
  looks like the app froze.
- Accumulate elements across viewport fetches into a Map<id, Element>
  and render from that, so previously-shown pins stay on the map while
  a new bounds fetch is in flight. Fine for our small per-user dataset.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dfalling dfalling enabled auto-merge (squash) May 25, 2026 19:23
@dfalling dfalling merged commit 5afe060 into main May 25, 2026
2 checks passed
@dfalling dfalling deleted the map-loading-and-merge branch May 25, 2026 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant