Download the PHP package packstub/session-replay without Composer

On this page you can find all versions of the php package packstub/session-replay. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package session-replay

Session Replay for Laravel

[![Latest Version on Packagist](https://img.shields.io/packagist/v/packstub/session-replay.svg?style=flat-square)](https://packagist.org/packages/packstub/session-replay) [![Tests](https://img.shields.io/github/actions/workflow/status/packstub/session-replay/tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/packstub/session-replay/actions/workflows/tests.yml) [![Total Downloads](https://img.shields.io/packagist/dt/packstub/session-replay.svg?style=flat-square)](https://packagist.org/packages/packstub/session-replay) [![License](https://img.shields.io/packagist/l/packstub/session-replay.svg?style=flat-square)](https://github.com/packstub/session-replay/blob/main/LICENSE.md) [![Sponsor](https://img.shields.io/badge/sponsor-%E2%9D%A4-ea4aaa?style=flat-square&logo=githubsponsors&logoColor=white)](https://github.com/sponsors/icaliman)

Record what a person did in the browser, keep the recording on your own disk and database, and watch it inside your own app, behind a gate you define. Built on rrweb. Free and open source (MIT).

"The form did nothing when I clicked save" becomes a 40-second replay with the console error and the failed Livewire request marked on the timeline.

Beta. 1.0 is close and feedback is very welcome in the issues. Until 1.0, names and config may still change between betas; the changelog says how to upgrade.

Features

Quick start

Put the recorder in the layouts you want recorded:

Decide who may watch, in the app/Providers/SessionReplayServiceProvider.php the installer published:

Schedule the clean-up in routes/console.php:

Sign in, click around, then open /session-replay.

How it works

  1. Recorder. @sessionReplay renders a small config object and a deferred script. The script records the DOM and what happens to it with rrweb, one recording per browser tab, continued across page loads until the tab sits idle.
  2. Signed token. When the page renders, the server signs who is signed in, the workspace, an impersonator and your own properties with the app key. The recorder sends that token back with every upload, so the ingest endpoint needs no session, no cookie and no CSRF token.
  3. Ingest. Every few seconds the recorder uploads a gzip batch with a small index next to it (markers, counts, the stylesheets the batch references). The server stores the file and updates the index; it never parses the events.
  4. Storage. Chunks go to sessions/{id}/{seq}.json.gz on your disk, stylesheets to assets/ under the hash of their content, the index to replay_sessions, replay_chunks, replay_markers and replay_assets.
  5. Viewer. /session-replay lists recordings; the player loads the manifest, the chunks and the stylesheets through routes that check the viewSessionReplay gate for that recording on every request.

Privacy defaults

Default Setting
Every input masked, passwords always privacy.mask_all_inputs
Guests are not recorded guests
No IP address stored not configurable
Livewire component state (wire:snapshot) never enters a recording size.strip_attributes
Recordings deleted after 30 days retention.days
Nobody can watch outside local until the gate exists viewSessionReplay

See Privacy for masking, consent and wording for your privacy policy.

Documentation

Guide What it covers
Installation Requirements, the install command, the directive, the gate, the scheduler
Recording The directive and its options, who is recorded, sessions and sampling, markers, Livewire, CSP
Privacy What is recorded, masking and blocking, consent, retention, policy wording
Watching replays The gate, the built-in viewer, the player component, models and scopes
Storage Disk layout, tables, multi-tenant apps, sizes and limits, pruning
Error tracking The recording's id and URL in Laravel's Context
Configuration Every key in config/session-replay.php

In a Filament panel

packstub/filament-session-replay puts the sessions inside a Filament v5 panel: a filterable resource, the player with timeline tabs, a relation manager for your users, masking declared on the form field. It requires this package and records through it.

Alongside other tools

PostHog, Sentry, Microsoft Clarity and OpenReplay are great choices for product analytics, error monitoring and replay as a platform. This package is for replay inside your own app, next to your own models, on your own storage. They work well together.

Testing and development

Credits

License

MIT. See LICENSE.md.


All versions of session-replay with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
ext-zlib Version *
laravel/framework Version ^12.0|^13.0
spatie/laravel-package-tools Version ^1.93
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package packstub/session-replay contains the following files

Loading the files please wait ...