haskell-fswatch / hfsnotify

Unified Haskell interface for basic file system notifications
BSD 3-Clause "New" or "Revised" License
136 stars 40 forks source link

A bunch of improvements #73

Closed thomasjm closed 6 years ago

thomasjm commented 6 years ago

Hi,

I've been giving this library some love for a while and was wondering if you would be interesting in merging this stuff back. Changes include

-- Detect directory creation/deletion (addresses #71) -- Test suites passing on Travis/Appveyor on Windows, Linux, and Mac and test stability improved (should fix #62) -- Improve a race condition when adding watches on Linux (because adding the watch takes some amount of time, it can miss files created while the watch was being created) (should fix #67) -- Make things more sane on Mac, where FSEvents flags can be unpredictable (the situation in #69 is significantly improved as well as #36). -- I believe issue #66 is fixed also.

This is a big collection of changes, so I'm open to feedback about what you want to do with it. A couple other notes:

-- There's a breaking API change; Events now have an isDirectory flag, so Added FilePath UTCTime becomes Added FilePath UTCTime Boolean -- On Windows I needed to adjust the flags being passed to ReadDirectoryChangesW, so I modified the win32-notify module so flags can be passed directly. That module is currently a git submodule in my branch. (Honestly I think it should just be copied into hfsnotify; it's only 2 files.)

Best, Tom

UnkindPartition commented 6 years ago

Hey Tom, thanks for your work.

Unfortunately, there doesn't seem to be any active maintainers to review your code.

However, the package does need a new maintainer. Would you be willing to become one?

thomasjm commented 6 years ago

Hi @feuerbach -- yes! I'd be happy to.

UnkindPartition commented 6 years ago

Great! I already invited you as a committer to this github org. If you let me know your hackage username, I'll also grant you the upload rights.

thomasjm commented 6 years ago

Thanks -- Hackage username is thomasjm

UnkindPartition commented 6 years ago

Done!

thomasjm commented 6 years ago

Sweet, I'll turn this PR into a new major version release soon