Fast updates of data within a remembered form created with useFrom('key, ...) are causing a Unhandled Promise Rejection: SecurityError: Attempt to use history.replaceState() more than 100 times per 10 seconds error.
Such quick updates can be made, for example, when using RangeSlider as user input.
This can of course be prevented by a rate limit before changing the form value, but I think limiting the history.replaceState() calls to avoid browser errors should be a be handled by inertia?
Seems to be limited to Safari, tested with Version 17.2.1 on macOS 14.2.1.
Steps to reproduce:
use Safari
create a form with const form = useFrom('remember_key', { fast_changing: 0 })
change a value in the form more than 100 times per 10 seconds, like:
setInterval(() => {
form.fast_changing = (new Date()).getMilliseconds()
}, 5)
check console for Unhandled Promise Rejection: SecurityError: Attempt to use history.replaceState() more than 100 times per 10 seconds
Version:
@inertiajs/vue3
version: 1.0.11Describe the problem:
Fast updates of data within a remembered form created with
useFrom('key, ...)
are causing aUnhandled Promise Rejection: SecurityError: Attempt to use history.replaceState() more than 100 times per 10 seconds
error.Such quick updates can be made, for example, when using RangeSlider as user input. This can of course be prevented by a rate limit before changing the form value, but I think limiting the history.replaceState() calls to avoid browser errors should be a be handled by inertia?
Seems to be limited to Safari, tested with Version 17.2.1 on macOS 14.2.1.
Steps to reproduce:
const form = useFrom('remember_key', { fast_changing: 0 })
Unhandled Promise Rejection: SecurityError: Attempt to use history.replaceState() more than 100 times per 10 seconds