Commit graph

54 commits

Author SHA1 Message Date
Patrick Britton 602a139349 fix: update auth screens to use ALTCHA instead of Turnstile 2026-02-17 01:53:09 -06:00
Patrick Britton 95be179a38 security: remove development bypass tokens from production code 2026-02-17 00:52:29 -06:00
Patrick Britton 83317e8e0f legal: update Terms of Service and Privacy Policy for AGPL-3.0
- Add Section 13 (Open Source Licensing) to Terms of Service
- Add Section 13 (Open Source Transparency) to Privacy Policy
- Link to GitLab repo and AGPL-3.0 license text
- Sync all website versions: .md, .astro, .html, html_landing
- Update last updated dates to February 17, 2026
- Fix entity name from 'Sojorn Inc.' to 'MPLS LLC' in HTML terms
- Expand HTML pages to match full canonical .md content
2026-02-17 00:17:16 -06:00
Patrick Britton 2f21c3d9a6 license: switch from BSL 1.1 to AGPL-3.0
- Replace LICENSE file with GNU Affero General Public License v3.0
- Update PRIVACY.md to reference new license
- Add *.ps1 to .gitignore
2026-02-17 00:12:56 -06:00
Patrick Britton 09c436e877 chore: add PowerShell scripts to gitignore
- Add *.ps1 pattern to exclude PowerShell scripts from tracking
2026-02-17 00:10:09 -06:00
Patrick Britton 82290df800 chore: remove gitignored files from tracking
- Remove logo.ai, .vscode/launch.json, google-services.json, AndroidManifest.xml from index
- Files remain on disk but are no longer tracked
2026-02-17 00:00:20 -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 913fbdb8f7 fix: rewrite ALTCHA component for reliable event binding
- Use refs for callbacks to avoid stale closures
- Create widget via innerHTML and bind events immediately
- Remove dev bypass - use real ALTCHA token
- Add console logging for debugging
2026-02-16 23:51:46 -06:00
Patrick Britton 9f1dd857c4 fix: upgrade ALTCHA widget to v2.3.0 and rewrite component
- Upgrade from v0.5.0 to v2.3.0 (latest)
- Use dangerouslySetInnerHTML for proper web component rendering
- Add MutationObserver for reliable event binding
- Enable debug mode on widget to diagnose issues
- Simplify component API with onVerified/onError callbacks
2026-02-16 23:47:02 -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 9f33cc1e8a fix: add TypeScript declaration for altcha-widget custom element 2026-02-16 23:29:19 -06:00
Patrick Britton d190afbd19 feat: add ALTCHA widget to admin login page
- Create Altcha component for admin frontend
- Add ALTCHA verification to login flow
- Disable login button until ALTCHA is verified
- Use admin ALTCHA challenge endpoint
2026-02-16 23:27:25 -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 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 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 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 c6b2d98454 fix/admin: remove turnstile UI from login page 2026-02-16 21:38:57 -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 ec7c9cf862 Switch Turnstile to managed widget on admin login 2026-02-16 12:30:45 -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 416fbc6fc1 Fix Turnstile login using immediate credential refs 2026-02-16 12:11:32 -06:00
Patrick Britton 2d3d181e45 Fix invisible Turnstile login submit flow 2026-02-16 12:02:20 -06:00
Patrick Britton 10b0d45c3d Configure Turnstile with invisible mode and preclearance 2026-02-16 11:35:07 -06:00
Patrick Britton b04d10853b Fix upload by using API client with proper authentication 2026-02-16 10:26:13 -06:00
Patrick Britton 2622d0fb79 Fix upload authentication - add authorization header 2026-02-16 10:20:06 -06:00
Patrick Britton 619c629b6b Fix TypeScript error with proper typing 2026-02-16 10:15:32 -06:00
Patrick Britton 1facff9d2a Fix TypeScript error in image upload test 2026-02-16 10:14:36 -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 ae90efbfa0 Fix admin page model selection - connect dropdowns to actually save configuration 2026-02-16 09:18:53 -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 eb0c61f5fc Add AI moderation instructions field for custom guidelines 2026-02-16 08:25:19 -06:00
Patrick Britton 8e0a054a84 Redesign AI Moderation page - clean dropdowns, single engine selector, terminal-style test output 2026-02-16 07:58:32 -06:00