Most importantly, this PR fixes an issue in which timestamp is missing when using the camera on android phones. The new strategy is to completely ignore the photo metadata. Instead, the geolocation is obtained using navigator.geolocation.getCurrentPosition and the timestamp is always obtained using Date.now(). So, the timestamp and geolocation are when and where a photo was uploade, and do NOT necessarily indicate when and where the photo was taken. This greatly simplifies the business logic and appears to work in all cases.
While I was at it:
Timestamps are now stored in ISO 8601 format (YYYY-MM-DDTHH:mm:ss.sssZ) for maximum compatibility.
A new component displays the timestamp using the local time zone.
The component now displays the geolocation as a link to a Google Maps search.
Removed modules that are no longer needed due the simplified business logic: date-fns, date-format-parse, dms2dec. Please check that these are not being used by any code you are still using.
Most importantly, this PR fixes an issue in which timestamp is missing when using the camera on android phones. The new strategy is to completely ignore the photo metadata. Instead, the geolocation is obtained using
navigator.geolocation.getCurrentPosition
and the timestamp is always obtained usingDate.now()
. So, the timestamp and geolocation are when and where a photo was uploade, and do NOT necessarily indicate when and where the photo was taken. This greatly simplifies the business logic and appears to work in all cases.While I was at it:
I have tested these changes on: