ignore empty events
Prevent duplicate events from triggering

Duplicate events firing causes unnecessary API requests for things
that shouldn't need to happen more than once. Also catch when files
have fired events but aren't ready for upload yet.