SkateSpots/src/components
shakespeare.diy 6df526bf27 Sasquatch: local fast-path for finder questions (kills ~30s AI wait)
Root cause of the ~35s "spots in bangkok" response: every live-data question
first waited on an AI round-trip just to produce a tool call, and the keyless
backup model (Pollinations) can take tens of seconds. The relay query and local
formatting were already fast — the AI was the bottleneck.

Fix: before touching the AI, try parseLocalIntent(). For clear finder questions
(spots/events/coaches/crews/shops/tours/gear + community stats + weather with a
parseable location) we now go STRAIGHT to the relays (capped at 4.5s) and render
locally — zero AI calls. Expected ~35s → ~2–4s on the most common queries.

Deliberately still routed through the AI:
- trip planning (needs the rich itinerary card)
- personal "my …" Pro queries (get_my_* tools)
- anything without a confidently-parseable intent/location

If the fast-path relay query errors, it falls through to the existing AI loop as
a backup, so nothing regresses.

Co-authored-by: shakespeare.diy <assistant@shakespeare.diy>
2026-09-09 23:24:08 +07:00
..
auth Redesign signup "done" step to lead with recovery (1.3.15) 2026-09-09 11:30:06 +07:00
comments fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
crew Crew chat: frame built-in E2E chat as the default, Cordn as honest opt-in 2026-09-03 18:02:53 +07:00
onboarding #5 Reframe 'permanent/can't delete' copy around user data ownership & relay choice (onboarding, relay education, about) 2026-08-27 09:59:43 +07:00
ui Crew band gig booking, hide treasury, CLINK on profiles, friendlier CLINK, remove desktop messages icon 2026-07-30 20:29:44 +07:00
wallet Wallet audit: warn about at-risk balance before removing a mint (1.2.39) 2026-09-08 00:15:07 +07:00
ActivityNotificationCard.tsx Route event notifications to the event, not the actor (1.2.35) 2026-09-07 22:56:20 +07:00
AddPhotoToSpot.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
AddTagsToSpot.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
AddToCalendar.tsx Improve Create Tour: consistent schedules, calendar export & punk redesign 2026-09-09 22:16:16 +07:00
AddToCollectionDialog.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
AmberApprovalHint.tsx Amber UX: honest multi-approval hint for encrypted chat/DM sends 2026-09-07 20:08:39 +07:00
AppProvider.tsx Citrine: optional local on-device relay for instant reads + offline backup (1.3.0) 2026-09-08 18:53:16 +07:00
AttendeeList.tsx Host tools: attendee list w/ trust, event updates, edit-alerts, Hosting tab 2026-09-03 11:25:57 +07:00
AttendeeStack.tsx Events Phase 1: NIP-52 RSVPs, attendee stacks, date filter, host notifications 2026-09-03 10:47:57 +07:00
BackupReminder.tsx Make backup gently unavoidable, not skippable-forever (1.3.13) 2026-09-09 11:23:44 +07:00
BetaDisclaimerDialog.tsx Add first-launch beta disclaimer dialog + footer BETA badge 2026-08-01 12:14:42 +07:00
CameraCapture.tsx Fix Quick Snap opening gallery instead of camera on native (v1.0.70) 2026-07-24 19:47:36 +07:00
ClinkPayButton.tsx Crew band gig booking, hide treasury, CLINK on profiles, friendlier CLINK, remove desktop messages icon 2026-07-30 20:29:44 +07:00
CollectiveJoinRequestCard.tsx Collective join-requests: one-tap approve from the bell 2026-09-03 15:49:49 +07:00
CollectiveMembers.tsx Add skate roles to the crew roster (filmer, photographer, etc.) 2026-09-03 00:07:30 +07:00
ConfirmMembershipCard.tsx Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
CraftProfileForm.tsx Fix 78 pre-existing TypeScript errors surfaced by npm test 2026-09-03 21:18:02 +07:00
CrewAgentPanel.tsx feat(ux): graceful image fallbacks for broken content images (1.2.18) 2026-09-07 19:46:40 +07:00
CrewBadge.tsx Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
CrewChat.tsx Amber UX: honest multi-approval hint for encrypted chat/DM sends 2026-09-07 20:08:39 +07:00
CrewForm.tsx Make Crew Agent genuinely crew-aware; swap bee emoji for Sasquatch avatar 2026-09-03 18:55:54 +07:00
CrewInviteCard.tsx Add crew invitation & notification system (Phase 1) 2026-09-02 22:59:34 +07:00
CrewInviteDialog.tsx Add crew invitation & notification system (Phase 1) 2026-09-02 22:59:34 +07:00
CrewLinkField.tsx Mutual crew<->Lab link verification (trust badge) + polish 2026-09-03 15:29:57 +07:00
CrewLookingFor.tsx Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
CrewNip05Badge.tsx Add crew NIP-05 (any-domain, founder-verified) + founder/delegated-admin governance 2026-07-24 16:46:20 +07:00
CrewRequestToJoin.tsx Add sponsor picker + notifiable crew join-requests 2026-09-03 00:23:55 +07:00
CrewsForSpotCard.tsx Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
CrewTreasuryCard.tsx Crews: proximity discovery, activity/rep signals, treasury, hiring pipeline, crew-hosted events + reverse links; add Contacts page 2026-07-25 12:38:45 +07:00
CrossLinkCards.tsx feat(ux): graceful image fallbacks for broken content images (1.2.18) 2026-09-07 19:46:40 +07:00
CustomizeNavSheet.tsx Customizable mobile bottom nav: fixed Map + 3 user-picked tabs + fixed Profile 2026-07-25 12:53:06 +07:00
CVMHealthCheck.tsx Add owner-only ContextVM server health check (Settings > Advanced) 2026-07-29 22:27:22 +07:00
DeepLinkHandler.tsx fix(amber): call setPackageName before signing so the plugin opens Amber (1.2.9) 2026-09-04 21:44:27 +07:00
DeleteEntityDialog.tsx Marketplace: give sellers real listing management (mark sold / relist / delete) (1.2.30) 2026-09-07 22:24:47 +07:00
DesktopNavManager.tsx Add desktop top-nav customization (Settings > Appearance > Navigation) 2026-07-29 22:09:20 +07:00
EditProfileForm.tsx Profile polish: NIP-05 field UX, share+QR, at-a-glance stats, cleaner empty states 2026-09-02 22:08:49 +07:00
EntityTypeField.tsx Add individual/collective entity type + NIP-32 membership attestation to The Lab 2026-07-24 13:18:18 +07:00
ErrorBoundary.tsx Hardening: https-only URLs, route-level crash resilience, cleaner errors (1.4.3) 2026-09-09 12:40:43 +07:00
EventCard.tsx Events discovery polish + real bug/perf fixes across the grid 2026-09-03 14:47:02 +07:00
EventCountdown.tsx Fix event UX correctness: live countdown, cancellation banner, NIP-52 tag cleanup 2026-09-03 14:33:28 +07:00
EventsCalendar.tsx Calendar: show session time for scheduled local tours 2026-09-09 22:34:23 +07:00
EventSponsors.tsx Event detail hero redesign + live countdown + sponsors 2026-09-03 12:04:07 +07:00
EventUpdates.tsx Give admins moderator control over events + fix a spoofing hole 2026-09-03 14:40:17 +07:00
ExistingLabProfileNotice.tsx The Lab: warn before a "Become a …" form silently overwrites an existing profile (1.2.28) 2026-09-07 22:06:49 +07:00
FeaturedEventUpgrade.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
FollowListManager.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
FounderFollow.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
GearSwapItemCard.tsx Marketplace: give sellers real listing management (mark sold / relist / delete) (1.2.30) 2026-09-07 22:24:47 +07:00
HostingDashboard.tsx Host tools: attendee list w/ trust, event updates, edit-alerts, Hosting tab 2026-09-03 11:25:57 +07:00
ImageWithFallback.tsx feat(ux): graceful image fallbacks for broken content images (1.2.18) 2026-09-07 19:46:40 +07:00
JoinRequestCard.tsx Admins can endorse join-requests; founder ratifies (kind 9087) 2026-09-03 01:40:04 +07:00
LabCrewsStrip.tsx Fix 78 pre-existing TypeScript errors surfaced by npm test 2026-09-03 21:18:02 +07:00
LabLinkField.tsx Mutual crew<->Lab link verification (trust badge) + polish 2026-09-03 15:29:57 +07:00
LabProUpgrade.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
LanguageToggle.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
Layout.tsx Fix signup flow skipping profile + recovery steps (1.3.16) 2026-09-09 11:34:23 +07:00
MapSkeletonPins.tsx Instant cold-start: query persistence, optimistic geolocation, skeleton pins 2026-09-09 21:58:22 +07:00
MarketplaceItemCard.tsx Marketplace: give sellers real listing management (mark sold / relist / delete) (1.2.30) 2026-09-07 22:24:47 +07:00
MemberVisibilityControl.tsx Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
MyDataTab.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
NewMessageDialog.tsx Enrich profiles (crews, bot, CLINK), best-in-class New Message picker, map toolbar declutter 2026-07-30 21:36:42 +07:00
NewsletterBackfillPanel.tsx Newsletter: subscriber count + admin archive backfill to Nostr 2026-09-03 19:21:09 +07:00
NewsletterComposer.tsx Newsletter audit: unique auto-slug so recurring titles can't clobber prior issues (1.2.41) 2026-09-08 18:34:54 +07:00
NewsletterIssueView.tsx feat(ux): graceful image fallbacks for broken content images (1.2.18) 2026-09-07 19:46:40 +07:00
NewsletterOverlay.tsx Fix newsletter admin gating: use isAdminPubkey from lib/admins instead of undefined NEWSLETTER_ADMIN_PUBKEYS 2026-08-20 16:16:09 +07:00
NewsletterSubscribeButton.tsx Add Nostr-native newsletter: subscribe, mailbox & notifications 2026-09-03 19:16:49 +07:00
Nip05Required.tsx Add tour countdown badges + fix/standardize NIP-05 provider prompts 2026-09-09 22:31:44 +07:00
NofferField.tsx Add clinkme.dev specs and apps page links across the app 2026-08-19 15:13:32 +07:00
NostrProvider.tsx Cold-start: pre-warm relays + branded splash screen (1.4.0) 2026-09-09 12:05:35 +07:00
NostrSync.tsx #2 Reduce console noise: strip debug logs from relay queries, publish, trust score, weather, coaches, NostrSync 2026-08-27 10:17:01 +07:00
NoteContent.test.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
NoteContent.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
NotificationBell.tsx Route event notifications to the event, not the actor (1.2.35) 2026-09-07 22:56:20 +07:00
OfficialBadge.tsx security: implement all 8 protection measures 2026-06-18 14:03:15 +07:00
OfflineIndicator.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
PaymentReadinessNote.tsx Lab: payment-readiness prompt on every provider form + drop downhill/longboard from judge 2026-09-03 15:21:34 +07:00
PlatformFeePayment.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
ProBadge.tsx Add duration tiers + layered NIP-57 zap verification, extend featured/Pro to tours 2026-07-24 16:18:15 +07:00
PWAInstallPrompt.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
QualityMeter.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
RelatrSettings.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
RelayListManager.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ReportDialog.tsx Fix 78 pre-existing TypeScript errors surfaced by npm test 2026-09-03 21:18:02 +07:00
ReportSpotStatusDialog.tsx Add community Spot Status Reports (kind 2259) 2026-07-24 23:06:10 +07:00
RequestToJoinCollective.tsx Collective join-requests: one-tap approve from the bell 2026-09-03 15:49:49 +07:00
RouteDialog.tsx Add in-app routing (foot/bike/moto/car) via OSRM — no external maps handoff 2026-09-03 10:17:06 +07:00
RouteErrorBoundary.tsx Hardening: https-only URLs, route-level crash resilience, cleaner errors (1.4.3) 2026-09-09 12:40:43 +07:00
RsvpButtons.tsx Events Phase 1: NIP-52 RSVPs, attendee stacks, date filter, host notifications 2026-09-03 10:47:57 +07:00
SasquatchActionCard.tsx Sasquatch Pro Phase 2: action drafting (draft → you confirm) 2026-07-29 23:41:11 +07:00
SasquatchGuide.tsx Sasquatch: local fast-path for finder questions (kills ~30s AI wait) 2026-09-09 23:24:08 +07:00
SasquatchProDialog.tsx feat(sasquatch): Pro receipt DM + local Pro FAQ + tougher free-tier answers 2026-07-30 00:21:34 +07:00
ScrollToTop.tsx New project created with Shakespeare 2026-06-15 19:49:07 +07:00
SecuritySettings.tsx Make backup gently unavoidable, not skippable-forever (1.3.13) 2026-09-09 11:23:44 +07:00
SetStatusDialog.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ShareProfileDialog.tsx ShareProfileDialog: no horizontal scroll + canonical share URL 2026-09-02 22:16:09 +07:00
ShopBountyCard.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SkateGlobe.tsx Fix ESLint gate: scope ignores to app source (exclude android/.agents/cvm-server/public html/scripts), add index.html title, downgrade unused-vars & no-explicit-any to warnings, fix real lint errors (SkateGlobe unused-expr, EventsPage prefer-const, LicensePage Infinity shadow, useless-escape in SasquatchGuide/RiderCardPage, stale eslint-disable directives) 2026-09-03 21:30:56 +07:00
SkaterDirectoryCard.tsx Rename "Action shot" to "Profile Pic" and add custom Level option for skaters 2026-09-02 21:34:59 +07:00
SortDropdown.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SpamFeePayment.tsx security: verify invoice amounts + require provider-issued zap receipts (1.2.14) 2026-09-07 11:45:21 +07:00
SplashScreen.tsx Elevate splash to premium, choreographed launch (1.4.2) 2026-09-09 12:19:17 +07:00
SponsorSlot.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SpotCard.tsx Add community Spot Status Reports (kind 2259) 2026-07-24 23:06:10 +07:00
SpotChat.tsx Add "Public" badge to Spot Chat header + clearer privacy note 2026-07-24 15:12:39 +07:00
SpotMap.tsx #2 Reduce console noise: strip debug logs from relay queries, publish, trust score, weather, coaches, NostrSync 2026-08-27 10:17:01 +07:00
SpotOwnership.tsx Spot detail audit: dedup claim provenance tags (1.2.40) 2026-09-08 00:19:10 +07:00
SpotPicker.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
SpotStatusBadge.tsx Add community Spot Status Reports (kind 2259) 2026-07-24 23:06:10 +07:00
TagInput.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ThemeToggle.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
TourCard.tsx Add tour countdown badges + fix/standardize NIP-05 provider prompts 2026-09-09 22:31:44 +07:00
TripItineraryCard.tsx feat(sasquatch): add Trip Planner + tougher free-tier fallback + new joke book 2026-07-30 00:04:28 +07:00
TrustBadge.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
TrustFilter.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
UserStatusIndicator.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
VouchCard.tsx Crews: opt-in member visibility + Lab vouch/web-of-trust anti-fraud + CrewDetail redesign 2026-08-10 21:01:57 +07:00
WalletModal.tsx Wallet: warn users to set an NWC spending budget before connecting 2026-08-16 22:16:05 +07:00
WeatherToggle.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
WhosSkating.tsx fix(ux): repair broken in-app navigations under HashRouter 2026-09-07 19:22:40 +07:00
ZapButton.tsx fix: restore full skate-spots source tree from misplaced src/src/ copy 2026-06-15 22:18:28 +07:00
ZapCrewDialog.tsx Zap a whole crew: split a zap across confirmed members 2026-07-24 14:31:45 +07:00
ZapDialog.tsx Fix Cashu zap: pay in one click + honor custom-amount balance guard 2026-09-07 20:15:10 +07:00