-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Research History manipulation influence and Form data #15
Comments
Maybe a series of plugins or extensions to pill. Think of it like webpack plugins except you add them into your hooks. onMounting(){
PreserveFormPlugin()
} ??? I'd gladly help write plugins |
Pill should emulate browsers one-to-one and support this out of the box due to standard behavior is the most expected behavior. So it couldn't be a plugin.
Current hooks structure covers almost every step of Pill's work. If it's not so, then it should be fixed. And yes this is the way to enhance Pill. But as I written above it's the core feature.
Good question. I have only general idea of how to do it. Opened #17 issue for extensibility discussion. |
It would be super! |
There is an issue with the |
@rumkin My concern preserving form data is that it opens up security issues. The data is stored client-side, which really should be avoided. Perhaps the plugin should come with that warning. Maybe before we push plugins we research security issues with browser history manipulation. I'd be interested to check out how react-router handles this scenario. |
@tamb By the default entered form field value could be restored when user navigates by history. The only field type which shouldn't be stored is the password type. So I think it's ok to store some data into history state itself, while it reproduces the default behaviour. |
Currently data input in form fields will be lost when navigating through history. It could cause to data loss. Browsers are preserving it in some cases. Pill's implementation should be as close to default browser behavior as possible.
The text was updated successfully, but these errors were encountered: