SkateSpots/scripts
SkateSpots a43ff47b28 feat(spots): honest quality signals, photo required, off-topic reports, admin review queue
The 'test of secret island airport' problem: a junk pin wearing an app-endorsed
'Skateability 95/100'.

- Rename the weather score to 'Conditions · weather only' (SpotDetailPage +
  the SpotMap popup). It was never a verdict on the place.
- New Community verified / Unverified badge from signals only OTHER skaters can
  produce: community photos + useSpotStatus reporterCount (kind 2259).
- CreateSpotPage now REQUIRES at least one photo (guard + disabled submit +
  a required hint on the label).
- useNotASpotReport: one-tap NIP-56 (1984) report tagged 'not-a-skate-spot'
  (NIP-56 'other' + our L/l/t taxonomy), wired into the spot's More menu and
  added to the shared ReportDialog reasons.
- useAdminHide: the MISSING WRITE SIDE for admin moderation. useAdminModeration
  always read NIP-32 kind-1985 'hidden' labels but nothing published one, so the
  only working hide was device-local. Now publishes the label (+ optimistic
  local hide). Soft and reversible — the event stays on relays.
- /review (AdminReviewPage, admin-only → 404 otherwise): review queue over
  useSkateSpots with cheap flags (suspicious title, name <=3 chars, no photo, no
  description, no geohash), sorted by flag count, one-tap Hide or Not a skate
  spot. Entry via the admin-only AdminReviewCard in Settings → Advanced.
- /review added to the smoke-test route list.

Verified: the airport spot shows UNVERIFIED with 'Conditions · weather only' and
no 'Skateability'; the review queue lists it with flags + Hide/report actions;
create-spot blocks without a photo.
2026-09-27 23:41:49 +07:00
..
auto-deploy.sh chore(deploy): skip production deploys for non-site commits 2026-09-27 14:42:57 +07:00
deploy-cvm.sh chore(cvm): one-command deploy to the single host + document the setup 2026-09-27 12:04:57 +07:00
inject-amber-queries.mjs v1.2.0: Spedn label, multi-relay community stats, GrapheneOS Near-Me fix 2026-08-27 14:54:00 +07:00
inject-main-activity.mjs fix(amber): Amethyst-style foreground-intent signer to end the GrapheneOS sign hang 2026-09-07 12:39:00 +07:00
inject-network-security.mjs Citrine: native cleartext config, default-pool write wiring, polished UI (1.3.1) 2026-09-08 19:11:51 +07:00
inject-signing-config.mjs fix(android): support absolute storeFile path in signing-config injector 2026-09-26 16:02:17 +07:00
make-print-art.mjs feat(app-shop): add free printable sticker + poster (vector, real QR) 2026-09-27 22:16:43 +07:00
smoke-test.mjs feat(spots): honest quality signals, photo required, off-topic reports, admin review queue 2026-09-27 23:41:49 +07:00
sync-android-version.mjs Bump to 1.0.93 (1.0.92 already live) + versionCode scheme matches published 1.0.x 2026-07-30 22:43:32 +07:00