Rebuilt the APK so the phone gets: - voice turn prompts (device TTS) + arrival, wake lock, bigger follow map - floating map controls (map fills the screen) Web was already deployed; this only bumps the Android version.
356 lines
16 KiB
Text
356 lines
16 KiB
Text
v1.5.9
|
||
|
||
🗣️ Navigation you can actually follow
|
||
- Directions now talks: a prompt at 150 m and again at 40 m before each turn,
|
||
plus "You've arrived". It's your phone's own voice — offline, no account,
|
||
nothing sent anywhere.
|
||
- The screen stays awake while you're following, so guidance doesn't die
|
||
mid-route.
|
||
- The map gets bigger when you hit Start, and the step list steps aside. Mute
|
||
anytime with the speaker button.
|
||
|
||
🗺️ A bigger map on the home screen
|
||
- The map controls now float over the map instead of taking a bar above it, so
|
||
the map fills the screen — especially on a phone.
|
||
|
||
---
|
||
v1.5.8
|
||
|
||
🛰️ Pick your own group-chat coordinator
|
||
- New Settings -> Coordinator: point SkateSpots at a Cordn coordinator you choose,
|
||
see whether it's up, copy or scan its link, and share it on your profile so
|
||
people can add it in one tap.
|
||
|
||
📱 Run one — even on a phone
|
||
- A coordinator can live on an old phone, a Raspberry Pi, or any small box you
|
||
leave on. We hand you the doorway (the Cordn app, or a one-line Docker
|
||
command), and your crew can route its encrypted chat through it. Crew founders
|
||
get a "Use my coordinator" button.
|
||
|
||
👤 Edit Profile got a face
|
||
- See how you actually look — banner, avatar, handle, bio and badges — before you
|
||
save, plus a short "finish your profile" list instead of guesswork.
|
||
|
||
🔎 Coordinators are discoverable
|
||
- If someone runs their own coordinator, their profile now shows it with an Add
|
||
button instead of a bare link.
|
||
|
||
---
|
||
v1.5.7
|
||
|
||
⏰ Event reminders
|
||
- RSVP "going" or "interested" to an event and your phone nudges you an hour
|
||
before it starts — even when SkateSpots is closed. It's an alarm the device
|
||
holds, not a server, so nothing leaves your phone.
|
||
- Turn it on in Settings -> Notifications (Android app).
|
||
|
||
---
|
||
v1.5.6
|
||
|
||
🛹 The map is quicker off the mark
|
||
- Pins no longer rebuild themselves several times while the map loads, and they
|
||
stream in instead of freezing the screen in a busy city. Same map, less
|
||
waiting.
|
||
|
||
🔔 Notifications (opt-in)
|
||
- Turn them on in Settings -> Notifications and your phone can buzz for DMs,
|
||
crew invites and join requests, zaps, replies and mentions, and new newsletter
|
||
drops.
|
||
- Privacy first: nothing new is sent anywhere, and direct-message alerts never
|
||
unlock your messages — so an Amber user is never asked to approve one just to
|
||
be told a message arrived.
|
||
- Honest limits: alerts come from the device while the app is running. A fully
|
||
closed app can't be reached without a push server, which SkateSpots doesn't
|
||
run — we'd rather say that than pretend otherwise.
|
||
|
||
🏷️ Badges on your profile
|
||
- A free name@skate-spots.org handle now shows the SkateSpots badge, and you can
|
||
list your own badges (Cordn, Cashu, NWC, Amber, BTCMap…) as clickable chips.
|
||
|
||
📍 "Closest spot to me"
|
||
- Ask the Sasquatch where to skate and it can sort by what's nearest — worked
|
||
out on your device, without sending your location anywhere.
|
||
|
||
⚡ Keep the map free
|
||
- The Supporters page now has a one-tap way to chip in (zap publicly, or pay
|
||
quietly), if you want to.
|
||
|
||
---
|
||
v1.5.5
|
||
|
||
🗺️ The map works offline now
|
||
- The basemap you've already looked at is cached on your device, so the map still
|
||
draws when the signal drops at the park — no more blank grid.
|
||
|
||
🖼️ A dead image host no longer leaves a blank spot
|
||
- Photos upload to two hosts, and if one goes down the app quietly loads the copy
|
||
from the other. Same for avatars and gear pics.
|
||
|
||
💬 Past conversations actually show up now
|
||
- Messages reads your real DM inbox relays, so older threads appear instead of
|
||
the "No messages yet" screen. And if something genuinely can't be decrypted,
|
||
the app says so rather than pretending your inbox is empty.
|
||
|
||
✅ Free `name@skate-spots.org`
|
||
- Pick a handle when you sign up — free, optional, changeable any time — and it
|
||
shows a verified badge on your profile.
|
||
|
||
---
|
||
|
||
v1.5.4
|
||
|
||
🧹 Keeping the map real
|
||
- Every new spot now needs at least one photo — the cheapest defence against
|
||
test entries and off-topic pins ("test of secret island airport").
|
||
- Spots only say "Community verified" when another skater has contributed (a
|
||
photo or a status report). Until then they are labelled "Unverified" instead
|
||
of looking endorsed.
|
||
- The weather score is now labelled "Conditions · weather only". It was never a
|
||
verdict on whether a place is a real spot.
|
||
- One-tap "Not a skate spot" for off-topic pins (test entries, airports, malls,
|
||
private land), plus an admin review queue that surfaces them for a human.
|
||
- The queue also weighs mapper trust, whether any skater has reported on the
|
||
spot, and whether anyone has added a community photo — and a review can now
|
||
**Confirm** a spot as well as hide it (a staff-vouched spot gets a badge).
|
||
- Moderation is **reversible**: Hide and Confirm can both be undone, returning the
|
||
spot to neutral without hiding or vouching for it.
|
||
- **Reports now reach a human**: the review queue surfaces reported spots at the
|
||
very top, above the automated signals — so "not a skate spot" actually lands.
|
||
- **Adding a spot warns you if one already exists** within 60 m, and links you
|
||
straight to it instead of letting you create a duplicate.
|
||
- **If a moderator hides or vouches for your spot, you're told** — right there on
|
||
the spot page (your own spots stay visible to you either way).
|
||
- **A photo is now strongly recommended, not required.** No picture on hand right
|
||
now? Publish anyway — the spot just stays marked Unverified until one lands.
|
||
- **Empty map? It now says so and offers to fix it**: "No spots mapped yet — be
|
||
the first to map your park", with a one-tap Add spot.
|
||
- The admin review queue now covers **shops, events, tours, gear, crews and Lab
|
||
profiles** too, not just spots — and has a **report inbox** (every report, with
|
||
the reported item resolved, not just whatever's already flagged) plus **bulk
|
||
undo** for clearing old verdicts.
|
||
|
||
🛍 App Shop — a new section (empty on purpose, with free printables)
|
||
- Free to print, no sats needed: a 55 × 86 mm "DO YOU EVEN SKATE BRO?" sticker
|
||
and an A3 poster, both print-ready vector files with a working QR.
|
||
- Merch is coming, and it'll be paid in sats: Lightning or Cashu, your choice.
|
||
No cards, no accounts, no processor skimming the drop.
|
||
- To be clear: we hold no stock and nothing is for sale yet. No pre-orders, no
|
||
countdown timers, no fake scarcity — the teasers are labelled "not for sale
|
||
yet" and there are no prices anywhere.
|
||
|
||
✉️ Direct messages actually arrive now
|
||
- Your DM inbox relays were being forgotten every time the app loaded, so
|
||
messages were sent to your normal relays instead of the ones the other person
|
||
actually reads — which is why DMs looked like they never arrived. Your DM
|
||
relays, local relays and relay blocklist now persist properly.
|
||
- Sending and loading DMs no longer stall or break because of one dead or
|
||
login-only relay in your list; they now run in parallel.
|
||
|
||
🧭 Directions look and feel like a navigation screen
|
||
- A much bigger map, with a metric scale bar, and the plan at a glance:
|
||
distance, time, arrival, step count and the average speed the route assumes.
|
||
- The map stays put while the details scroll, and Start/Stop is pinned at the
|
||
bottom where your thumb already is.
|
||
|
||
📰 Newsletter reader
|
||
- Issue intros render as proper italics instead of showing literal underscores.
|
||
|
||
---
|
||
|
||
v1.5.3
|
||
|
||
🧭 Real navigation, not just a route preview
|
||
- Travel modes finally give genuinely different answers: walking 13 min, biking
|
||
5, driving 2 on the same trip. Before, every mode showed the same number.
|
||
- Route steps — the actual turns and street names. Tap a step to jump to it on
|
||
the map, and use "Whole route" to zoom back out.
|
||
- Tap Start and it follows you: your dot moves, the current step highlights, and
|
||
it shows the next turn plus how far is left. (Still no voice guidance.)
|
||
- Arrival time ("arrive ~08:10 PM"), and it remembers the mode you picked last.
|
||
- Going somewhere first? "From → Choose on map" sets your start point instead of
|
||
routing from where you're standing.
|
||
- Lose signal mid-route and it keeps showing your last route, clearly marked as
|
||
saved, instead of going blank.
|
||
- Skating gets its own honest estimate ("~6 min cruise on a board") next to the
|
||
walking time, and moto is labelled as using driving roads.
|
||
|
||
🔔 Amber stays out of the way
|
||
- Amber now only opens for real signed actions: log in / sign up, messages, your
|
||
Stash, marketplace trades, invites, publishing. Browsing 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.
|
||
|
||
---
|
||
|
||
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.
|
||
- 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 only pops for things that need a signature — no more prompts just for
|
||
reading your notifications.
|
||
- 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.
|