PHPackages                             rtippin/messenger-ui - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. rtippin/messenger-ui

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

rtippin/messenger-ui
====================

Laravel messenger suite UI.

v2.7.2(2y ago)157.1k—5.3%151MITJavaScript

Since Jun 24Pushed 2y ago2 watchersCompare

[ Source](https://github.com/RTippin/messenger-ui)[ Packagist](https://packagist.org/packages/rtippin/messenger-ui)[ Docs](https://github.com/rtippin/messenger-ui)[ GitHub Sponsors](https://github.com/RTippin)[ RSS](/packages/rtippin-messenger-ui/feed)WikiDiscussions master Synced yesterday

READMEChangelog (10)Dependencies (1)Versions (38)Used By (1)

Messenger UI
============

[](#messenger-ui)

[![Latest Version on Packagist](https://camo.githubusercontent.com/110d08203796a0d18df2af48f5a060ad48e6b613cc1a76c08269a0a8a18b681b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7274697070696e2f6d657373656e6765722d75692e7376673f7374796c653d706c61737469632663616368655365636f6e64733d33363030)](https://packagist.org/packages/rtippin/messenger-ui)[![Total Downloads](https://camo.githubusercontent.com/b626f89a096eff9c716781cf6b1cf8d30d8225aa5468173186fbfbdeb5a1badf/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7274697070696e2f6d657373656e6765722d75692e7376673f7374796c653d706c61737469632663616368655365636f6e64733d33363030)](https://packagist.org/packages/rtippin/messenger-ui)[![StyleCI](https://camo.githubusercontent.com/be3fb0150c6d432b1dc8a470b06675834d75e4203e1e4aa80a43cc812b9efa30/68747470733a2f2f7374796c6563692e696f2f7265706f732f3337393734333230312f736869656c643f7374796c653d706c61737469632663616368655365636f6e64733d33363030)](https://styleci.io/repos/379743201)[![License](https://camo.githubusercontent.com/aff87c738d6e1f6e38d992a6070eb94b626d9f4dfa72eda2529f74b1bd740759/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f5254697070696e2f6d657373656e6765722d75693f7374796c653d706c6173746963)](https://packagist.org/packages/rtippin/messenger-ui)

---

[![Preview](https://raw.githubusercontent.com/RTippin/messenger/1.x/docs/images/image1.png?raw=true)](https://raw.githubusercontent.com/RTippin/messenger/1.x/docs/images/image1.png?raw=true)

---

Ready-made UI and web routes for use with [rtippin/messenger](https://github.com/RTippin/messenger)
---------------------------------------------------------------------------------------------------

[](#ready-made-ui-and-web-routes-for-use-with-rtippinmessenger)

### Notes

[](#notes)

- This package provides web routes and a published UI to consume `messenger's` API. No authentication routes/system will be setup for you.
- Our compiled `NotifyManager.js` uses laravel echo, with the `pusher-js` library.
- For websockets, this package supports [pusher.com](https://pusher.com/) directly, or the drop-in replacement [laravel-websockets](https://beyondco.de/docs/laravel-websockets/getting-started/introduction).
    - Instructions are located below for setting up the websocket implementation of your choosing.
- After publishing our `views`, you may wish to edit them to fit your needs.
- Future versions planned will be crafted in `react`.

---

Installation
============

[](#installation)

### Via Composer

[](#via-composer)

```
composer require rtippin/messenger-ui
```

### Publish Assets and Config

[](#publish-assets-and-config)

- This will publish our JS assets, images, views, and config.

```
php artisan messenger:ui:publish
```

- When using composer to update this package, we recommend republishing our JS/CSS assets:

```
php artisan vendor:publish --tag=messenger-ui.assets --force
```

---

Config
======

[](#config)

***Default:***

```
'site_name' => env('MESSENGER_SITE_NAME', 'Messenger'),

'websocket' => [
    'pusher' => env('MESSENGER_SOCKET_PUSHER', false),
    'host' => env('MESSENGER_SOCKET_HOST', 'localhost'),
    'auth_endpoint' => env('MESSENGER_SOCKET_AUTH_ENDPOINT', '/api/broadcasting/auth'),
    'key' => env('MESSENGER_SOCKET_KEY'),
    'port' => env('MESSENGER_SOCKET_PORT', 6001),
    'use_tsl' => env('MESSENGER_SOCKET_TLS', false),
    'cluster' => env('MESSENGER_SOCKET_CLUSTER'),
],

'routing' => [
    'domain' => null,
    'prefix' => 'messenger',
    'middleware' => ['web', 'auth', 'messenger.provider'],
    'invite_middleware' => ['web', 'messenger.provider'],
],
```

- `site_name` is used in our views to inject the name in the navbar.
- `websocket`:
    - When using the real `pusher.com`, you need to set `pusher` to `true`, add in your `cluster`, and your `key`.
    - When using `laravel-websockets`, you leave `pusher` to `false`, ignore `cluster`, and set your `host`, `port`, and `key`.
    - The `auth_endpoint` is for your laravel's backend to authorize access to our messenger channels. The default `messenger.php` config prefixes the channel routes with `api`, hence our default config above uses `/api/broadcasting/auth` when not set.
- `routing` you may choose your desired endpoint domain, prefix and middleware.
    - Invite join web route you can define separate middleware from the rest of the web routes, as you may want a guest allowed to view that page.
    - The default `messenger.provider` middleware is included with `messenger` and simply sets the active messenger provider by grabbing the authenticated user from `$request->user()`.

---

Using [Pusher](https://pusher.com/)
===================================

[](#using-pusher)

- After you have your pusher credentials ready, you should install the pusher SDK:

```
composer require pusher/pusher-php-server
```

- Once installed, set your `.env` variables:

***Default `broadcasting.php` config***

```
'pusher' => [
    'driver' => 'pusher',
    'key' => env('PUSHER_APP_KEY'),
    'secret' => env('PUSHER_APP_SECRET'),
    'app_id' => env('PUSHER_APP_ID'),
    'options' => [
        'cluster' => env('PUSHER_APP_CLUSTER'),
        'useTLS' => false,
    ],
],
```

***`.env` keys for both pusher and our UI***

```
BROADCAST_DRIVER=pusher
PUSHER_APP_ID=YourPusherId
PUSHER_APP_KEY=YourPusherKey
PUSHER_APP_SECRET=YourPusherSecret
PUSHER_APP_CLUSTER=YourPusherCluster
MESSENGER_SOCKET_PUSHER=true
MESSENGER_SOCKET_KEY="${PUSHER_APP_KEY}"
MESSENGER_SOCKET_CLUSTER="${PUSHER_APP_CLUSTER}"
```

- You are all set! Our UI will connect to your pusher account. Be sure to enable `client events` within your pusher account if you want our client to client events enabled.

---

Using [laravel-websockets](https://beyondco.de/docs/laravel-websockets/getting-started/introduction)
====================================================================================================

[](#using-laravel-websockets)

- First, you need to have installed the websocket package (This package has been tested using laravel-websockets v1.12).
- Ideally, you should follow the official [Installation Documentation](https://beyondco.de/docs/laravel-websockets/getting-started/installation) from `beyondcode` if you are doing a fresh installation.

```
composer require beyondcode/laravel-websockets "^1.12"
```

- Once you have installed and configured the websocket package, set your `.env` variables and update the default pusher config:

***Updated `broadcasting.php` config per `beyondcode's` documentation***

```
'pusher' => [
    'driver' => 'pusher',
    'key' => env('PUSHER_APP_KEY'),
    'secret' => env('PUSHER_APP_SECRET'),
    'app_id' => env('PUSHER_APP_ID'),
    'options' => [
        'cluster' => env('PUSHER_APP_CLUSTER'),
        'encrypted' => true,
        'host' => 'localhost',
        'port' => 6001,
        'scheme' => 'http'
    ],
],
```

***`.env` keys for both `laravel-websockets` and our UI***

```
BROADCAST_DRIVER=pusher
PUSHER_APP_ID=MakeYourID
PUSHER_APP_KEY=MakeYourKey
PUSHER_APP_SECRET=MakeYourSecret
MESSENGER_SOCKET_HOST=localhost
MESSENGER_SOCKET_KEY="${PUSHER_APP_KEY}"
```

- You are all set! Our UI will connect to your server running `php artisan websockets:serve`. Be sure to enable `client events` in your `laravel-websockets` config if you want our client to client events enabled.

###  Health Score

37

—

LowBetter than 81% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity34

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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 ~21 days

Recently: every ~69 days

Total

36

Last Release

1093d ago

Major Versions

v0.3-alpha.4 → v1.0.02021-08-14

v1.1.0 → v2.0.02021-09-05

### Community

Maintainers

![](https://www.gravatar.com/avatar/2d1480b73292a19b0666167057cfe9f0966c5f1f41f18d55152d46949035d025?d=identicon)[rtippin](/maintainers/rtippin)

---

Top Contributors

[![RTippin](https://avatars.githubusercontent.com/u/3917769?v=4)](https://github.com/RTippin "RTippin (105 commits)")

---

Tags

laravelMessenger

### Embed Badge

![Health badge](/badges/rtippin-messenger-ui/health.svg)

```
[![Health](https://phpackages.com/badges/rtippin-messenger-ui/health.svg)](https://phpackages.com/packages/rtippin-messenger-ui)
```

###  Alternatives

[cmgmyr/messenger

Simple user messaging tool for Laravel

2.6k2.5M6](/packages/cmgmyr-messenger)[lexxyungcarter/chatmessenger

Simple one-to-one/group chat messaging tool for Laravel 5, 6, 7, 8, 9 &amp; 10 with Pusher Integration

10725.7k](/packages/lexxyungcarter-chatmessenger)[multicaret/laravel-inbox

Laravel messages and inbox system

301.0k](/packages/multicaret-laravel-inbox)

PHPackages © 2026

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