Commit Graph
7 Commits
Author SHA1 Message Date
Michilis 5d02d1396f Admin API key auth, account_too_new fixes, clear-all-users cache
- Add ADMIN_API_KEY to config; accept via X-Admin-Key or Bearer (constant-time compare)
- Never serve cached null for nostr_first_seen_at; admin clear-cache and override-age
- Add clearAllUsersCache() and POST /admin/users/clear-cache for all users
- Update .env.example with admin API key and pubkeys comments

Made-with: Cursor
2026-03-16 19:53:05 +00:00
Michilis f43f0bc501 Add sponsor price endpoint and fetch pricing from backend on frontend
Made-with: Cursor
2026-03-16 18:21:41 +00:00
Michilis a47868d17c Fix account_too_new false positive for old Nostr accounts
- Force refresh profile when denying account_too_new, then re-check
- Use querySync for age probe instead of pool.get (all relays, more reliable)
- Add default relays: nostr.info, snort.social, mostr.pub
- Skip cache when cached first-seen is borderline (10-14 days)

Made-with: Cursor
2026-03-16 18:16:05 +00:00
Michilis a1509f21fc Add schema-driven db:migrate for SQLite and Postgres
- Parse schema files to detect expected columns per table
- Add missing columns automatically when schema is updated
- Add payment_request to sponsors schema
- Add db:migrate script to root package.json

Made-with: Cursor
2026-03-16 00:13:06 +00:00
Michilis f61f41c9b0 Add package-lock.json to .gitignore
Made-with: Cursor
2026-03-16 00:01:44 +00:00
Michilis dc7007f708 Add sponsors system with time slider, LNbits invoices, and UX improvements
- Sponsors table, LNbits createInvoice, webhook handler
- Sponsor routes: create, homepage, list, my-ads, click, extend, check-payment
- Admin routes for sponsor management
- Frontend: SponsorForm, SponsorTimeSlider, SponsorCard, SponsorsSection
- Sponsors page, My Ads page, homepage sponsor block
- Header login dropdown with My Ads, Create Sponsor
- Transactions integration for sponsor payments
- View/click tracking
- OG meta fetch for sponsor images
- Sponsor modal spacing, invoice polling fallback
- Remove Lightning address and Category fields from sponsor form

Made-with: Cursor
2026-03-16 00:01:19 +00:00
Michilis ac9b8dc330 Add Plausible analytics support with configurable domain and script URL
Made-with: Cursor
2026-03-15 22:07:39 +00:00