Find a file
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
_legacy/supabase Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
go-backend Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
html_landing Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
migrations_archive Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
nginx Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
sojorn_app Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
sojorn_docs Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
SVG Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
.firebaserc Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
.gitignore Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
ANDROID_FCM_TROUBLESHOOTING.md Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
api_logs.txt Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
applogo.png Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
Caddyfile Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
CHAT_DELETE_DEPLOYMENT.md Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
create_firebase_json.sh Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
deploy-beacon-function.bat Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
deploy_all_functions.bak.ps1 Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
deploy_all_functions.ps1 Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
FCM_DEPLOYMENT.md Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
FCM_SETUP_GUIDE.md Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
firebase.json Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
fix_fcm_and_restart.sh Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
getfeed_method_fix.go Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
import requests.py Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
leaf.png Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
localhost.txt Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
log.ini Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
logo.ai Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
logo.png Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
nginx_sojorn_v2.conf Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
post_repository_fixed.go Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
README.md Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
restart_backend.sh Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
run_dev.ps1 Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
run_web.ps1 Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
setup_fcm_server.sh Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
sojorn-api-http.conf Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
sojorn-api-v2.conf Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
sojorn-api.conf Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
temp_server.env Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
thread_route_patch.go Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
toplogo.png Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
verified.html Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
verify-error.html Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00
web.png Initial commit: Complete threaded conversation system with inline replies 2026-01-30 07:40:19 -06:00

Sojorn

Sojorn is a calm, consent-first social platform.

Architecture

This project has been migrated from a Supabase backend to a custom Go backend.

  • Client: sojorn_app/ (Flutter)
  • Backend: go-backend/ (Go/Gin + PostgreSQL)
  • Docs: sojorn_docs/
  • Legacy: _legacy/ (contains old Supabase functions and migrations)
  • Migrations: go-backend/internal/database/migrations (Active)

Getting Started

See go-backend/README.md for backend setup and sojorn_app/README.md for client setup.