SkateSpots/release-notes.txt
SkateSpots c14b19aee1 release: v1.5.8 (versionCode 10508) — coordinator settings, discovery, crew bridge
Rebuilt the release APK so the phone gets what shipped this session:
- Settings -> Coordinator (pick/add/health, run-your-own hand-off)
- crew form accepts a phone-run coordinator (nprofile/cordn link) + 'Use my coordinator'
- profile discovery: publish your coordinator, one-tap add on profiles
- Edit Profile preview + 'finish your profile' checklist

Web was already deployed; this only bumps the Android version.
2026-09-29 16:27:30 +07:00

340 lines
15 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.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.