Troubleshooting
The panel never appears
- Check the browser. Safari is not supported yet, and Chrome and Edge need version 133 or newer.
- Make sure
<x-earmark>wraps your page content in the layout every page uses. - Look in the browser console for "Earmark could not find its stage". With
adopt, the selector must match an element on every page.
Links reload the whole page
Earmark only swaps pages it can navigate with wire:navigate. A link is left alone when it has a target or download attribute, is opened with a modifier key or middle click, points to another site or a fragment of the current page, already has wire:navigate, or sits inside an element with data-earmark-ignore.
A restored page looks unstyled
When saved views are restored after a full page reload, Earmark copies the page's stylesheets into the document. If a page adds styles with JavaScript after it loads, add them to the layout instead so every page has them.
A saved form came back empty
Live views keep everything while the page stays open. A full browser reload starts every saved view fresh, even a locked one, and snapshots always open fresh. Locking keeps a view live and stops Earmark replacing it, but it cannot survive a reload.
Too many saved pages feel heavy
Every live view is a whole running page. Lower live_limit, raise total_limit so older views become lightweight snapshots, or turn off snapshot previews.
Video goes quiet when parked
That is on purpose: parked views are muted, and their sound comes back when they return to the stage.
Content Security Policy
Earmark serves its script and styles from your own domain under /earmark. If your policy restricts scripts or styles, allow your own origin.
The pop-out button never appears
Pop out needs Chrome or Edge 116 or newer and a secure page. Serve your site over HTTPS (for Laravel Valet, run valet secure). The button also only appears on live views, not on frozen snapshots or the view already on stage.