breautek commented on issue #667:
URL: 
https://github.com/apache/cordova-plugin-file/issues/667#issuecomment-5510894673

   Thank you for bringing this to our attention.
   
   Updating the types here is part of an abstract signature, so it probably 
will have to be treated as a breaking change. It seems like the call chain 
eventually leads to a method that already uses a `long`, it's just the cordova 
bridge APIs that need to be updated.
   
   Do note that the entire long range is not available because the javascript's 
`Number.MAX_SAFE_INTEGER` is less than Java's `Long.MAX_VALUE`. Exceeding 
`MAX_SAFE_INTEGER` will produce nondeterministic behaviour and can very likely 
yield data corruption since the value in these circumstances will not be 
stable. So we might want to only support a value up to 
`Number.MAX_SAFE_INTEGER` and assert that the given value.
   
   It will also be worth confirming iOS behaviour on this as well, if iOS used 
ints instead of longs for offset markers, we'd want to sync those updates on 
the iOS side as well.
   
   I'm not seeing a resolution path without introducing a breaking change, so 
I'll add this to the next major release milestone. In the meantime, as a 
workaround, the plugin can be forked to make the necessary updates. While the 
updates should be considered a breaking change, in practice it will very likely 
not cause a breaking change in your app unless if you have another external 
plugin that implements a Filesystem class.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to