sojorn/fix_fcm_and_restart.sh
Patrick Britton 3c4680bdd7 Initial commit: Complete threaded conversation system with inline replies
**Major Features Added:**
- **Inline Reply System**: Replace compose screen with inline reply boxes
- **Thread Navigation**: Parent/child navigation with jump functionality
- **Chain Flow UI**: Reply counts, expand/collapse animations, visual hierarchy
- **Enhanced Animations**: Smooth transitions, hover effects, micro-interactions

 **Frontend Changes:**
- **ThreadedCommentWidget**: Complete rewrite with animations and navigation
- **ThreadNode Model**: Added parent references and descendant counting
- **ThreadedConversationScreen**: Integrated navigation handlers
- **PostDetailScreen**: Replaced with threaded conversation view
- **ComposeScreen**: Added reply indicators and context
- **PostActions**: Fixed visibility checks for chain buttons

 **Backend Changes:**
- **API Route**: Added /posts/:id/thread endpoint
- **Post Repository**: Include allow_chain and visibility fields in feed
- **Thread Handler**: Support for fetching post chains

 **UI/UX Improvements:**
- **Reply Context**: Clear indication when replying to specific posts
- **Character Counting**: 500 character limit with live counter
- **Visual Hierarchy**: Depth-based indentation and styling
- **Smooth Animations**: SizeTransition, FadeTransition, hover states
- **Chain Navigation**: Parent/child buttons with visual feedback

 **Technical Enhancements:**
- **Animation Controllers**: Proper lifecycle management
- **State Management**: Clean separation of concerns
- **Navigation Callbacks**: Reusable navigation system
- **Error Handling**: Graceful fallbacks and user feedback

This creates a Reddit-style threaded conversation experience with smooth
animations, inline replies, and intuitive navigation between posts in a chain.
2026-01-30 07:40:19 -06:00

46 lines
1.4 KiB
Bash

#!/bin/bash
# Fix FCM configuration and restart backend
# Run with: bash fix_fcm_and_restart.sh
echo "=== Fixing FCM Configuration ==="
# Kill old backend process
echo "Killing old backend process on port 8080..."
sudo kill -9 $(sudo lsof -ti:8080) 2>/dev/null || echo "No process to kill"
# Verify Firebase JSON exists
if [ -f "/opt/sojorn/firebase-service-account.json" ]; then
echo "✓ Firebase service account JSON exists"
ls -lh /opt/sojorn/firebase-service-account.json
else
echo "✗ Firebase service account JSON not found!"
exit 1
fi
# Add FIREBASE_CREDENTIALS_FILE to .env if not present
if ! grep -q "FIREBASE_CREDENTIALS_FILE" /opt/sojorn/.env; then
echo "Adding FIREBASE_CREDENTIALS_FILE to .env..."
echo "" | sudo tee -a /opt/sojorn/.env > /dev/null
echo "FIREBASE_CREDENTIALS_FILE=/opt/sojorn/firebase-service-account.json" | sudo tee -a /opt/sojorn/.env > /dev/null
echo "✓ Added FIREBASE_CREDENTIALS_FILE"
else
echo "✓ FIREBASE_CREDENTIALS_FILE already in .env"
fi
# Restart backend
echo ""
echo "=== Restarting Backend ==="
sudo systemctl restart sojorn-api
sleep 3
# Check status
sudo systemctl status sojorn-api --no-pager | head -20
echo ""
echo "=== Checking FCM Initialization ==="
sudo journalctl -u sojorn-api --since "30 seconds ago" | grep -i "push\|fcm\|firebase" || echo "No FCM logs yet"
echo ""
echo "=== Done! ==="
echo "If you see 'Server started on port 8080' with no errors, FCM is working!"