Integrate feeds.maltehuebner.dev for social network management#1350
Open
maltehuebner wants to merge 8 commits intomainfrom
Open
Integrate feeds.maltehuebner.dev for social network management#1350maltehuebner wants to merge 8 commits intomainfrom
maltehuebner wants to merge 8 commits intomainfrom
Conversation
Introduce FeedsApiClient with HTTP client for the external Feeds API, FeedsNetworkManager that replaces the local NetworkManager by loading networks from the API with caching, FeedItemProvider for cached feed item retrieval, and DTOs for Network, Profile, and FeedItem. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add feeds_profile_id column to social_network_profile for linking local profiles to the external Feeds API. Drop the social_network_feed_item table as feed items are now served by the Feeds API. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When a profile is created (web form or API), it is also registered in the external Feeds API and the returned ID is stored as feedsProfileId. When a profile is disabled, the corresponding Feeds API profile is deleted. Errors are logged but do not block the local operation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace local database queries for feed items with calls to the external Feeds API via FeedItemProvider (5 min cache). Update SocialNetworkItemListController, timeline collector, timeline item, and templates to work with FeedItem DTOs instead of Doctrine entities. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Delete all 25 local network implementation classes as networks are now loaded from the Feeds API. Remove SocialNetworkFeedItem entity, repository, and API controller. Remove SocialNetworkPass compiler pass and its registration in the Kernel. Clean up NetworkManagerInterface by removing addNetwork() method. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New command criticalmass:social-network:migrate-to-feeds registers all enabled local profiles in the Feeds API and stores the returned ID. Supports --dry-run for preview. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove old network class tests and SocialNetworkFeedItem API tests. Rewrite AbstractNetworkDetectorTestCase to use Network DTOs with patterns from the Feeds API. Regenerate PHPStan baseline. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add comprehensive tests for all new classes: - NetworkTest: NetworkInterface compliance, URL pattern matching, priority - FeedItemTest: DTO creation, date parsing, nullable fields - ProfileTest: DTO creation, network data, fetch failure handling - FeedsApiClientTest: HTTP requests, auth headers, error handling - FeedsNetworkManagerTest: caching, network lookup, interface compliance - FeedItemProviderTest: city feed items, timeline items, caching, sorting - SocialNetworkFeedItemCollectorTest: timeline collector integration Fix regex delimiter issue in Network::accepts() — convert API patterns from # delimiter to ~ delimiter to avoid # inside character classes being misinterpreted. Update detector tests for stricter API patterns. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
FeedsApiClient) kommuniziert mitfeeds.maltehuebner.devfür Profil- und Feed-Item-VerwaltungSocialNetworkFeedItemEntity, Repository, API-Controller, 25 Network-Klassen,SocialNetworkPassCompiler Pass entferntcriticalmass:social-network:migrate-to-feedsregistriert bestehende Profile in der Feeds-APIDeployment
FEEDS_API_URL,FEEDS_API_TOKENbin/console doctrine:migrations:migratebin/console criticalmass:social-network:migrate-to-feedsTest plan
vendor/bin/phpstan analysemuss fehlerfrei durchlaufenfeedsProfileIdgespeichert wird--dry-runtesten🤖 Generated with Claude Code