Bump 1.6.8 -> 1.7.0. Notes: canonical map + restored spot; Android share-app card; 3-card sign-in with per-session desktop welcome; zod 4 + nostrify 0.50 + react-router 7 + vitest 5 (audit 35 -> 8). APK built + published + verified.
587 lines
25 KiB
Text
587 lines
25 KiB
Text
🗺 The map is authoritative again
|
||
- Spots and shops on the map now come only from the SkateSpots community relay,
|
||
so everyone sees the same pins — and it fixes the empty map some of you hit.
|
||
- A missing spot was restored to the community relay.
|
||
|
||
📲 Pass SkateSpots on
|
||
- On Android, the About page now has a "Share SkateSpots" card: show a QR, use
|
||
the share sheet, or write the install link to an NFC tag.
|
||
|
||
🔑 A clearer way in
|
||
- Sign-in now leads with three plain choices — browser extension, signer app, or
|
||
sign in with your phone — plus a quiet secret-key option.
|
||
- On desktop the welcome sign-in appears once per session for logged-out
|
||
visitors (dismissible).
|
||
|
||
🛡 Security & stability
|
||
- Updated core libraries (router, validation, Nostr client) and cleared the
|
||
known app-facing vulnerabilities; the dependency scanner now runs in the
|
||
scheduled job too.
|
||
|
||
---
|
||
|
||
🔑 A clearer way in
|
||
- Sign-in now leads with three clear choices — browser extension, signer app
|
||
(bunker/Amber), or scan a code to sign in with your phone — plus a quiet
|
||
"Secret Key" option.
|
||
- On desktop, a welcome sign-in card appears once for logged-out visitors (you
|
||
can dismiss it).
|
||
|
||
🛡 Dependency security
|
||
- Updated Vite, Vitest, unhead and yaml and pinned TypeScript; the OSV scan now
|
||
reports far fewer known issues (remaining ones are upstream major versions or
|
||
have no fix).
|
||
|
||
📄 License
|
||
- The Zapstore listing now shows the real licence: AGPL-3.0-only (was "custom").
|
||
|
||
---
|
||
|
||
🔧 Amber signing fix
|
||
- Fixed messages (and other long encrypted data) occasionally failing to open
|
||
when signed with Amber — the signer can compress large results and the app now
|
||
reads them correctly every time.
|
||
- Clearer wording if Amber doesn't respond (it no longer suggests Amber isn't
|
||
installed).
|
||
|
||
---
|
||
|
||
💬 Crew chat, simplified and faster
|
||
- The crew Chat always uses standard end-to-end encryption now — no more silent
|
||
transport switching. (Coordinator/MLS chat lives in the crew's Private chat.)
|
||
- Messages you send appear instantly; the app no longer re-decrypts your whole
|
||
inbox as you move around, and it remembers decrypted messages on your device,
|
||
so reopening the app is quick. Far fewer signer prompts.
|
||
|
||
🔐 Private crew chat
|
||
- Admins can now Invite members straight from the private chat.
|
||
|
||
🌍 Languages
|
||
- All 20 languages are complete again (recent screens were falling back to
|
||
English).
|
||
|
||
---
|
||
|
||
💬 Crew chat fixes
|
||
- Messages you send now appear straight away (they could seem to vanish before).
|
||
- Moving between Messages and a crew no longer re-decrypts your whole inbox, so
|
||
the Amber app stops flashing and things feel faster. You're asked to approve
|
||
each tap once per message, not over and over.
|
||
|
||
---
|
||
|
||
🩹 Crew chat sends with Amber
|
||
- Sending to a crew no longer fails with "Amber didn't respond". The approvals
|
||
now come one at a time instead of all at once, so each one lands. (A 2-person
|
||
crew still needs a few approvals — that's the encrypted-message cost.) For
|
||
fewer taps, the crew's Private chat needs about one approval per message.
|
||
|
||
---
|
||
|
||
🧹 Fewer signer pop-ups
|
||
- Navigating around no longer re-decrypts your messages over and over, so the
|
||
Amber app stops flashing as you move between screens. New messages are pulled
|
||
in with a Refresh button on Messages.
|
||
|
||
💬 Crews in Messages
|
||
- Your crews now show up in the Messages tab, with a one-tap link straight into
|
||
each crew's private chat.
|
||
|
||
🧭 Clearer crew chat
|
||
- The crew's "Encrypted chat" card no longer contradicts itself: it shows Chat
|
||
(always on) and Private chat (MLS) side by side with their real state, and
|
||
takes you straight to the private chat.
|
||
- Joining now confirms ("Request sent…"), and admins are told how to add members.
|
||
|
||
---
|
||
|
||
🧹 Fewer onboarding pop-ups
|
||
- The "get started" card on the map now shows only for genuinely new accounts —
|
||
it no longer appears for returning skaters.
|
||
- "Save your login" no longer comes back every session once you've saved your
|
||
key during signup, and the browser's save-password prompt is less likely to
|
||
appear.
|
||
|
||
---
|
||
|
||
🆕 Private crew chat, end to end (MLS)
|
||
- Crews now get a real encrypted group chat: RFC 9420 MLS through our own
|
||
self-hosted coordinator. Open a crew → "Private chat". Founders create it and
|
||
approve join requests; members tap "Ask to join". Roughly a second to join.
|
||
- Send photos, copy the group link to open the same chat in Cordn or Staircase,
|
||
and your messages stay between members. The coordinator routes ciphertext and
|
||
metadata only — it never sees what you write.
|
||
|
||
🔒 Our infrastructure, not someone else's
|
||
- The community relay and photo/media storage now run on our own servers, so
|
||
your spots, crews and photos no longer depend on a third party. Same data,
|
||
faster and more independent.
|
||
|
||
🛒 Marketplace: close the deal in-app
|
||
- Accept an offer and pay right there (NWC / WebLN / Cashu), with the invoice
|
||
amount verified so you can't be overcharged.
|
||
- Escrow now uses the mint the seller advertises, and confirmation is safer.
|
||
|
||
🛡 Trust you can steer
|
||
- Mute an account and it disappears everywhere (NIP-51 list).
|
||
- "Alerts" flags accounts you follow that trusted people reported.
|
||
- Choose your trust provider in Settings → Trust, and every badge says who
|
||
decided.
|
||
|
||
🗺 Map & weather
|
||
- Search now suggests spots and places as you type.
|
||
- Spots show a 6-day forecast with a colour legend, sunrise/sunset, and a
|
||
manual refresh.
|
||
|
||
🧵 New in The Lab
|
||
- Clothing Designer joins the craft roles.
|
||
|
||
🛠 Fixes & polish
|
||
- Long menus scroll properly, and the language picker is searchable.
|
||
- Spot cards are tappable across the whole card again.
|
||
- Deleted spots no longer flash back from cache after a refresh.
|
||
- Lighter on first load (CJK fonts download only if you pick that language).
|
||
|
||
---
|
||
|
||
🌍 Ten new languages
|
||
- Simplified Chinese, Traditional Chinese, Ukrainian, Turkish, Vietnamese,
|
||
Indonesian, Swedish, Czech, Romanian and Greek are now selectable — full
|
||
coverage, not partial. (And North/South Korean stay separate, as before.)
|
||
- Locales lazy-load, so picking a language only downloads that language.
|
||
|
||
💸 A proper support page
|
||
- New /donate — three honest rails: ⚡ Lightning, 🕵️ private on-chain (silent
|
||
payments) and ⛓ Angor. Each with a clear purpose, so you pick what fits you.
|
||
- The Supporters wall now thanks backers with amounts, tiers and on-chain proof.
|
||
|
||
🛹 Fixes
|
||
- Top Shops shows real skateshops again (the community relay is shared, so other
|
||
apps' shops no longer leak in).
|
||
- The Monday newsletter reminder no longer covers the map on phones.
|
||
- New comments appear immediately, and event tickets verify properly at the door.
|
||
|
||
🔧 Under the hood
|
||
- A full bug + UI/UX audit pass: safer payments, stricter verification, fewer
|
||
mobile layout rough edges.
|
||
|
||
---
|
||
|
||
📍 The map, cleaner
|
||
- Fixed the search bar sitting on top of the map's zoom buttons.
|
||
- The "Offline — showing saved spots" banner now appears only when your device
|
||
is actually offline (not just when one relay is slow), and you can dismiss it.
|
||
- The "you are here" dot shows your own profile picture.
|
||
|
||
✅ Spots are verified by real skaters
|
||
- Community confidence now counts what other skaters actually do here: photos,
|
||
status reports, comments, reactions, zaps, saves, links from crews and Lab
|
||
pros. Cheap signals count for less, a zap or a crew link counts for a lot.
|
||
- The spot page explains itself ("2 photos · 1 crew · 3 comments") and nudges
|
||
you to help confirm a new spot.
|
||
|
||
🪪 More than one handle
|
||
- Crews, shops and your profile can each carry up to 5 NIP-05 handles, each with
|
||
a live verified check.
|
||
|
||
🔐 Private things stay private
|
||
- Stash backups can now be password-protected (with a strength meter) — the
|
||
exported file is no longer plain text.
|
||
- Marketplace payments verify the invoice amount; private messages verify the
|
||
sender's signature.
|
||
|
||
✨ Smaller fixes
|
||
- Crew form tidied into groups (Advanced tucked away), with a "Check" button for
|
||
a custom chat coordinator and "Sasquatch · Pro" naming.
|
||
- Stash and the marketplace listing form now fit narrow phone screens — the
|
||
header, item rows and condition buttons no longer overlap.
|
||
- The Lab's "Offer" menu is now a tidy, scrollable list (small colour chips
|
||
instead of a wall of coloured buttons), with "Get Rider Card" pinned at the
|
||
bottom.
|
||
- Marketplace reputation no longer shows a stuck "Loading…".
|
||
|
||
---
|
||
|
||
v1.5.10
|
||
|
||
🧭 Directions, rebuilt for a phone
|
||
- Search a new destination right in the app: skate spots, skate shops and
|
||
Bitcoin merchants (no Google/Apple Maps handoff).
|
||
- The map is much bigger and the vehicle picker moved below it.
|
||
- Following is smoother — it re-centres only when you actually move, so GPS
|
||
jitter no longer twitches the map.
|
||
|
||
🪙 Mints, with the info that matters
|
||
- Tap a mint for community rating, reliability, uptime, location and a liveness
|
||
audit — plus copy/open/terms. Ratings come from the community MintRadar data.
|
||
|
||
🤝 Haggling: counter-offers + barter
|
||
- Offers are now a real back-and-forth: accept, decline, withdraw, or counter
|
||
with a new amount — either side, any number of rounds.
|
||
- Swapping instead of buying? Offer an item ("my 8.25 deck") instead of, or
|
||
alongside, sats. Barter counts for reputation exactly like a sale.
|
||
- New Trades tab in the notification bell, plus notifications for every step:
|
||
new offer, counter, accepted, declined, and confirm-a-trade requests.
|
||
|
||
✨ Smaller fixes
|
||
- Crews: one tidy type control (no more horizontally-scrolling chips).
|
||
- Spot sheet: single close button.
|
||
- Map controls float over the map so the map fills the screen.
|
||
|
||
---
|
||
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.
|