SkateSpots/release-notes.txt
SkateSpots 59e5829b2a feat(directions): make the route dialog usable as guidance, not just a preview
Answering 'are we giving the best navigation experience?': no, it was a preview
with dead ends. Fixes the concrete gaps:

- ETA: 'arrive ~08:10 PM' alongside the duration.
- Mode memory: the last travel mode is remembered (skatespots:route-mode), so
  cyclists/drivers aren't reset to Skate/Walk every trip.
- Tappable steps: each step pans the map and highlights; added a 'Whole route'
  re-fit button to zoom back out.
- Taller route map on desktop (h-64 sm:h-80).
- min-h-0 on step rows: the app-wide 44px mobile touch-target rule was making
  every step a 44px slab (rows now 29px).

Still out of scope (documented, not faked): live turn-by-turn following, voice
guidance and offline routing.
2026-09-27 18:47:29 +07:00

185 lines
7.9 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

v1.5.2
🛒 Marketplace, levelled up
- Every listing lives in one hub now: Browse, Selling (your own listings with
one-tap Mark sold), your Trades, and Reputation.
- Rate a trade 1–10 skateboard decks when you confirm it. Ratings show on both
profiles with an honest average — and every confirmation is with a real
person, so two accounts can't pump each other's rep.
🧭 Directions actually work now
- Fixed the route map never drawing (you'd get an empty dialog and "no route").
Routes now show your position, the spot, and the line between them.
- Real per-mode routing: Skate/Walk, Bike, Moto and Car now give genuinely
different routes and times (walking 13 min vs biking 5 vs driving 2 on the same
trip) instead of one number copy-pasted across every mode.
- Added turn-by-turn route steps for orientation — the actual turns and street
names, not just a line on a map. Tap any step to jump to it on the map, and use
"Whole route" to zoom back out.
- Shows an arrival time ("arrive ~08:10 PM") and remembers the mode you picked
last time, so you're not sent back to walking on every trip.
- Skating gets its own honest estimate ("~6 min cruise on a board") next to the
walking time, and moto is clearly labelled as using driving roads.
- Opens instantly from your last known location; "Near Me" sorts by distance.
📱 Nav fixes
- The desktop "More" menu no longer vanishes when you pin Marketplace.
- Marketplace is now in the phone menu (☰) — pin it to the bottom bar too.
🪙 Mints loads in the app again
- The mints list was showing a JSON error on phones; it's fixed.
📰 Newsletter
- Fixed a bug that pegged your CPU on the newsletter page.
- Issues and subscriptions now publish to the community relay so everyone sees
the drops.
✨ Smoother everywhere
- Amber is properly scoped now: it only opens for real signed actions (log in /
sign up, messages, your Stash, marketplace trades, invites, publishing).
Browsing, reading notifications and moving between sections no longer trigger
a signer prompt — the app's encrypted cross-device data stays local-only on
Amber instead of decrypting on every screen.
- Logo no longer crowds the nav.
---
v1.5.1
🦧 Sasquatch — the AI guide, levelled up
- Ask real questions and get answers streamed as they're written.
- Sasquatch Pro unlocks AI answers plus personal actions (drafting posts &
listings, your Stash/Crews in chat). Pay with Lightning — from 7 days.
- Free, always: trick & term lookups, and finding spots, events, crews, shops,
tours and gear straight from the relays.
- Your Pro balance shows right in the guide.
🚇 Directions that stay in the app
- Route to any spot by public transport, bike, moto or car — drawn on our own
map, no bouncing out to Google or Apple Maps. Pick a mode, see the line.
🧑🎨 New in The Lab: Barbers & Hairstylists
- Cuts, fades, beard trims and colour — shop chair or mobile. Find a fresh trim
on the scene.
✨ Smoother everywhere
- The app shell no longer rebuilds on every screen, so the Sasquatch chat and
your scroll position survive navigation.
- Directions opens instantly now (it draws from your last known location first).
- The signer only pops for things that need it — log in, messages, your Stash,
the marketplace and publishing. No more prompts just from moving between tabs.
- Mints is now in the phone nav; tidier tab labels.
---
v1.4.5
🔄 Cross-device sync
- Your read state (notifications, messages, crew chat, newsletter) and app
preferences now sync across devices via encrypted NIP-78 app data.
🔒 Security hardening
- Amber signatures are verified, and trust scores verify event signatures
before they're used.
- Cashu wallet seed is stored in the native Keychain/Keystore with a mandatory
first-time backup.
- The agent (CVM) server only serves signature-verified events.
🗺️ Map & spots
- Crisp map pins with spot-type and shelter glyphs, plus smoother loading.
- New "Shelter" (weather protection) field.
- Better spot dedupe across geohash/city and name variants.
- Faster cold-start: query persistence, optimistic geolocation, skeleton pins.
📅 Tours & events
- Tour countdown badges, session times on scheduled local tours, and calendar
export. Polished Create Tour flow.
🐿️ Sasquatch
- Faster answers via a local fast-path, honest spot counts, deduped results,
and no more empty/typo dead-ends.
🎨 Polish & accessibility
- Lighter onboarding, shared empty states, improved contrast, a skip-to-content
link, and live-region announcements.
- Relay list UI polish with live connection indicators.
- Mobile fix: detail-page grids no longer overflow horizontally on narrow screens.
---
v1.3.3
📡 NEW — Local Relay (Citrine) · Android
Run a private Nostr relay right on your phone with the free Citrine app, then
flip it on in Settings → Relays. When it's connected you get:
- Instant reads — the map, spots, crews and messages load from your device
- Works offline — browse (and queue posts) at a spot with no signal
- On-device backup — a durable local copy of your own events
It's opt-in, Android-only, and your Stash and messages stay end-to-end
encrypted exactly as before — the local relay only speeds things up.
🛹 Reliability & polish across the app
- Events/Tours: month calendar view with a list⇄calendar toggle
- Notifications: RSVP/update alerts now open the event, not the sender
- Map: fixed trusted-first sorting and stash card borders
- Crews: fixed roster edits clobbering each other on rapid changes
- Lab/Market/Stash: always show the newest revision of a profile
- Wallet: clear warning (with the exact sats at risk) before removing a mint
- Spot claims: cleaner ownership history
- Newsletter: recurring issue titles no longer overwrite older issues
- Messages: group chats no longer leak into your 1:1 conversations
---
v1.2.14
🔒 Security hardening (payments & trust signals)
- Auto-pay now verifies every Lightning invoice's amount before paying (zaps,
crew zaps, listing fee). A server can no longer return an inflated invoice to
overcharge your wallet.
- Pro access is granted only by a verifiable, provider-issued zap receipt (plus
platform owners). Self-signed receipts no longer grant Pro.
- "Verified payment" badges on featured listings now require a provider-issued
zap receipt — self-published receipts can't fake verification.
- Crew funding goals tally only real invoice-backed zaps, so totals can't be
inflated with fake zap receipts.
Plus the delete diagnostics from 1.2.13 to pinpoint the signing/publish step.
---
v1.2.10
🛠️ Fixes a startup crash (black screen) introduced in the previous build and
keeps the Amber signing fix: signing now opens Amber the same reliable way
login does, so delete / accept invite / zap complete instead of hanging.
After updating, log OUT and log back IN once.
---
v1.2.8
🛠️ Amber finally pops up — signing works (the real fix)
The big one. On some Android setups (notably GrapheneOS), tapping delete,
accepting a crew invite, sending a zap, or editing your profile would spin
forever and Amber never appeared.
Root cause: the app's browser layer was silently dropping the request that
opens Amber, so the approval screen never launched. We added a native hand-off
so signing requests now open Amber directly — exactly like login already does.
Now every signing/encryption action launches Amber, you approve, and the
action completes. If Amber genuinely doesn't respond you get a clear message
in seconds instead of an endless spinner.
IMPORTANT: after updating, log OUT and log back IN once. Then delete, accept
invite, zap, and profile edits will just work.
🔔 Notification bell "Mark read" actually clears the badge
Marking notifications read now clears the count for crew items too, while
your pending invites and requests stay visible in the Crews tab until you
act on them.
🧹 Housekeeping
Behind-the-scenes reliability fixes across the signing and notification flows.