Weave Code
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

Mousetracker Laravel Package

benmacha/mousetracker

Self-hosted mouse/click/scroll tracker for Symfony 5.4–7.x. Records mouse moves, clicks, scroll, keyboard, form-blur values, and DOM snapshots, storing sessions in your own DB for Mouseflow-style heatmaps and replay. No jQuery.

View on GitHub
Deep Wiki
Context7
v2.1.0

Adds static analysis, hardens docs, and clears dev-toolchain CVEs.

Added

  • PHPStan level 8 static analysis, wired into CI on PHP 8.3 / Symfony 7.4.
  • Security warning in README about gating /tracker/back/* behind a firewall and getting visitor consent before loading tracker.js.
  • Enriched Packagist keywords (heatmap, click-tracking, session-replay, gdpr, …).

Changed

  • Controllers cast Request::get() values to string before passing them to entity setters — fixes 10 mixed-type leaks PHPStan flagged at level 8.
  • JS dev tooling bumped: vitest ^2.1 → ^4.1, happy-dom ^15 → ^20.9 — clears all open Dependabot advisories on the dev toolchain. No impact on shipped code.

Full changelog: https://github.com/BenMacha/mouseTracker/blob/v2.1.0/CHANGELOG.md Compare: https://github.com/BenMacha/mouseTracker/compare/v2.0.1...v2.1.0

v2.0.0

Breaking rewrite. Targets Symfony 5.4 / 6.4 / 7.x and PHP 8.1+.

Removed

  • Symfony 2.8 support, symfony/symfony meta-package
  • Assetic and the MouseTrackerExtension hack that injected the bundle into assetic.bundles
  • Sensio Framework Extra Bundle ([@Method](https://github.com/Method), [@Route](https://github.com/Route) annotations)
  • patchwork/jsqueeze, leafo/scssphp
  • jQuery dependency in tracker.js — now plain vanilla JS

Changed

  • PHP 8.1+ required; declare(strict_types=1), attributes, readonly props throughout
  • Doctrine annotations → PHP 8 attributes; entities use datetime_immutable
  • Controllers extend AbstractController; routes use #[Route] with explicit methods:
  • Repositories extend ServiceEntityRepository and are auto-wired
  • services.ymlservices.yaml; service IDs use FQCN; mouse_tracker alias replaces twig_tracker
  • New Resources/config/routes.yaml — host apps import this instead of pointing at Controller/
  • Tracker::build() returns a string so Twig templates can pipe it through |raw
  • Page::clientIDPage::client (proper Doctrine convention; DB column name unchanged)
  • findDsitinct typo renamed to findDistinctUrls, optional domain filter
  • Tracker JS rewritten (~440 lines, no external deps), uses fetch and URLSearchParams

Added

  • Configuration class — proper config tree under mouse_tracker: root key
  • PHPUnit test suite (12 tests, 25 assertions) covering configuration, extension wiring, entities, and the tracker service
  • GitHub Actions CI matrix — PHP 8.1/8.2/8.3 × Symfony 5.4/6.4/7.x
  • CHANGELOG.md with reconstructed 1.x history, CLAUDE.md

Fixed

  • .gitattributes no longer excludes Resources/ from composer dist — previously a release tarball was unusable because the JS and templates were stripped
  • addData: cachedRecords no longer overwrites partial with the wrong column

Upgrading from 1.x

composer require benmacha/mousetracker:^2.0

See CHANGELOG.md for the full migration path and README.md for the new install / config snippets.

1.0.0
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.
besmartand-pro/php-quality-config
sentix/ai-chatbot
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity