- How do I install hamzahassanm/laravel-social-auto-post in a Laravel app?
- Install it with Composer using composer require hamzahassanm/laravel-social-auto-post. Then publish any package configuration and add credentials for the platforms you plan to use. The package is designed for minimal configuration and integrates with Laravel's service container and queues. Check the README for exact publish and migration commands for your version.
- Which Laravel and PHP versions are supported by v2.6.0?
- The provided technical evaluation does not list exact Laravel and PHP version constraints for v2.6.0. You should confirm the composer.json requirements and dependency compatibility before upgrading. Treat v2.6.0 as a breaking release and validate it in a staging branch first.
- Which social media platforms can laravel-social-auto-post publish to?
- The package provides a unified API for automatic posting across eight major social platforms. The evaluation summary does not enumerate each platform, so check the README or package source for the current supported list. Platform-specific services consume shared validation and posting behavior.
- Can I schedule social posts and use Laravel queues with this package?
- Yes. The package is intended for scheduling and auto-sharing content across connected platforms, and it supports queueing posts. That makes it suitable for Laravel applications that already use queue workers and delayed jobs. You should still validate queue retry and failure handling for each platform in your environment.
- How do I configure API credentials for each social platform?
- Configuration is typically handled through the package config file and environment variables for each platform's API credentials. Publish the config, add the required keys, and confirm the package works with Laravel config caching. Because platform requirements vary, verify the exact credential names in the README for your installed version.
- How does the package fetch and upload remote media securely?
- SafeMediaFetcher introduces a security boundary for remote media retrieval, and downloadMediaToTempFile() is the preferred path for handling downloads. The package also provides validation helpers for text, URLs, and media input. In v2.6.0, SafeMediaFetcher::execute() is private, so use the public fetch wrapper rather than calling internals.
- What breaking changes are in laravel-social-auto-post v2.6.0?
- v2.6.0 removes downloadFile(), makes SafeMediaFetcher::execute() private, and removes the $fetchHandler testing backdoor. Applications and tests that reference those APIs must be updated before upgrading. Replace downloadFile() usage with downloadMediaToTempFile() and mock at the HTTP client boundary instead of the fetcher internals.
- How does retry and rate-limit handling work in this package?
- The v2.6.0 retry behavior fails fast on 4xx responses and retries 5xx or network errors with exponential backoff and jitter. That is generally desirable, but you should verify how RateLimitException and Retry-After are handled in your version. Review retry attempt limits, backoff, and timeout settings per platform before production rollout.
- Are retries safe from duplicate social posts or uploads?
- Retrying 5xx and network failures can raise idempotency concerns, especially for post creation and media uploads. The evaluation flags duplicate posts as a key risk to validate rather than guarantees built-in idempotency. Test retry scenarios per platform and add application-level safeguards where the platform API does not provide idempotency keys.
- How do I test social posting without calling real platform APIs?
- Mock at the HTTP or client boundary rather than the SafeMediaFetcher internals, because direct fetcher execution and the old $fetchHandler hook are no longer available. Use Laravel HTTP fakes and queue fakes, and cover retry cases such as 429, 408, 5xx, and timeouts. Also test SSRF edge cases and temp-file cleanup in a staging environment.