Commit graph

94 commits

Author SHA1 Message Date
Tim Zöller
37d0e3132b Follower UI 2025-12-04 08:09:44 +01:00
Tim Zöller
8545a3f43b Follower UI 2025-12-03 23:05:37 +01:00
Tim Zöller
301364b8a7 Moar federation 2025-12-03 22:54:54 +01:00
Tim Zöller
32a12f25dc Fixed Date + Time 2025-12-03 22:26:56 +01:00
Tim Zöller
c84697edc7 Moar federation 2025-12-03 22:16:20 +01:00
Tim Zöller
63ef2fa5c4 Moar federation 2025-12-03 22:08:23 +01:00
Tim Zöller
5cd803f19e Moar federation 2025-12-03 22:04:28 +01:00
Tim Zöller
655a43a34c Moar federation 2025-12-03 21:55:33 +01:00
Tim Zöller
6d42a4dc74 Moar federation 2025-12-03 21:48:07 +01:00
Tim Zöller
a0d6518cd3 Moar federation 2025-12-03 21:34:21 +01:00
Tim Zöller
f4edfeb4b7 Moar federation 2025-12-03 21:26:11 +01:00
Tim Zöller
09413bc7f3 Moar federation 2025-12-03 20:33:09 +01:00
Tim Zöller
889c5336bf Moar federation 2025-12-03 20:06:19 +01:00
Tim Zöller
fe1b5f8be0 Remove registration page and redirect home to timeline
Remove the registration UI page completely and use the public timeline as the default start page.

Changes:
- Delete auth/register.html template
- Remove /register route from AuthViewController
- Update HomeController to redirect / to /timeline
- Remove /register from public paths list in auth.js

Users will no longer see a registration option in the UI. Registration can only be done via direct API calls if enabled.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 17:41:41 +01:00
Tim Zöller
bc6741a749 Add global registration disable feature
Implement configurable registration control to allow administrators to disable new user signups.

Backend changes:
- Add fitpub.registration.enabled configuration property (defaults to true)
- Update AuthController to check registration status and return 403 Forbidden when disabled
- Create GET /api/auth/registration-status endpoint to expose registration status to frontend
- Add RegistrationStatusResponse DTO

Configuration changes:
- Add REGISTRATION_ENABLED environment variable to application.yml
- Add REGISTRATION_ENABLED to Dockerfile with default value of true
- Update .env.example with REGISTRATION_ENABLED documentation

Frontend changes:
- Update registration page to check status and hide form when disabled
- Add checkRegistrationStatus() to auth.js to dynamically hide registration links
- Display user-friendly message when registration is disabled

To disable registration, set environment variable: REGISTRATION_ENABLED=false

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 11:27:19 +01:00
Tim Zöller
0732774986 Moar federation 2025-12-03 08:05:17 +01:00
Tim Zöller
ef276128c6 Moar federation 2025-12-03 07:50:57 +01:00
Tim Zöller
a3ff96653a Moar federation 2025-12-03 07:23:53 +01:00
Tim Zöller
45e9030c1d Moar federation 2025-12-03 07:18:43 +01:00
Tim Zöller
4c9bcc718f Moar federation 2025-12-02 22:23:29 +01:00
Tim Zöller
d47daa6dfc Show public activities to everrybody 2025-12-02 22:01:27 +01:00
Tim Zöller
9c745cf07d Fix RFC 1123 date format - use zero-padded day
The issue was that Java's DateTimeFormatter.RFC_1123_DATE_TIME produces
dates like 'Tue, 2 Dec 2025' (without zero-padded day) but Mastodon
requires strict RFC 1123 format with zero-padded day: 'Tue, 02 Dec 2025'.

This was causing HTTP Signature validation failures (401 Unauthorized)
because the Date header in the signed string didn't match the actual header.

Changes:
- Fixed date format in HttpSignatureValidator to use custom pattern
- Pattern: 'EEE, dd MMM yyyy HH:mm:ss GMT' with Locale.US
- Added date format test to verify correct output
- Added debug endpoint for key validation
- Explicitly set Host header in FederationService

This should fix the 401 errors when federating with Mastodon.
2025-12-02 21:51:52 +01:00
Tim Zöller
cc8e309821 Fix HTTP Signature by explicitly setting Host header
- Added key pair validation debug endpoint
- Verified that public/private key pairs match correctly
- Fixed HTTP Signature issue by explicitly setting Host header
- Previously relied on RestTemplate to auto-set Host, which could differ from signed value
- Now explicitly set Host header to match the value used in signature calculation

This should fix the 401 Unauthorized errors when sending activities to Mastodon
2025-12-02 21:46:08 +01:00
Tim Zöller
42a585220f Fix federation some more 2025-12-01 11:14:58 +01:00
Tim Zöller
8fc741e3d6 Fix federation some more 2025-12-01 11:10:53 +01:00
Tim Zöller
6aa3cbb5f6 Fix federation 2025-12-01 11:04:51 +01:00
Tim Zöller
4a55242ccb Fix federation 2025-12-01 11:00:06 +01:00
Tim Zöller
4cb6b6a5a3 Fix commetns 2025-12-01 10:53:51 +01:00
Tim Zöller
71aa6ffffe Moar federation 2025-12-01 09:52:50 +01:00
Tim Zöller
7ba5697e4f More federation 2025-11-30 10:51:09 +01:00
Tim Zöller
c61cc2950c More federation 2025-11-30 10:44:34 +01:00
Tim Zöller
d42f9b5339 More fixes 2025-11-30 10:33:28 +01:00
Tim Zöller
96cf1fe5ad More fixes 2025-11-29 22:00:35 +01:00
Tim Zöller
3fa67c43d6 Fix follower handling 2025-11-29 21:49:21 +01:00
Tim Zöller
97dcd92657 Add likes and comments 2025-11-29 21:44:42 +01:00
Tim Zöller
3808df9dbf Show follower count on the profile page 2025-11-29 21:38:48 +01:00
Tim Zöller
864b1f138b Update Prod config 2025-11-29 21:05:48 +01:00
Tim Zöller
a62980dcd5 Fix following 2025-11-29 13:16:01 +01:00
Tim Zöller
8f797a51f1 Docker Fixes 2025-11-29 12:28:58 +01:00
Tim Zöller
ac53f04e0a MVP done 2025-11-29 09:56:55 +01:00
Tim Zöller
c1729a629d More vibin 2025-11-28 21:04:38 +01:00
Tim Zöller
1901daf5ce More ActivityPub 2025-11-28 09:00:07 +01:00
Tim Zöller
fe5bc54e92 Spring Boot Setup, Start of ActivitiPub 2025-11-27 23:31:03 +01:00
Tim Zöller
0bc4fb3118 Fit File Processing and Persistence 2025-11-27 22:59:45 +01:00