- Introduced a new content source toggle in the profile and app header to switch between IndeeHub and TopDoc films.
- Updated the content fetching logic to dynamically load content based on the selected source.
- Enhanced the seeding process to include a combined catalog of IndeeHub and TopDoc films, ensuring diverse content availability.
- Improved user interaction by preventing duplicate reactions and ensuring a smoother voting experience across comments and content.
- Added support for Amber login (NIP-55) for Android users, integrating it into the existing authentication flow.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Introduced WebSocket polyfill for Node.js in seed-activity.ts and seed-profiles.ts to support applesauce-relay and RxJS.
- Updated package.json and package-lock.json to include 'ws' version 8.19.0 and '@types/ws' version 8.18.1 as dependencies.
Co-authored-by: Cursor <cursoragent@cursor.com>
Two root causes for seeding not working on production:
1. Origin mismatch: The seeder writes content IDs as
http://localhost:7777/content/... but the app was using
window.location.origin (the user's actual browser URL) to
query the relay. Introduced VITE_CONTENT_ORIGIN env var
baked into the Docker build so both sides use the same origin.
2. Dockerfile.seed fragility: Replaced --omit=dev + global tsx
with a cleaner approach that strips sharp from package.json
(the only native dep that fails on Alpine) then does a full
npm install, ensuring tsx/esbuild and all applesauce deps
resolve correctly.
Also improved wait-for-relay to accept any HTTP response (some
relays return 4xx for plain GET) and increased max attempts.
Co-authored-by: Cursor <cursoragent@cursor.com>
- Add nostr-rs-relay service to docker-compose for persistent
comments, reactions, and profiles on the dev server
- Add one-shot seeder container that auto-populates the relay
with test personas, reactions, and comments on first deploy
- Proxy WebSocket connections through nginx at /relay so the
frontend connects to the relay on the same host (no CORS)
- Make relay URL dynamic: reads from VITE_NOSTR_RELAYS in dev,
auto-detects /relay proxy path in production Docker builds
- Make seed scripts configurable via RELAY_URL and ORIGIN env vars
- Add wait-for-relay script for reliable container orchestration
- Add "Resume last played" hero banner on My List tab
Co-authored-by: Cursor <cursoragent@cursor.com>
- Added several new dependencies related to the Applesauce library, including 'applesauce-accounts', 'applesauce-common', 'applesauce-core', 'applesauce-loaders', 'applesauce-relay', and 'applesauce-signers', all at version 5.1.0.
- Updated the development script in package.json to specify a port for Vite and added new seed scripts for profiles and activity.
- Removed outdated image files from the public directory to clean up unused assets.
- Enhanced the App.vue structure by integrating shared components like AppHeader and AuthModal for improved user experience.
- Refactored ContentDetailModal and MobileNav components to support new features and improve usability.
These changes improve the overall functionality and maintainability of the application while ensuring it utilizes the latest libraries for better performance.