Skip to main content

Folder Watch - Releases

← App details

Nextcloud 35

Folder Watch 1.0.3
Release Details
UpdatedNov. 3, 2026, 10:31 a.m.
Changelog

Fix release archive packaging. No change to the code of the app.

Fixed

  • The release archive of 1.0.2 held ._folderwatch next to folderwatch (AppleDouble entries added by the tar of macOS, which hides them when it lists an archive), so Nextcloud refused to install it from the App Store with "Extracted app folderwatch has more than 1 folder". The archive is now packed by GNU tar in a Linux container, with no extended attributes, ._* or .DS_Store, in a fixed order and with root as owner.

Added

  • make appstore, appstore-sign and appstore-signature check the folder and the archive with Python's tarfile before any signature (tools/check-archive.py): the root must hold only folderwatch/, with no ._*, .DS_Store or __MACOSX anywhere.
  • make test-install installs the archive in a clean Nextcloud through OC\Installer, as the App Store does (certificate chain, signature of release, download, extraction), then runs integrity:check-app.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
Signatureu5jrfDvBJWMggTTjP/nhROEcVEzf+93hl2J7538LFLOoOABWF/KwlZUNwaURvaA5AaBJhDneW51ANLvXCFq+rgio96VRgpO3tmWokpqdS4rCVLTI5rItW03AAZQ5LI32ZknGchOXd3FoRjddZUagdr4KMQDkOneYmQqAlpw20fiF59I3himUnMNkID54FBfJ8NTryGO0V66nxQyjXKEGcBmr/dAgMuvyNo0mnQylYZGl04LAgs7wMFkNQB6SluLKFRY2any3PjhY5CxiV3m8vhTuDhtp2JvN/8wpNOtylvgD1hZ3eIjWk47OfYMC5eYi3RgR8dMeRS7IJV2eFrvnnWzSkOSXup2IUdyCJZpFfuPrKVfjOI1VxOIs2vXX1f1D5MJF5c5HMak03Vkc/Nkv67yxNmzUA3Zdq2+wtsaP5E9bK+hBFo7Lmemxrs6Jha8BFo7w+duGzpB0JOilCkMeu+33pTyfgP07edpoDacrIzUenJBAM17E5DQ88Pe3RciZuzy5PEXmq+o44PG3QMgjIFmt6cGCQX1FvuGdpf2LYOcULvyRJJRVH6U0NhUbn7+DpeDiJIvaJ0+PyO5I+JFJfQ5Qja/L9/kwoy+3Iu0/44s5sphBxKEM0YdkPRGuBnvDQn/BREn0phSi8omomxj6LINNsbUw3RjLerxUWDM7ZCM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0
Folder Watch 1.0.2
Release Details
UpdatedNov. 2, 2026, 10:26 p.m.
Changelog

Fixed

  • French: the frequency selector cut its longest label ("Récapitulatif tout…les heures"). The label is now "Récapitulatif horaire", and a unit test keeps the frequency labels short enough for the selector, which is only as wide as a column of the settings page. Checked in English and French from 320 px to 1280 px wide.

Changed

  • App Store listing improvements: new screenshots (personal settings with four watched folders as the first one, the "Watch this folder" action, a grouped notification, the e-mail, the administration page), declared with public URLs; a longer description with features, how it works and requirements, in English and French; links to the README, the issues and this changelog; documentation links for users and administrators, and the project website.
  • README.md is now the English version, with the English screenshots; the French version is README.fr.md, with the French screenshots. Each links to the other.
  • Screenshots in screenshots/en and screenshots/fr are regenerated from a new demo scene (tools/seed-demo.sh, tools/screenshots.mjs) with neutral data and no local address visible.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
SignatureQS+1XEKgHChvxjguYYIQINHAdBBrehnc7LibJ9nBYBzbLg4C7Sytj0BgcSeIc2/TFcdbKY4SDOAzTJvXpg7I8/R1B9oZmYLkz40Obqgy2TJggyrq+LtrZxwwlMnfB4Jhk1wbxLIS+s7nGPdjX7QZpnKj924mVWS19G5uxpHgwry5yTpR7r75NM2JmMBBreYHbne7obscLOKu5q0ceq/2JTCtNPxd+GpnsPMpFMeRNLkJZSAJlYoydCUStPO3yGS/VQvZUh3VsnRO6SMgK/Dv4SiU154R314m+qDOKsm9vR751NB7qsGySoJZ857OZgIAJopFXvAU0mTyaGm2Dec/HmGv76fPRzwItuysocxKKGCaScOiwwbtjDQ4bmIGMDKE/0d/HoC6zvteZks+VmzCDEK6L5RQMoPTeqdpzrYWl8w40PTdF4TuNkmJa8iKUOlZFPrBaYLVIVopUAfkXwSQvtXmAu7/i4mbQVHAF8c0b63967BXANNni994OBgRX+WMShTDqy8Mw6Wpv5TVwxSRLvQ+dYYl6v3/hhAyNtxCSms5I1KAm9wpXq1q6dPaEUYrT2zwOd1UIZAog+8HRssGauolOJHUtEVL3nnjCmchvWmjWlaAlMt7yVDiu6FQZQagbEagRM54f9aO/6dBBxiNMp2FkS0iLuzjbpecDK0eFTw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0
Folder Watch 1.0.1
Release Details
UpdatedNov. 2, 2026, 9:44 p.m.
Changelog

Initial release.

Added

  • Watch folders from the Files app ("Watch this folder" / "Stop watching", with an eye on watched folders) or from the personal settings, with a folder picker.
  • Per folder: include sub-folders or not, events (added, modified, removed, moved in), channel (Nextcloud notification, e-mail or both), frequency (as soon as possible, hourly digest, daily digest at a chosen hour).
  • "Ignore my own actions" option (on by default).
  • One notification and one e-mail per folder and per batch, with a detail line for mixed batches. E-mails use the native Nextcloud template, are written in the language of the recipient, list at most 50 items, and never carry file contents.
  • Matching by file ID, so watches follow renames and work for owners, share recipients, owners watching above a share point, and team folders. Ignored names (*.part, .~lock.*, ~$*, .DS_Store, Thumbs.db by default) and internal paths (versions, trash, upload chunks, app data) never raise an alert.
  • Access is checked again when an alert is sent: a watch whose folder is not reachable any more is suspended and resumes by itself when the folder comes back.
  • Links to files and to the watched folder have the form /index.php/f/<file id>, which does not depend on the reader's paths: the link opens the file even when the recipient renamed the shared folder on their side. They are worked out when the event happens, in the web request that caused it, and stored with the queued event. The host of the request is used only when it can be trusted: the host of overwrite.cli.url when that is usable, otherwise the first of trusted_domains. A request that came in through any other name (internal address, former or secondary domain) gets its link rebuilt on overwrite.cli.url. For events without a web request (command line, cron, scan) the address is overwrite.cli.url. With no trustworthy address at all the e-mail goes out without a link and a warning is logged at most once a day. Notifications make their links when they are shown.
  • Administration page: allow e-mail, folders per user (default 50), alerts per user and hour (default 20, postponed rather than dropped), ignored file names, and the same messages as the setup checks below.
  • Three setup checks in Administration → Overview: background jobs not run by cron, overwrite.cli.url missing or localhost, e-mail server not configured.
  • Personal settings: the e-mail channel is greyed out with the reason (switched off, server not configured, no address on the account), and a banner warns that alerts may be late when background jobs do not run by cron. Nextcloud without a configured e-mail server does not attempt e-mails: only notifications are sent.
  • occ folderwatch:list, folderwatch:add, folderwatch:remove and folderwatch:flush.
  • OCS API with an OpenAPI specification.
  • Daily clean-up: trash, unshared and deleted folders, deleted accounts, orphaned alerts.
  • French and English interface.
  • README: installation from the App Store first, then manual installation as the PHP user of the instance (including hosting panels such as Virtualmin or ISPConfig).

Known limitations

  • Files added outside Nextcloud on an external storage raise no alert until a files:scan has seen them.
  • A watch does not cross a mount point (a shared folder, team folder or external storage inside the watched folder).
  • Background jobs must run in cron mode for reliable alerts.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
Signaturetjqkcottx9lIPVD6iS70jYRAPUNS66deeEmbQvIxluuTpix1KlR1EpQfk3bDeSX1gDa5mQpM5ozXm0sNjd5db5XWd496dmN5Sz5a5h7+U1qdwUEfs7Q7hzLDQcYg5sTz2jdJapsATR7/nLlVxhWG1AkiBl84FAnwfjQMTntCbb4YoswtywGrxk4bB4LujSVZx8mao6P3tVjKoZY2r85V09Xbe7jXpUuS2A7YXUKC4DFfpBufvpGfmQYCgdVTNUgjb6VoJyvyJFjwbRrfPGpnd1w1kPEd9qXPpdj6ICHOzf2MAtAoV/QppB4BBl+yCgPBbWAhvfIom3EPIsE9RHX1GBdTHLDcfksO3c+gyyPgaSOc5KubiAVeeuwUz1qx0axhSKFzu1IoE356KHk3ue8jxm51TyPFOxpofQp9p/VLLdecs9BoOgmAUkwiNR0GHBW91esVD5RFkeDKkR0ry0znMUs7wXE7xSK6Mticco/vYHiHFgJICcNafrSA5e+BrhOhRfSeLl3hinqCoC/G1wdvBdCa2vK2FLXrqu122OXouVAKdZwyGmrgCsNkFeYr8+dk5UtqPMTvw15HmZapT7AB46M2h45u5CjK3yomQfa7rzQi3mUy2mhnQXI6WlWf6Te0wl6ZDd/Pt/xce8GHBMh1Iu0wWSPjFm9hO1XCMhGIQUw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 34

Folder Watch 1.0.3
Release Details
UpdatedNov. 3, 2026, 10:31 a.m.
Changelog

Fix release archive packaging. No change to the code of the app.

Fixed

  • The release archive of 1.0.2 held ._folderwatch next to folderwatch (AppleDouble entries added by the tar of macOS, which hides them when it lists an archive), so Nextcloud refused to install it from the App Store with "Extracted app folderwatch has more than 1 folder". The archive is now packed by GNU tar in a Linux container, with no extended attributes, ._* or .DS_Store, in a fixed order and with root as owner.

Added

  • make appstore, appstore-sign and appstore-signature check the folder and the archive with Python's tarfile before any signature (tools/check-archive.py): the root must hold only folderwatch/, with no ._*, .DS_Store or __MACOSX anywhere.
  • make test-install installs the archive in a clean Nextcloud through OC\Installer, as the App Store does (certificate chain, signature of release, download, extraction), then runs integrity:check-app.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
Signatureu5jrfDvBJWMggTTjP/nhROEcVEzf+93hl2J7538LFLOoOABWF/KwlZUNwaURvaA5AaBJhDneW51ANLvXCFq+rgio96VRgpO3tmWokpqdS4rCVLTI5rItW03AAZQ5LI32ZknGchOXd3FoRjddZUagdr4KMQDkOneYmQqAlpw20fiF59I3himUnMNkID54FBfJ8NTryGO0V66nxQyjXKEGcBmr/dAgMuvyNo0mnQylYZGl04LAgs7wMFkNQB6SluLKFRY2any3PjhY5CxiV3m8vhTuDhtp2JvN/8wpNOtylvgD1hZ3eIjWk47OfYMC5eYi3RgR8dMeRS7IJV2eFrvnnWzSkOSXup2IUdyCJZpFfuPrKVfjOI1VxOIs2vXX1f1D5MJF5c5HMak03Vkc/Nkv67yxNmzUA3Zdq2+wtsaP5E9bK+hBFo7Lmemxrs6Jha8BFo7w+duGzpB0JOilCkMeu+33pTyfgP07edpoDacrIzUenJBAM17E5DQ88Pe3RciZuzy5PEXmq+o44PG3QMgjIFmt6cGCQX1FvuGdpf2LYOcULvyRJJRVH6U0NhUbn7+DpeDiJIvaJ0+PyO5I+JFJfQ5Qja/L9/kwoy+3Iu0/44s5sphBxKEM0YdkPRGuBnvDQn/BREn0phSi8omomxj6LINNsbUw3RjLerxUWDM7ZCM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0
Folder Watch 1.0.2
Release Details
UpdatedNov. 2, 2026, 10:26 p.m.
Changelog

Fixed

  • French: the frequency selector cut its longest label ("Récapitulatif tout…les heures"). The label is now "Récapitulatif horaire", and a unit test keeps the frequency labels short enough for the selector, which is only as wide as a column of the settings page. Checked in English and French from 320 px to 1280 px wide.

Changed

  • App Store listing improvements: new screenshots (personal settings with four watched folders as the first one, the "Watch this folder" action, a grouped notification, the e-mail, the administration page), declared with public URLs; a longer description with features, how it works and requirements, in English and French; links to the README, the issues and this changelog; documentation links for users and administrators, and the project website.
  • README.md is now the English version, with the English screenshots; the French version is README.fr.md, with the French screenshots. Each links to the other.
  • Screenshots in screenshots/en and screenshots/fr are regenerated from a new demo scene (tools/seed-demo.sh, tools/screenshots.mjs) with neutral data and no local address visible.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
SignatureQS+1XEKgHChvxjguYYIQINHAdBBrehnc7LibJ9nBYBzbLg4C7Sytj0BgcSeIc2/TFcdbKY4SDOAzTJvXpg7I8/R1B9oZmYLkz40Obqgy2TJggyrq+LtrZxwwlMnfB4Jhk1wbxLIS+s7nGPdjX7QZpnKj924mVWS19G5uxpHgwry5yTpR7r75NM2JmMBBreYHbne7obscLOKu5q0ceq/2JTCtNPxd+GpnsPMpFMeRNLkJZSAJlYoydCUStPO3yGS/VQvZUh3VsnRO6SMgK/Dv4SiU154R314m+qDOKsm9vR751NB7qsGySoJZ857OZgIAJopFXvAU0mTyaGm2Dec/HmGv76fPRzwItuysocxKKGCaScOiwwbtjDQ4bmIGMDKE/0d/HoC6zvteZks+VmzCDEK6L5RQMoPTeqdpzrYWl8w40PTdF4TuNkmJa8iKUOlZFPrBaYLVIVopUAfkXwSQvtXmAu7/i4mbQVHAF8c0b63967BXANNni994OBgRX+WMShTDqy8Mw6Wpv5TVwxSRLvQ+dYYl6v3/hhAyNtxCSms5I1KAm9wpXq1q6dPaEUYrT2zwOd1UIZAog+8HRssGauolOJHUtEVL3nnjCmchvWmjWlaAlMt7yVDiu6FQZQagbEagRM54f9aO/6dBBxiNMp2FkS0iLuzjbpecDK0eFTw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0
Folder Watch 1.0.1
Release Details
UpdatedNov. 2, 2026, 9:44 p.m.
Changelog

Initial release.

Added

  • Watch folders from the Files app ("Watch this folder" / "Stop watching", with an eye on watched folders) or from the personal settings, with a folder picker.
  • Per folder: include sub-folders or not, events (added, modified, removed, moved in), channel (Nextcloud notification, e-mail or both), frequency (as soon as possible, hourly digest, daily digest at a chosen hour).
  • "Ignore my own actions" option (on by default).
  • One notification and one e-mail per folder and per batch, with a detail line for mixed batches. E-mails use the native Nextcloud template, are written in the language of the recipient, list at most 50 items, and never carry file contents.
  • Matching by file ID, so watches follow renames and work for owners, share recipients, owners watching above a share point, and team folders. Ignored names (*.part, .~lock.*, ~$*, .DS_Store, Thumbs.db by default) and internal paths (versions, trash, upload chunks, app data) never raise an alert.
  • Access is checked again when an alert is sent: a watch whose folder is not reachable any more is suspended and resumes by itself when the folder comes back.
  • Links to files and to the watched folder have the form /index.php/f/<file id>, which does not depend on the reader's paths: the link opens the file even when the recipient renamed the shared folder on their side. They are worked out when the event happens, in the web request that caused it, and stored with the queued event. The host of the request is used only when it can be trusted: the host of overwrite.cli.url when that is usable, otherwise the first of trusted_domains. A request that came in through any other name (internal address, former or secondary domain) gets its link rebuilt on overwrite.cli.url. For events without a web request (command line, cron, scan) the address is overwrite.cli.url. With no trustworthy address at all the e-mail goes out without a link and a warning is logged at most once a day. Notifications make their links when they are shown.
  • Administration page: allow e-mail, folders per user (default 50), alerts per user and hour (default 20, postponed rather than dropped), ignored file names, and the same messages as the setup checks below.
  • Three setup checks in Administration → Overview: background jobs not run by cron, overwrite.cli.url missing or localhost, e-mail server not configured.
  • Personal settings: the e-mail channel is greyed out with the reason (switched off, server not configured, no address on the account), and a banner warns that alerts may be late when background jobs do not run by cron. Nextcloud without a configured e-mail server does not attempt e-mails: only notifications are sent.
  • occ folderwatch:list, folderwatch:add, folderwatch:remove and folderwatch:flush.
  • OCS API with an OpenAPI specification.
  • Daily clean-up: trash, unshared and deleted folders, deleted accounts, orphaned alerts.
  • French and English interface.
  • README: installation from the App Store first, then manual installation as the PHP user of the instance (including hosting panels such as Virtualmin or ISPConfig).

Known limitations

  • Files added outside Nextcloud on an external storage raise no alert until a files:scan has seen them.
  • A watch does not cross a mount point (a shared folder, team folder or external storage inside the watched folder).
  • Background jobs must run in cron mode for reliable alerts.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
Signaturetjqkcottx9lIPVD6iS70jYRAPUNS66deeEmbQvIxluuTpix1KlR1EpQfk3bDeSX1gDa5mQpM5ozXm0sNjd5db5XWd496dmN5Sz5a5h7+U1qdwUEfs7Q7hzLDQcYg5sTz2jdJapsATR7/nLlVxhWG1AkiBl84FAnwfjQMTntCbb4YoswtywGrxk4bB4LujSVZx8mao6P3tVjKoZY2r85V09Xbe7jXpUuS2A7YXUKC4DFfpBufvpGfmQYCgdVTNUgjb6VoJyvyJFjwbRrfPGpnd1w1kPEd9qXPpdj6ICHOzf2MAtAoV/QppB4BBl+yCgPBbWAhvfIom3EPIsE9RHX1GBdTHLDcfksO3c+gyyPgaSOc5KubiAVeeuwUz1qx0axhSKFzu1IoE356KHk3ue8jxm51TyPFOxpofQp9p/VLLdecs9BoOgmAUkwiNR0GHBW91esVD5RFkeDKkR0ry0znMUs7wXE7xSK6Mticco/vYHiHFgJICcNafrSA5e+BrhOhRfSeLl3hinqCoC/G1wdvBdCa2vK2FLXrqu122OXouVAKdZwyGmrgCsNkFeYr8+dk5UtqPMTvw15HmZapT7AB46M2h45u5CjK3yomQfa7rzQi3mUy2mhnQXI6WlWf6Te0wl6ZDd/Pt/xce8GHBMh1Iu0wWSPjFm9hO1XCMhGIQUw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0

Nextcloud 33

Folder Watch 1.0.3
Release Details
UpdatedNov. 3, 2026, 10:31 a.m.
Changelog

Fix release archive packaging. No change to the code of the app.

Fixed

  • The release archive of 1.0.2 held ._folderwatch next to folderwatch (AppleDouble entries added by the tar of macOS, which hides them when it lists an archive), so Nextcloud refused to install it from the App Store with "Extracted app folderwatch has more than 1 folder". The archive is now packed by GNU tar in a Linux container, with no extended attributes, ._* or .DS_Store, in a fixed order and with root as owner.

Added

  • make appstore, appstore-sign and appstore-signature check the folder and the archive with Python's tarfile before any signature (tools/check-archive.py): the root must hold only folderwatch/, with no ._*, .DS_Store or __MACOSX anywhere.
  • make test-install installs the archive in a clean Nextcloud through OC\Installer, as the App Store does (certificate chain, signature of release, download, extraction), then runs integrity:check-app.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
Signatureu5jrfDvBJWMggTTjP/nhROEcVEzf+93hl2J7538LFLOoOABWF/KwlZUNwaURvaA5AaBJhDneW51ANLvXCFq+rgio96VRgpO3tmWokpqdS4rCVLTI5rItW03AAZQ5LI32ZknGchOXd3FoRjddZUagdr4KMQDkOneYmQqAlpw20fiF59I3himUnMNkID54FBfJ8NTryGO0V66nxQyjXKEGcBmr/dAgMuvyNo0mnQylYZGl04LAgs7wMFkNQB6SluLKFRY2any3PjhY5CxiV3m8vhTuDhtp2JvN/8wpNOtylvgD1hZ3eIjWk47OfYMC5eYi3RgR8dMeRS7IJV2eFrvnnWzSkOSXup2IUdyCJZpFfuPrKVfjOI1VxOIs2vXX1f1D5MJF5c5HMak03Vkc/Nkv67yxNmzUA3Zdq2+wtsaP5E9bK+hBFo7Lmemxrs6Jha8BFo7w+duGzpB0JOilCkMeu+33pTyfgP07edpoDacrIzUenJBAM17E5DQ88Pe3RciZuzy5PEXmq+o44PG3QMgjIFmt6cGCQX1FvuGdpf2LYOcULvyRJJRVH6U0NhUbn7+DpeDiJIvaJ0+PyO5I+JFJfQ5Qja/L9/kwoy+3Iu0/44s5sphBxKEM0YdkPRGuBnvDQn/BREn0phSi8omomxj6LINNsbUw3RjLerxUWDM7ZCM=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0
Folder Watch 1.0.2
Release Details
UpdatedNov. 2, 2026, 10:26 p.m.
Changelog

Fixed

  • French: the frequency selector cut its longest label ("Récapitulatif tout…les heures"). The label is now "Récapitulatif horaire", and a unit test keeps the frequency labels short enough for the selector, which is only as wide as a column of the settings page. Checked in English and French from 320 px to 1280 px wide.

Changed

  • App Store listing improvements: new screenshots (personal settings with four watched folders as the first one, the "Watch this folder" action, a grouped notification, the e-mail, the administration page), declared with public URLs; a longer description with features, how it works and requirements, in English and French; links to the README, the issues and this changelog; documentation links for users and administrators, and the project website.
  • README.md is now the English version, with the English screenshots; the French version is README.fr.md, with the French screenshots. Each links to the other.
  • Screenshots in screenshots/en and screenshots/fr are regenerated from a new demo scene (tools/seed-demo.sh, tools/screenshots.mjs) with neutral data and no local address visible.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
SignatureQS+1XEKgHChvxjguYYIQINHAdBBrehnc7LibJ9nBYBzbLg4C7Sytj0BgcSeIc2/TFcdbKY4SDOAzTJvXpg7I8/R1B9oZmYLkz40Obqgy2TJggyrq+LtrZxwwlMnfB4Jhk1wbxLIS+s7nGPdjX7QZpnKj924mVWS19G5uxpHgwry5yTpR7r75NM2JmMBBreYHbne7obscLOKu5q0ceq/2JTCtNPxd+GpnsPMpFMeRNLkJZSAJlYoydCUStPO3yGS/VQvZUh3VsnRO6SMgK/Dv4SiU154R314m+qDOKsm9vR751NB7qsGySoJZ857OZgIAJopFXvAU0mTyaGm2Dec/HmGv76fPRzwItuysocxKKGCaScOiwwbtjDQ4bmIGMDKE/0d/HoC6zvteZks+VmzCDEK6L5RQMoPTeqdpzrYWl8w40PTdF4TuNkmJa8iKUOlZFPrBaYLVIVopUAfkXwSQvtXmAu7/i4mbQVHAF8c0b63967BXANNni994OBgRX+WMShTDqy8Mw6Wpv5TVwxSRLvQ+dYYl6v3/hhAyNtxCSms5I1KAm9wpXq1q6dPaEUYrT2zwOd1UIZAog+8HRssGauolOJHUtEVL3nnjCmchvWmjWlaAlMt7yVDiu6FQZQagbEagRM54f9aO/6dBBxiNMp2FkS0iLuzjbpecDK0eFTw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0
Folder Watch 1.0.1
Release Details
UpdatedNov. 2, 2026, 9:44 p.m.
Changelog

Initial release.

Added

  • Watch folders from the Files app ("Watch this folder" / "Stop watching", with an eye on watched folders) or from the personal settings, with a folder picker.
  • Per folder: include sub-folders or not, events (added, modified, removed, moved in), channel (Nextcloud notification, e-mail or both), frequency (as soon as possible, hourly digest, daily digest at a chosen hour).
  • "Ignore my own actions" option (on by default).
  • One notification and one e-mail per folder and per batch, with a detail line for mixed batches. E-mails use the native Nextcloud template, are written in the language of the recipient, list at most 50 items, and never carry file contents.
  • Matching by file ID, so watches follow renames and work for owners, share recipients, owners watching above a share point, and team folders. Ignored names (*.part, .~lock.*, ~$*, .DS_Store, Thumbs.db by default) and internal paths (versions, trash, upload chunks, app data) never raise an alert.
  • Access is checked again when an alert is sent: a watch whose folder is not reachable any more is suspended and resumes by itself when the folder comes back.
  • Links to files and to the watched folder have the form /index.php/f/<file id>, which does not depend on the reader's paths: the link opens the file even when the recipient renamed the shared folder on their side. They are worked out when the event happens, in the web request that caused it, and stored with the queued event. The host of the request is used only when it can be trusted: the host of overwrite.cli.url when that is usable, otherwise the first of trusted_domains. A request that came in through any other name (internal address, former or secondary domain) gets its link rebuilt on overwrite.cli.url. For events without a web request (command line, cron, scan) the address is overwrite.cli.url. With no trustworthy address at all the e-mail goes out without a link and a warning is logged at most once a day. Notifications make their links when they are shown.
  • Administration page: allow e-mail, folders per user (default 50), alerts per user and hour (default 20, postponed rather than dropped), ignored file names, and the same messages as the setup checks below.
  • Three setup checks in Administration → Overview: background jobs not run by cron, overwrite.cli.url missing or localhost, e-mail server not configured.
  • Personal settings: the e-mail channel is greyed out with the reason (switched off, server not configured, no address on the account), and a banner warns that alerts may be late when background jobs do not run by cron. Nextcloud without a configured e-mail server does not attempt e-mails: only notifications are sent.
  • occ folderwatch:list, folderwatch:add, folderwatch:remove and folderwatch:flush.
  • OCS API with an OpenAPI specification.
  • Daily clean-up: trash, unshared and deleted folders, deleted accounts, orphaned alerts.
  • French and English interface.
  • README: installation from the App Store first, then manual installation as the PHP user of the instance (including hosting panels such as Virtualmin or ISPConfig).

Known limitations

  • Files added outside Nextcloud on an external storage raise no alert until a files:scan has seen them.
  • A watch does not cross a mount point (a shared folder, team folder or external storage inside the watched folder).
  • Background jobs must run in cron mode for reliable alerts.
Licenses AGPLv3+
Certificate-----BEGIN CERTIFICATE-----
MIIEBjCCAu4CAhSfMA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNVBAYTAkRFMRswGQYD
VQQIDBJCYWRlbi1XdWVydHRlbWJlcmcxFzAVBgNVBAoMDk5leHRjbG91ZCBHbWJI
MTYwNAYDVQQDDC1OZXh0Y2xvdWQgQ29kZSBTaWduaW5nIEludGVybWVkaWF0ZSBB
dXRob3JpdHkwHhcNMjYxMTAyMTcyOTA4WhcNMzcwMjA3MTcyOTA4WjAWMRQwEgYD
VQQDDAtmb2xkZXJ3YXRjaDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB
AMT+pz7QAXBMHoMwufIx4dBz/BJ1FVPKzGaET0hQQfbt5wJtcDRuCh8OPCXVRuDX
luLQhlT3USZTpGd6sUhrEGhjfWgnnOuD3OlrJ3NlhdG7XmQHeZiYNCDTaR2ydZvF
nC42QFA9cCFpU4Aay+SMGII713tPeTAsyP5zDEJV7OpbMj0BWX0bBh3EYGumx/EO
TQ74d5LTxProzSOOvYq18lEAmkr/hUu+kSHXVELt+GnSCMpmY6cFUbOFrfyqQD/o
1tMWx5iSjAT168m3uPInKMICH6V3jIDb70acrSf6OE0p62YwgmQxY2KhxhZUA9MM
uC8s2zqCCjYtBLSONENZc3xEjIa18Mu4LEbL4PVQhECdy6srYBtbS1SWH42DxLsk
fcxC+J1wdMmkDD9f1KSm7MuxBduA5hI9KvncCrD8X348DgSTWT6y22tVMkbUAYQt
5aZUcmdkG+H0QC/vUkO0v2noXLZgAnMCLrO5d/LmoQGeA2WpiTmITUrI5/EGyGSV
7ewHJc9attNl1erKb0/yhqntJe2SIRqyVEdBahjH04NjesbFIbd1afXq1slEUVY6
q0+ziirZhqYE2D4geR/5VhihNhBHarlTQqikqBsq31vq43at94IsP6PZIS7AeNSb
eaQUNm9PBng8ewWyzzXmJmXzas2Wnl5vosaHQtF1LPQTAgMBAAEwDQYJKoZIhvcN
AQELBQADggEBAI7qoA147Jxd0e65w3fFZj6j5tsOmTLb3iyuycG/Af6IWc3TEMN1
2zmneP/72iQsIR3r6hpwX2ei3I9oRhh4xj10BJjSz1kKUkObXXgAUrQyLRV6I0Yk
KxPJysPjAdPp3CYZqpjl86XqFJTVrMbCFxDUXnQFym7DEYKYgb0I+HxO8b5rOF/m
FxncaMxD7BfnEu3NmSD/DN1Lzm3eKql5es2evabhCYmVpjXOOaaqmskVkjvML4et
pLLOJiodLIkZgkbzFyGD5wH8XF3C8IzPWGSIbafyMlNjuH5SUDYym4uB/2MJRZEo
+ExhcOMds6wwSuxdFUb81CbXciCbt8IaL34=
-----END CERTIFICATE-----
Signaturetjqkcottx9lIPVD6iS70jYRAPUNS66deeEmbQvIxluuTpix1KlR1EpQfk3bDeSX1gDa5mQpM5ozXm0sNjd5db5XWd496dmN5Sz5a5h7+U1qdwUEfs7Q7hzLDQcYg5sTz2jdJapsATR7/nLlVxhWG1AkiBl84FAnwfjQMTntCbb4YoswtywGrxk4bB4LujSVZx8mao6P3tVjKoZY2r85V09Xbe7jXpUuS2A7YXUKC4DFfpBufvpGfmQYCgdVTNUgjb6VoJyvyJFjwbRrfPGpnd1w1kPEd9qXPpdj6ICHOzf2MAtAoV/QppB4BBl+yCgPBbWAhvfIom3EPIsE9RHX1GBdTHLDcfksO3c+gyyPgaSOc5KubiAVeeuwUz1qx0axhSKFzu1IoE356KHk3ue8jxm51TyPFOxpofQp9p/VLLdecs9BoOgmAUkwiNR0GHBW91esVD5RFkeDKkR0ry0znMUs7wXE7xSK6Mticco/vYHiHFgJICcNafrSA5e+BrhOhRfSeLl3hinqCoC/G1wdvBdCa2vK2FLXrqu122OXouVAKdZwyGmrgCsNkFeYr8+dk5UtqPMTvw15HmZapT7AB46M2h45u5CjK3yomQfa7rzQi3mUy2mhnQXI6WlWf6Te0wl6ZDd/Pt/xce8GHBMh1Iu0wWSPjFm9hO1XCMhGIQUw=
Signature digestsha512
Dependencies
Required Nextcloud versions >=33.0.0,<37.0.0
Minimum Integer bits32
PHP>=8.2.0