PHPackages                             supportpal/pollcast - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. supportpal/pollcast

ActiveLibrary

supportpal/pollcast
===================

Laravel broadcasting driver suitable for restricted hosting environments.

v2.2.0(1mo ago)516.9k↓34.6%1[2 PRs](https://github.com/supportpal/pollcast/pulls)MITPHPPHP ^8.3CI passing

Since Jun 29Pushed 1mo ago2 watchersCompare

[ Source](https://github.com/supportpal/pollcast)[ Packagist](https://packagist.org/packages/supportpal/pollcast)[ RSS](/packages/supportpal-pollcast/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (24)Versions (24)Used By (0)

 [![](https://camo.githubusercontent.com/568702860ea73eac69fe2ea233579b2b0ecf0e4a48e1da777f22a21b1fcb353f/68747470733a2f2f7777772e737570706f727470616c2e636f6d2f6173736574732f696d672f6c6f676f5f626c75655f736d616c6c2e706e67)](https://www.supportpal.com)
 **Pollcast.** A Laravel broadcast driver using short polling.

 [![Build Status](https://github.com/supportpal/pollcast/actions/workflows/test.yml/badge.svg)](https://github.com/supportpal/pollcast/actions/workflows/test.yml) [![](https://camo.githubusercontent.com/3e2f33711c94ceef7dc1f595a699bb62ff1d2ece6aed85a5ad939ec874208187/68747470733a2f2f636f6465636f762e696f2f67682f737570706f727470616c2f706f6c6c636173742f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d5235365a355433534253)](https://codecov.io/gh/supportpal/pollcast) [![Total Downloads](https://camo.githubusercontent.com/960cd3163ae640dc5610be0e024a9f80b5ded6187672684835fca1fecffbeb55/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f737570706f727470616c2f706f6c6c63617374)](https://packagist.org/packages/supportpal/pollcast) [![Latest Stable Version](https://camo.githubusercontent.com/6fa2e0c35472edd08b2075580b9ed23395f80e97932b334d9d430f398da2e6fb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f737570706f727470616c2f706f6c6c63617374)](https://packagist.org/packages/supportpal/pollcast) [![License](https://camo.githubusercontent.com/cd4837285f3da92f771eb1f2bd89df62c540d7af3980fc771ee1deed3d7851d6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f737570706f727470616c2f706f6c6c63617374)](https://packagist.org/packages/supportpal/pollcast)

Pollcast
========

[](#pollcast)

"Pollcast" is short for XHR polling using Laravel Broadcasting.

Motivation
----------

[](#motivation)

Laravel supports several broadcast drivers, but all of these either require integration with a third party service such as Pusher, or installation of additional software. The motivation behind this package is to provide a broadcast driver which works in all environments without additional configuration and is compatible with Laravel Echo.

In most cases, where you have control over the environment, you'll want to use web sockets.

Installation
------------

[](#installation)

Require this package with composer:

```
composer require supportpal/pollcast

```

Add the ServiceProvider class to the `providers` array in `config/app.php`. In Laravel versions 5.5 and beyond, this step can be skipped if package auto-discovery is enabled.

```
\SupportPal\Pollcast\ServiceProvider::class,

```

Change the default broadcast driver to in your `.env` file:

```
BROADCAST_DRIVER=pollcast

```

Add the database tables:

```
php artisan migrate --path=vendor/supportpal/pollcast/database/migrations

```

Finally, publish the config file `config/pollcast.php` if required:

```
php artisan vendor:publish --provider="SupportPal\Pollcast\ServiceProvider"

```

Usage
-----

[](#usage)

Require the [pollcast-js](https://github.com/supportpal/pollcast-js/) package:

```
npm i --save pollcast-js laravel-echo

```

Create a fresh Laravel `Echo` instance and provide the `PollcastConnector`as the broadcaster:

```
import Echo from 'laravel-echo';
import PollcastConnector from 'pollcast-js'

window.Echo = new Echo({
  broadcaster: PollcastConnector,
  routes: {
    connect: "{{ route('supportpal.pollcast.connect') }}",
    receive: "{{ route('supportpal.pollcast.receive') }}",
    publish: "{{ route('supportpal.pollcast.publish') }}",
    subscribe: "{{ route('supportpal.pollcast.subscribe') }}",
    unsubscribe: "{{ route('supportpal.pollcast.unsubscribe') }}"
  },
    polling: {{ Config.get('pollcast.polling_interval', 5000) }}
});
```

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance89

Actively maintained with recent releases

Popularity31

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~95 days

Recently: every ~61 days

Total

19

Last Release

59d ago

Major Versions

v1.4.0 → v2.0.02025-07-18

PHP version history (4 changes)v1.0.0PHP &gt;=7.2.5

v1.1.0PHP ^8.0

v1.2.0PHP ^8.1

v1.4.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/809d7ed0e9aa913afb9147041cb2e94ff4571d0227569e2ba315d1550e3eefa7?d=identicon)[bytestream](/maintainers/bytestream)

![](https://www.gravatar.com/avatar/8c1cbc4e4ec78b6ff38476611f50e94cffd716946afd4ad44645b420531c6e75?d=identicon)[jshah4517](/maintainers/jshah4517)

---

Top Contributors

[![bytestream](https://avatars.githubusercontent.com/u/1788397?v=4)](https://github.com/bytestream "bytestream (73 commits)")[![jshah4517](https://avatars.githubusercontent.com/u/602425?v=4)](https://github.com/jshah4517 "jshah4517 (63 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (16 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (2 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

### Embed Badge

![Health badge](/badges/supportpal-pollcast/health.svg)

```
[![Health](https://phpackages.com/badges/supportpal-pollcast/health.svg)](https://phpackages.com/packages/supportpal-pollcast)
```

###  Alternatives

[laravel/passport

Laravel Passport provides OAuth2 server support to Laravel.

3.4k85.0M532](/packages/laravel-passport)[illuminate/routing

The Illuminate Routing package.

1238.6M2.3k](/packages/illuminate-routing)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)[api-platform/laravel

API Platform support for Laravel

59126.4k6](/packages/api-platform-laravel)[alajusticia/laravel-logins

Session management in Laravel apps, user notifications on new access, support for multiple separate remember tokens, IP geolocation, User-Agent parser

2011.0k](/packages/alajusticia-laravel-logins)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
