Skip to content

Conversation

@flxnaf
Copy link
Owner

@flxnaf flxnaf commented Oct 26, 2025

Coderabbit

ShoAdachi01 and others added 30 commits October 25, 2025 18:50
- Added consent fields to User model (audio, chat, context, faceData)
- Created comprehensive DATA_PERSISTENCE_GUIDE.md
- Documents what data is saved, when, and where
- Shows how to implement consent checks
- All data already being saved per Supabase user ID

Next: Run 'npx prisma migrate dev' to apply schema changes
- Added consent fields to User model (audio, chat, context, faceData)
- Created comprehensive DATA_PERSISTENCE_GUIDE.md
- Documents what data is saved, when, and where
- Shows how to implement consent checks
- All data already being saved per Supabase user ID

Next: Run 'npx prisma migrate dev' to apply schema changes
- Created ConsentDialog component with checkboxes for all data types
- Integrated consent flow into main app (shows before recording)
- Added API routes: /api/user-consent (check) and /api/save-consent (save)
- Added consent state management in app/page.tsx
- Installed @supabase/ssr and @supabase/supabase-js packages
- Added force-dynamic exports to new API routes
- User must accept consent before using app features

Note: Build warnings about Supabase env vars are expected (set in Railway)
- Created ConsentDialog component with checkboxes for all data types
- Integrated consent flow into main app (shows before recording)
- Added API routes: /api/user-consent (check) and /api/save-consent (save)
- Added consent state management in app/page.tsx
- Installed @supabase/ssr and @supabase/supabase-js packages
- Added force-dynamic exports to new API routes
- User must accept consent before using app features

Note: Build warnings about Supabase env vars are expected (set in Railway)
- Added force-dynamic exports to analyze-face and face-data routes
- Added fallback values for Supabase env vars during build
- Build now completes successfully without errors
- All API routes properly marked as dynamic
- Ready for Railway deployment
- Added force-dynamic exports to analyze-face and face-data routes
- Added fallback values for Supabase env vars during build
- Build now completes successfully without errors
- All API routes properly marked as dynamic
- Ready for Railway deployment
- Add validation for Supabase environment variables in lib/supabase.ts
- Add graceful error handling in useAuth hook
- Create EnvErrorMessage component for helpful error display
- Update build script to include prisma generate
- Add Supabase vars to environment checker
- Add comprehensive Railway deployment guides (QUICK_FIX_RAILWAY.md, RAILWAY_FIX.md)
- Prevent app crashes when env vars are missing

Fixes client-side exception caused by missing NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_PUBLISHABLE_DEFAULT_KEY in Railway deployment.
- Add validation for Supabase environment variables in lib/supabase.ts
- Add graceful error handling in useAuth hook
- Create EnvErrorMessage component for helpful error display
- Update build script to include prisma generate
- Add Supabase vars to environment checker
- Add comprehensive Railway deployment guides (QUICK_FIX_RAILWAY.md, RAILWAY_FIX.md)
- Prevent app crashes when env vars are missing

Fixes client-side exception caused by missing NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_PUBLISHABLE_DEFAULT_KEY in Railway deployment.
- Create initial migration with User, Memory, Conversation tables
- Update build script to run migrations automatically on deploy
- Add deploy-db.sh script for manual migration deployment
- Fixes 'Failed to save consent' error by ensuring database schema exists
- Create initial migration with User, Memory, Conversation tables
- Update build script to run migrations automatically on deploy
- Add deploy-db.sh script for manual migration deployment
- Fixes 'Failed to save consent' error by ensuring database schema exists
- Use UUID for Memory and Conversation IDs (matches what was deployed)
- Use UUID for foreign keys (userId)
- Ensures Prisma schema matches actual database structure
- Use UUID for Memory and Conversation IDs (matches what was deployed)
- Use UUID for foreign keys (userId)
- Ensures Prisma schema matches actual database structure
…pass

- Reduce photo capture from 5 angles to 1 (faster, fewer API calls)
- Create two-tab interface: Context Builder + Chat
- Add Context Builder component for adding personality data
- Enable JSON export for Minecraft integration
- Add admin bypass login feature (click title 5 times)
- Admin keys: 'ghostadmin' or 'admin123'
- Remove context inputs from Uploader (moved to dedicated tab)
- Context data persists to PostgreSQL via personality API
…pass

- Reduce photo capture from 5 angles to 1 (faster, fewer API calls)
- Create two-tab interface: Context Builder + Chat
- Add Context Builder component for adding personality data
- Enable JSON export for Minecraft integration
- Add admin bypass login feature (click title 5 times)
- Admin keys: 'ghostadmin' or 'admin123'
- Remove context inputs from Uploader (moved to dedicated tab)
- Context data persists to PostgreSQL via personality API
- Admin bypass users no longer see consent dialog
- Allows immediate testing without database
- Consent still required for real users
- Admin bypass users no longer see consent dialog
- Allows immediate testing without database
- Consent still required for real users
- Admin users immediately proceed to upload step
- No database calls for admin bypass
- Uses admin user ID directly
- Allows testing without database
- Admin users immediately proceed to upload step
- No database calls for admin bypass
- Uses admin user ID directly
- Allows testing without database
- Change 'Start Taking Photos' to 'Take Photo' (singular)
- Add back story, habit, reaction questions during initial setup
- Save initial context when creating clone
- Users can add more context later in Context Builder tab
- Change 'Start Taking Photos' to 'Take Photo' (singular)
- Add back story, habit, reaction questions during initial setup
- Save initial context when creating clone
- Users can add more context later in Context Builder tab
- Admin users skip MediaPipe face detection
- Admin users skip database update-user API call
- Immediately proceed to chat tabs
- Allows full testing without database or API keys
- Admin users skip MediaPipe face detection
- Admin users skip database update-user API call
- Immediately proceed to chat tabs
- Allows full testing without database or API keys
- Change button to 'Export JSON' (removed 'for Minecraft')
- Export now includes audioUrl, voiceModelId, faceData for Minecraft mod
- Add admin bypass for chat (returns mock responses without Claude API)
- JSON structure includes all data needed for voice/appearance in mod
- Change button to 'Export JSON' (removed 'for Minecraft')
- Export now includes audioUrl, voiceModelId, faceData for Minecraft mod
- Add admin bypass for chat (returns mock responses without Claude API)
- JSON structure includes all data needed for voice/appearance in mod
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) October 29, 2025 02:00 Inactive
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) October 29, 2025 04:32 Inactive
ShoAdachi01 and others added 5 commits October 29, 2025 00:50
- Remove all emojis from UI
- Streamline export section with cleaner layout
- Condense setup steps from 6 to 3 bullet points
- Simplify import and usage sections
- Remove verbose descriptions and collapsible sections
- Clean up troubleshooting to simple one-liners
- Remove unused state and imports

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove outdated references from all documentation files
- Remove emojis from README.md section headers
- Update directory path references to replik/
- Simplify minecraft-mod documentation
- Clean up acknowledgments and license sections

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Move all auxiliary markdown files to docs/ directory
- Create docs/README.md with organized index
- Keep README.md and MINECRAFT_SETUP.md in root
- Categorize docs by purpose (setup, architecture, testing, etc.)
- Add documentation section to main README

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Remove click-to-activate admin login from landing page
- Remove admin bypass checks from authentication flow
- Remove admin mock data and skips from all components
- Remove admin bypass from API routes (personality, speak, user-consent)
- Clean up localStorage admin keys and mock user references
- Fix TypeScript errors in speak route from admin code removal

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Adding Guideline to Minecraft Deployment of Digital Clone + Cleaning Up Documentations
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) October 29, 2025 08:33 Inactive
ShoAdachi01 and others added 5 commits October 29, 2025 01:50
- Add MIT LICENSE file
- Create comprehensive .env.example with all required variables
- Add SECURITY.md with vulnerability reporting process
- Document security best practices for deployment
- Include authentication, authorization, and key management guidelines

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Replace hardcoded replik.tech URLs with environment variables
- Update OAuth redirects to use NEXT_PUBLIC_BASE_URL
- Modify Minecraft mod to use configurable API base URL
- Update documentation with generic domain examples
- Fix variable redeclaration in auth callback route

All production URLs now configurable via environment variables.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
CRITICAL FIX: The /api/speak endpoint previously accepted any userId
without verification, allowing anyone to impersonate any user.

Changes:
- Add dual authentication support:
  1. Supabase session (for web users)
  2. API key via X-API-Key header (for Minecraft mod)
- Verify authenticated user matches requested userId
- Return 401 Unauthorized if neither auth method succeeds
- Add MINECRAFT_API_KEY environment variable support

This prevents:
- User impersonation attacks
- Unauthorized API quota consumption
- Unwanted conversation generation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Changed copyright from individual name to 'Replik Team' to properly
credit all team members who contributed to the project.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Add OSS licensing and security documentation   & Security: Remove hardcoded production
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) October 29, 2025 09:06 Inactive
Adding Guideline to Minecraft Deployment of Digital Clone + Cleaning Up Documentations
Merge pull request #1 from flxnaf/main
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) October 29, 2025 09:25 Inactive
Merge pull request #18 from ShoAdachi01/main
Merge pull request #2 from flxnaf/main
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) October 29, 2025 09:27 Inactive
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) October 30, 2025 06:15 Inactive
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) October 30, 2025 06:29 Inactive
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) November 4, 2025 06:55 Inactive
@railway-app railway-app bot temporarily deployed to ghostjournal (enthusiastic-blessing / production) November 4, 2025 07:04 Inactive
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants