Commit graph

19 commits

Author SHA1 Message Date
Patrick Britton 1da62185f9 feat: Feed cooling, group key rotation, admin groups/quip repair, bulk block, health endpoints
- video_processor: upload extracted frames to R2, return signed URLs
- feed_algorithm: cooling period (0.2x multiplier) + 60/20/20 diversity injection + record impressions
- groups_handler: group feed, E2EE key-status/distribute/public-keys, invite/remove member, settings
- admin_handler: groups CRUD, quip repair (FFmpeg to R2), feed scores viewer
- user_handler: BulkBlockUsers POST /users/me/blocks/bulk
- main.go: wire health check (/health/detailed /ready /live) + all new routes
- monitoring: fix pre-existing zerolog import + uint64 type errors
- migration: user_feed_impressions, group_member_keys, groups key columns

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-17 15:04:14 -06:00
Patrick Britton c3329a0893 feat: Implement repost/boost API, profile layout persistence, feed algorithm wiring, and legacy cleanup
Backend:
- Add repost_handler.go with full CRUD (create, boost, delete, report, trending, amplification analytics)
- Add profile_layout_handler.go for profile widget layout persistence (GET/PUT)
- Wire FeedAlgorithmService into main.go as 15-min background score refresh job
- Fix follow_handler.go (broken interface, dead query pattern, naming conflict)
- Add DB migration for reposts, repost_reports, profile_layouts, post_feed_scores tables
- Add engagement count columns to posts table for feed algorithm
- Remove stale Supabase comments from auth middleware
- Delete cmd/supabase-migrate/ directory (legacy migration tool)

Flutter:
- Fix all repost_service.dart API paths (were doubling /api/ prefix against base URL)
- Rename forceResetBrokenKeys() -> resetIdentityKeys() in E2EE services
- Remove dead _forceResetBrokenKeys method from secure_chat_screen.dart
- Implement _navigateToProfile(), _navigateToHashtag(), _navigateToUrl() in sojorn_rich_text.dart

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-17 14:04:24 -06:00
Patrick Britton abfbeb2119 feat: Register Groups system routes in backend main.go 2026-02-17 11:00:44 -06:00
Patrick Britton 961aa02eac feat: Register follow system routes in backend main.go 2026-02-17 10:26:25 -06:00
Patrick Britton c255386db5 feat: Phase 1.1 - Groups page overhaul with discovery, category filtering, and join flow 2026-02-17 03:29:20 -06:00
Patrick Britton 2bfb8eecea feat: replace Turnstile with ALTCHA across Flutter app, Go backend, and website 2026-02-17 03:18:50 -06:00
Patrick Britton da5984d67c refactor: rename Go module from github.com/patbritton to gitlab.com/patrickbritton3
- Rename module path from github.com/patbritton/sojorn-backend to gitlab.com/patrickbritton3/sojorn/go-backend
- Updated 78 references across 41 files
- Matches new GitLab repository structure
2026-02-16 23:58:39 -06:00
Patrick Britton ace3b33344 fix: remove duplicate ALTCHA route registrations
- Remove duplicate routes from auth and v1 groups
- Keep only the main router registrations
- This fixes the panic on startup
2026-02-16 23:23:35 -06:00
Patrick Britton df36fc739f fix: add ALTCHA routes directly to main router
- Move ALTCHA routes to main router for testing
- This should bypass any v1 group registration issues
- Simple test endpoint added as well
2026-02-16 23:17:04 -06:00
Patrick Britton fcdecacb01 fix: move ALTCHA routes to correct location
- Move auth ALTCHA challenge inside auth group
- Move admin ALTCHA challenge to v1 group
- Move test endpoint to v1 group
- This should fix the route registration issue
2026-02-16 23:07:18 -06:00
Patrick Britton 68bfb1d220 fix: remove duplicate ALTCHA routes causing conflicts
- Remove duplicate ALTCHA routes outside v1 group
- Keep only the routes inside the v1 group where they belong
- This should resolve the route registration issue
2026-02-16 23:00:11 -06:00
Patrick Britton 797661ab9b fix: move ALTCHA endpoints to correct v1 group location
- Move test and ALTCHA endpoints inside the v1 group where they belong
- Fix route registration issue by placing routes in correct scope
- Both auth and admin ALTCHA challenge endpoints should now work
2026-02-16 22:49:42 -06:00
Patrick Britton 050fb89bfe fix: add test endpoint and fix ALTCHA route registration
- Add simple test endpoint to verify routing works
- Register both auth and admin ALTCHA challenge endpoints
- Use consistent routing pattern for both endpoints
2026-02-16 22:47:06 -06:00
Patrick Britton e1f32cec13 fix: move ALTCHA challenge endpoint outside rate limiting middleware
- Separate ALTCHA challenge from rate-limited auth group
- Register ALTCHA challenge directly on v1 router
- This should resolve the route registration issue
2026-02-16 22:44:17 -06:00
Patrick Britton 45a7655f88 fix: move ALTCHA challenge endpoints to correct router groups
- Move auth ALTCHA challenge to /api/v1/auth group
- Move admin ALTCHA challenge to root router before admin login
- Fix route registration issue where endpoints were not accessible
2026-02-16 22:40:26 -06:00
Patrick Britton a3fcfe67ab feat: replace Turnstile with ALTCHA for all authentication
- Add ALTCHA service with challenge generation and verification
- Update auth and admin handlers to use ALTCHA tokens
- Replace Turnstile widget with ALTCHA widget in Flutter app
- Update admin frontend to use ALTCHA token
- Add ALTCHA challenge endpoints for both auth and admin
- Maintain development bypass for testing
- Remove Turnstile dependencies from authentication flow
2026-02-16 22:18:29 -06:00
Patrick Britton e5640ac98c Add image upload functionality to AI moderation testing 2026-02-16 10:13:27 -06:00
Patrick Britton 4fcab45b83 Add Azure OpenAI integration - new service, admin UI, and backend support 2026-02-16 09:25:42 -06:00
Patrick Britton 434937961c security: sanitized baseline for public release 2026-02-15 00:33:24 -06:00