Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Pusher Chatkit Laravel Laravel Package

shalvah/pusher-chatkit-laravel

Laravel integration for Pusher Chatkit: a service provider and facade for the Chatkit server SDK, plus a ready-made authentication endpoint that issues Chatkit tokens for your users, so you can wire up real-time chat without writing the boilerplate yourself.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. This package is a thin Laravel service-provider wrapper around the standalone Chatkit PHP SDK. It contributes a service provider, a facade, and a config file with credentials for Chatkit (instance ID, key, secret). Architecturally it is a very shallow dependency: it binds a client into the container and exposes it via a facade. There is no domain modelling, no persistence, no queue integration, and no events — so it does not shape application architecture, it only reduces boilerplate for resolving a Chatkit client. The real architectural weight sits in Chatkit itself, which is a hosted third-party chat service. That means adopting this package is not really a code decision, it is a vendor decision.

Integration feasibility. Mechanically trivial to install (Composer, auto-discovery on Laravel 5.5+) and trivial to call. The blocker is not technical difficulty, it is that Chatkit is being shut down and the upstream repository is archived with a last release in March 2020. There is no migration target inside this package, no abstraction layer over the SDK, and no adapter seam that would let you swap providers. Any integration work done here is throwaway work with a known expiry date. Feasibility should be assessed as "do not integrate" unless this is a historical-reference or archaeology exercise.

Technical risk. Effectively total. Three independent failure modes stack: (1) the vendor service is discontinued, so API calls will fail regardless of code quality; (2) the package is archived and unmaintained, so it will not track Laravel or PHP version changes — PHP 8.x, Laravel 9/10/11 compatibility is unverified and the typed-property and container changes in modern Laravel make breakage likely; (3) dependencies on the abandoned Chatkit SDK will accumulate security and compatibility debt. The 22-star count and 0.13 score are consistent with a package that had a narrow audience and no successor. There is no reasonable scenario where the vendor-shutdown risk is mitigable at the application layer.

Key questions. What is the actual requirement — real-time chat, presence, or message persistence? Which maintained providers are already approved in our vendor stack (Pusher Channels plus a chat layer, Stream, Sendbird, Ably, or a self-hosted Matrix/XMPP option)? Is there existing code or data in Chatkit that needs extraction before shutdown? If the goal is to learn from the wrapper pattern, can we read it as reference and build against a live SDK instead? Is anyone in the organisation still holding Chatkit credentials or paying for the service?

Integration Approach

Stack fit. Superficially good for a Laravel shop: service provider plus facade is the idiomatic Laravel packaging pattern, config publishing matches Laravel conventions, and the ergonomics of Chatkit:: calls are what a Laravel developer expects. But stack fit is about the surrounding ecosystem, and the surrounding ecosystem here is a dead vendor. A Laravel-native package wrapping a discontinued SaaS is not a fit, it is a trap.

Migration path. There is no migration path into this package that makes sense. The only useful migration planning is out of Chatkit. Recommended path: inventory any Chatkit usage and stored user/room/message identifiers; choose a replacement provider; build a small internal interface (a ChatService contract with methods for user creation, room management, message send/history, and auth token issuance); implement that interface against the new provider; keep the façade-style resolution pattern from this package because it is a good pattern. If data is being retired, plan export of message history and user mapping before the vendor turns off the endpoints.

Compatibility. Unverified and likely degraded. The package targets Laravel 5.x/6.x era conventions and a 2020-era SDK. Expect issues with PHP 8 union types and stricter type handling, Laravel's newer service provider registration and config caching behaviour, and Guzzle major-version conflicts with the rest of a modern dependency tree. Do not assume composer require succeeds cleanly on a current Laravel application; assume it will need constraint surgery that is not worth doing.

Sequencing. If pursued at all, sequence as: (1) confirm business requirement and replacement vendor; (2) define the internal chat abstraction contract; (3) implement against the chosen provider; (4) only then, if there is a specific reason, reference this package's provider/facade/config structure as a packaging template. Do not schedule installation of this package as a step at all. If someone insists on a spike, timebox it to reading the source, not running it.

Operational Impact

Maintenance. Zero upstream maintenance. Archived repository, no issue triage, no security patches, no Laravel version support. Every hour spent maintaining an integration here is unrecoverable, because the dependency's useful life is already over. Internal maintenance burden would actually be low in code volume but the cost is the forced emergency migration when the vendor endpoints stop responding.

Support. No vendor support, no community support of consequence, and a 22-star package has a very thin knowledge base. Any production incident routes to your own team with no escalation path, which is the worst support posture for a real-time feature. On-call engineers would be debugging a black box against a service that may be intentionally returning errors.

Scaling. Not meaningfully assessable. Chatkit handled scaling as a hosted service, so the wrapper imposes no scaling constraints itself — but since the service is going away, scaling characteristics are irrelevant. The package adds no local bottlenecks, which is the only mildly positive note.

Failure modes. Vendor shutdown producing hard API failures or connection refusals; silent auth failures as credentials are revoked; dependency resolution failures blocking unrelated upgrades; security exposure from an unpatched transitive SDK; and developer confusion where the facade appears healthy at boot but fails at call time. The shutdown notice means these are not hypothetical tail risks, they are scheduled events.

Ramp-up. Near zero learning curve technically — a Laravel developer reads the provider and facade in ten minutes. The real ramp-up cost is organisational: explaining to stakeholders why a plausible-looking package must be rejected, and re-planning the feature around a live provider. Budget the effort for vendor selection and the abstraction layer instead, and treat this repository strictly as a readable example of Laravel wrapper conventions.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera
lonely-lights/prosetta
oxygen/data
oxygen/core
jengo/base
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log