Detalhes do pacote

airdcpp-share-monitor

airdcpp-web77MIT1.2.0

Real time share monitoring

airdcpp, airdcpp-extensions, airdcpp-extensions-public

readme (leia-me)

airdcpp-share-monitor Node.js CI npm package Coverage

AirDC++ extension that will monitor the shared directories for changes and apply them in share.

What's new in each version

Changelog

Troubleshooting

Enable extension debug mode from application settings and check the extension error logs (Settings\extensions\airdcpp-search-sites\logs) for additional information.

Common issues

The extension exits with "EISDIR: illegal operation on a directory" in the error log

This means that your system or the specific storage solution doesn't support file watching. File watching is typically supported on Windows, Linux and macOS, but it may not work with all network storage solutions or when using virtualization.

The extension exits with "Error: watch /share/root/ ENOSPC" in the error log (Linux only)

The maximum limit for directory watchers was reached. You may see the current limit on your system by executing the command cat /proc/sys/fs/inotify/max_user_watches in terminal.

As Linux doesn't have support for watching directories for changes recursively, the extension needs to go through all roots and their subdirectories and add an individual watcher for each of them. If the total number of directories in your share is larger than the system limit for directory watchers, adding of watchers will fail.

Solution 1

If you don't need to watch all shared directories for changes, you may set some of the root as Incoming on the Share page and configure the extension to monitor incoming roots only.

Solution 2

You may increase the maximum watcher limit on your system (instructions)

Extension airdcpp-share-monitor timed out and was restarted

Common reasons that may cause a timeout:

  • The extension became unresponsive because of an unusually high system load
  • System was hibernated

If such timeouts happen often when the system is under heavy load, you can increase the ping timeout period from the Web UI (Settings -> System -> Advanced server settings -> Socket ping timeout).

Development

Help wanted

Pull requests with new validation modules are welcome. When developing new modules, please write tests as well.

This extension is based on the airdcpp-create-extension example project, that provides instructions for AirDC++ extension development.

You may run the tests with npm run test.

changelog (log de mudanças)

Version 1.2.0 (2024-10-26)

  • Fix file copy events not possibly triggering a refresh
  • Update all dependencies, drop support for older Node.js versions

Version 1.1.3 (2021-01-21)

  • Fix possible crashes after startup when change events were received before the extension had been fully initialized

Version 1.1.2 (2021-01-04)

  • Avoid timeouts when the system is unresponsive (#2)
  • Fix compatibility with older node versions (< 12)

Version 1.1.1 (2021-01-01)

  • Avoid filling the log file with excessive messages when running the extension in debug mode

Version 1.1.0 (2021-01-01)

  • Avoid timeouts when the system is unresponsive (#2)
  • Trigger refresh for the parent directory when deleting directories
  • Ignore changes for queued files/directories (avoids cases where bundle directories could get refreshed by the extension after they have finished downloading)

Version 1.0.1 (2020-12-18)

  • Avoid timeouts when disk response times are long (#2)

Version 1.0.0 (2020-12-06)

  • Don't show a log message about added paths if there are no roots to watch
  • Update dependencies

Version 0.0.7 (2020-11-27)

  • Correct an API path for checking deleted file/directory information

Version 0.0.6 (2020-11-21)

  • Ignore change events for non-shared paths
  • Improve event logging

Version 0.0.5 (2020-11-21)

  • Ignore events for file permission changes
  • Add restart note for the monitoring mode setting
  • Fix source maps