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
e0056789ac
fix: Remove unused weights variable in GetAlgorithmicFeed
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-17 14:15:54 -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
56a9dd032f
feat: Add enhanced video moderation with frame extraction and implement placeholder UI methods
...
- Add VideoProcessor service to PostHandler for frame-based video moderation
- Implement multi-frame extraction and Azure OpenAI Vision analysis for video content
- Enhance VideoStitchingService with filters, speed control, and text overlays
- Add image upload dialogs for group avatar and banner in GroupCreationModal
- Implement navigation placeholders for mentions, hashtags, and URLs in sojornRichText
2026-02-17 13:32:58 -06:00
Patrick Britton
21a1d1e8ef
feat: Add Groups system - database schema, seed data, and backend handlers
2026-02-17 10:59:34 -06:00
Patrick Britton
da93bc3579
feat: Follow system - database migration, backend handlers, FollowButton widget, API methods
2026-02-17 10:16:44 -06:00
Patrick Britton
9348765b68
fix: remove duplicate altcha_handler.go (methods already in admin/auth handlers)
2026-02-17 03:46:58 -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
95be179a38
security: remove development bypass tokens from production code
2026-02-17 00:52:29 -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
96c0348d3a
fix: use string literal for SHA-256 algorithm instead of undefined constant
2026-02-16 23:43:38 -06:00
Patrick Britton
a5f20439bf
fix: correct ALTCHA CreateChallenge API call to use ChallengeOptions struct
2026-02-16 23:42:20 -06:00
Patrick Britton
db0e3dfb59
feat: implement official ALTCHA library for proper challenge generation
...
- Install github.com/altcha-org/altcha-lib-go official library
- Replace custom implementation with official ALTCHA methods
- Use CreateChallenge for proper cryptographic challenges
- Use VerifySolution for proper token verification
- This should fix all ALTCHA verification issues
2026-02-16 23:40:43 -06:00
Patrick Britton
2149a1e001
fix: add development bypass for ALTCHA on admin login
...
- Allow login in development mode without ALTCHA verification
- Use BYPASS_DEV_MODE token in development
- Keep ALTCHA widget visible but not blocking in dev mode
- This allows testing while we fix the challenge implementation
2026-02-16 23:35:47 -06:00
Patrick Britton
11e8b30122
fix: resolve variable naming conflict in ALTCHA challenge handlers
2026-02-16 23:33:31 -06:00
Patrick Britton
7944380ada
fix: implement proper ALTCHA challenge with HMAC signatures
...
- Use proper cryptographic challenge generation
- Add HMAC-SHA256 signatures for challenge verification
- Replace test signatures with real cryptographic signatures
- This should fix the verification failures
2026-02-16 23:32:02 -06:00
Patrick Britton
b6909ffc67
feat: add simple ALTCHA challenge endpoints
...
- Add GetAltchaChallenge method to both auth and admin handlers
- Simple implementation returning test challenge data
- This should fix the route registration issue
2026-02-16 23:11:54 -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
cc312c7e9f
fix: add development bypass for Turnstile verification
...
- Add development bypass to Flutter sign_in_screen.dart
- Re-enable Turnstile in admin_handler.go with dev bypass
- Add development bypass to admin login page
- Resolves login issues during development/testing
2026-02-16 22:00:49 -06:00
Patrick Britton
c1463256d2
fix: disable turnstile for admin login and troubleshooting
2026-02-16 21:18:05 -06:00
Patrick Britton
1de9997476
feat(auth): Add password reset functionality (backend + app + web) & enhance Turnstile integration
2026-02-16 13:06:00 -06:00
Patrick Britton
aec14bc97d
Harden admin login Turnstile flow
2026-02-16 12:24:20 -06:00
Patrick Britton
e0fd5cea8c
Fix Turnstile verification encoding and admin login diagnostics
2026-02-16 12:22:02 -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
e3a3157f5a
Add image downloading and base64 conversion for OpenRouter vision models
2026-02-16 09:13:55 -06:00
Patrick Britton
afe34159b5
Add disingenuous political content detection - misleading framing, out-of-context quotes, manipulated imagery
2026-02-16 08:43:09 -06:00
Patrick Britton
db0ec65d60
Make political/medical misinformation detection mandatory for all images with step-by-step analysis
2026-02-16 08:40:48 -06:00
Patrick Britton
a347ac26a3
Enhance image moderation to detect misinformation in text within images
2026-02-16 08:34:34 -06:00
Patrick Britton
434937961c
security: sanitized baseline for public release
2026-02-15 00:33:24 -06:00