Commit graph

30 commits

Author SHA1 Message Date
Andros Fenollosa
75460aa567 fix: Handle Follow relationship constraints during redirect merge
When merging duplicate feeds with redirects, Follow relationships
can generate UNIQUE constraint errors if the relationship already
exists between the same profiles.

This fix:
- Iterates Follow relationships individually
- Checks for existing relationships before updating
- Deletes duplicates safely
- Adds comprehensive error handling

Similar approach to PollVote fix.

Resolves issue with feeds like haiverin.scot redirect.

Signed-off-by: Andros Fenollosa <hi@andros.dev>
2025-11-23 10:58:04 +01:00
Andros Fenollosa
b8c3d98b5d Fixed redirects 2025-11-23 10:53:31 +01:00
Andros Fenollosa
aa5f200fb5 Added boosts 2025-11-16 18:41:45 +01:00
Andros Fenollosa
2f6c7f302c New encoder 2025-11-13 18:20:22 +01:00
Andros Fenollosa
7128200dd8 Middleware cache had been added 2025-11-05 15:27:04 +01:00
Andros Fenollosa
551651afd9 Added etag and mod header 2025-11-05 15:03:20 +01:00
Andros Fenollosa
7e0cb6330b Added https://github.com/tanrax/org-social-relay/issues/3 2025-11-05 09:05:50 +01:00
Andros Fenollosa
48f1e32f00 Optional title was added 2025-11-04 15:16:53 +01:00
Andros Fenollosa
23d3e6dfe8 Fixed reaction 2025-11-01 14:42:43 +01:00
Andros Fenollosa
390561fffe Add automatic cleanup of stale feeds
This commit implements automatic cleanup of feeds that haven't been successfully fetched in 3 days.

Changes:
- Add last_successful_fetch field to Feed model to track when feeds are successfully fetched (HTTP 200)
- Update parse_org_social() and validate_org_social_feed() to record successful fetches
- Add new periodic task cleanup_stale_feeds() that runs every 3 days and deletes inactive feeds
- Add comprehensive test suite (9 tests, all passing)
- Migration safely handles existing feeds by setting initial last_successful_fetch to protect them

Safety features:
- Feeds with last_successful_fetch = NULL are never deleted (protects legacy feeds)
- Only feeds older than 3 days are deleted
- Extensive logging of cleanup operations
- Initial migration sets timestamp for all existing feeds to prevent accidental deletion

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-10-11 10:53:29 +02:00
Andros Fenollosa
1512437147 Updated name groups with spaces 2025-10-10 07:54:55 +02:00
Andros Fenollosa
11f7c9ad29 Format code with ruff 2025-10-09 19:21:33 +02:00
Andros Fenollosa
e3b6897a7a Implement group filtering by post field instead of membership
- Add group field to Post model
- Store group name directly in posts during feed scanning
- Filter group messages by post.group field
- Remove GroupMember dependency from views
- Update tests to use direct group field
- Simpler and more efficient approach

🤖 Generated with [Claude Code](https://claude.com/claude-code)
2025-10-09 19:13:22 +02:00
Andros Fenollosa
2ac35f6a0b Fixed headers 2025-10-02 10:25:47 +02:00
Andros Fenollosa
0da9a18ac9 Updated crons 2025-09-30 12:13:02 +02:00
Andros Fenollosa
1afb02eae7 Updated HATEOUS 2025-09-23 18:37:55 +02:00
Andros Fenollosa
77e9f9b4ad Added groups 2025-09-22 16:51:18 +02:00
Andros Fenollosa
5f6666b372 Fixed format 2025-09-22 14:52:46 +02:00
Andros Fenollosa
82d65fa346 Make Org Social feed parsing case-insensitive
- Updated parser to accept #+title:, #+nick:, #+description: (lowercase)
- Added re.IGNORECASE flag to all metadata parsing regex patterns
- Fixes validation issues with feeds using lowercase keywords
- Enables registration of feeds like codeberg.org that use lowercase format
2025-09-21 12:26:52 +02:00
Andros Fenollosa
9e434c2bc5 Fixed cache 2025-09-20 19:16:04 +02:00
Andros Fenollosa
4bf78d0648 Updated mentions 2025-09-20 10:18:17 +02:00
Andros Fenollosa
9616c5c581 Added mentions and tasks 2025-09-19 16:09:27 +02:00
Andros Fenollosa
4042e9d3a4 Fixed crontab 2025-09-17 08:56:10 +02:00
Andros Fenollosa
bf93fc5ece Minor fix 2025-09-17 08:50:54 +02:00
Andros Fenollosa
0c279c509c Added cache 2025-09-16 16:12:03 +02:00
Andros Fenollosa
b9e6a2a6a3 Fix minor bug 2025-09-16 15:41:57 +02:00
Andros Fenollosa
4c185ccd46 Added envExample 2025-09-16 15:39:12 +02:00
Andros Fenollosa
d3f5e38a54 Feeds endpoints 2025-09-16 15:28:21 +02:00
Andros Fenollosa
8f65ba63a0 Added first test 2025-09-12 15:53:32 +02:00
Andros Fenollosa
c62d64395e First commit 2025-09-12 11:29:00 +02:00