Skip to content
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

Finding corrupted signatures #164

Open
atkulp opened this issue Feb 25, 2019 · 3 comments
Open

Finding corrupted signatures #164

atkulp opened this issue Feb 25, 2019 · 3 comments

Comments

@atkulp
Copy link

atkulp commented Feb 25, 2019

We are getting signatures sometimes that are clearly not invalid. The vast majority of captured signatures come through fine, but a small percentage are just a 45° diagonal line from the upper-left:

image

The raw data is:

NaN_NaN_NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN_NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN_000000000000000000000000000_000000000000000000000000000_0_0_000000000000000000000000000_000000000000000000000000000_0_0_0_0

Decoded from base30 looks like:

int[7][][] { int[2][] { int[2] { 19, 19 }, int[2] { 319, 319 } }, int[32][] { int[2] { 19, 19 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 9589, 9589 }, int[2] { 319, 319 } }, int[27][] { int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }, int[2] { 0, 0 }...

We call getData/base30 on every change event and save it raw to the database when the user clicks the Submit button. We haven't even been able to reproduce it since it's so rare, but some sequence of events is causing it. Any ideas for what could cause this?

@atkulp
Copy link
Author

atkulp commented Feb 26, 2019

I've also found { -2147483648, -2147483648 } in invalid entries which is completely off-canvas. Any help would be appreciated!

@brinley
Copy link
Owner

brinley commented Feb 26, 2019

I've never see this error. Have you tried calling getData on submit as oppose to on change? Also have you been able to correlate the corrupted signatures with certain browsers/devices?

@atkulp
Copy link
Author

atkulp commented Feb 26, 2019

Our logs don't provide enough details to segment by browser/device. I'm sure that would be helpful! Possibly a touch vs mouse issue or something. Responding to the event is easier than explicitly referencing it on submit but we might need to try that. Are the x,y values relative to the canvas or some other reference? If I can simply filter out stroke coordinates that are outside of the canvas dimensions then it would be relatively easy to keep it valid.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants