Skip to content

fix: support combined FileSystemTypes flags in Notify and Intercept - #1068

Merged
vbreuss merged 1 commit into
mainfrom
fix/1067-notify-multiple-filesystem-types
Aug 7, 2026
Merged

fix: support combined FileSystemTypes flags in Notify and Intercept#1068
vbreuss merged 1 commit into
mainfrom
fix/1067-notify-multiple-filesystem-types

Conversation

@vbreuss

@vbreuss vbreuss commented Aug 7, 2026

Copy link
Copy Markdown
Member

ChangeDescriptionExtensions.Matches had the HasFlag operands swapped: it asked whether the changed entry's single FileSystemType contained the filter, instead of whether the filter contained the entry's type. Because ChangeDescription.FileSystemType always carries exactly one flag, a subscription for FileSystemTypes.DirectoryOrFile (or Directory | File) never matched any event and silently received nothing.

Affects OnChanged, OnCreated and OnDeleted on both the notification and the interception handler.

changeType is now compared with HasFlag as well, so both flags enumerations follow the same any-of semantics that the XML docs describe.


@vbreuss vbreuss self-assigned this Aug 7, 2026
@vbreuss vbreuss added the bug Something isn't working label Aug 7, 2026
…ept`

`ChangeDescriptionExtensions.Matches` had the `HasFlag` operands swapped:
it asked whether the changed entry's single `FileSystemType` contained the
filter, instead of whether the filter contained the entry's type. Because
`ChangeDescription.FileSystemType` always carries exactly one flag, a
subscription for `FileSystemTypes.DirectoryOrFile` (or `Directory | File`)
never matched any event and silently received nothing.

Affects `OnChanged`, `OnCreated` and `OnDeleted` on both the notification
and the interception handler.

`changeType` is now compared with `HasFlag` as well, so both flags
enumerations follow the same any-of semantics that the XML docs describe.

---

- *Fixes #1067*
@vbreuss
vbreuss force-pushed the fix/1067-notify-multiple-filesystem-types branch from 56e1236 to 252a54c Compare August 7, 2026 16:48
@sonarqubecloud

sonarqubecloud Bot commented Aug 7, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Aug 7, 2026

Copy link
Copy Markdown

Test Results

    122 files  ±  0      122 suites  ±0   2h 25m 49s ⏱️ - 11m 19s
113 544 tests + 84  100 840 ✅ + 84  12 704 💤 ±0  0 ❌ ±0 
283 948 runs  +300  246 810 ✅ +300  37 138 💤 ±0  0 ❌ ±0 

Results for commit 252a54c. ± Comparison against base commit 3c8f5e1.

This pull request removes 110396 and adds 110479 tests. Note that renamed tests count towards both.
  )
)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(02535cb6-2003-4077-99bf-5c205baa885c)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(0dcfd65b-1597-4815-9da1-9fb00e246d45)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(11ad2fbd-453d-4578-a6ee-0fdcafa916c7)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(11c2096c-a619-4969-9638-6a635e7ddba6)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(148f220b-a65f-4dda-aa02-ea7e75651653)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(1bfc113b-42a6-47dc-b916-8ec97333ce30)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(2e66110d-ad5f-40cd-ae93-3e06459697ca)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(34a1b83d-eacf-4c2d-b9ec-ee7df2384803)
…
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(02dd0e3a-3e28-4ea3-8a1c-e5c07ac8b79e)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(07eb9ade-6027-4b20-817f-d06285bc07d7)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(22088909-0ec3-4a43-9f7a-1fbf5f67bdbe)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(2847685f-9c0e-4e27-b6fe-1b6916a12f02)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(358e0ee3-4813-46fd-a8b7-6dd1974e292a)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(4214281e-3bb8-41f0-b805-61b6b342f9b5)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(566dbe0f-4096-49e4-9e10-b5772c1f4829)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(58e39493-f23c-4a36-a47d-af0af3d31290)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(5a7e6ab6-8783-4c10-acfc-30bdcef2ed00)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(5d37beb1-fb85-484c-93c0-37ff4a9eb195)
…
This pull request removes 12646 skipped tests and adds 12646 skipped tests. Note that renamed tests count towards both.
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(02535cb6-2003-4077-99bf-5c205baa885c)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(0dcfd65b-1597-4815-9da1-9fb00e246d45)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(11ad2fbd-453d-4578-a6ee-0fdcafa916c7)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(11c2096c-a619-4969-9638-6a635e7ddba6)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(148f220b-a65f-4dda-aa02-ea7e75651653)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(1bfc113b-42a6-47dc-b916-8ec97333ce30)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(2e66110d-ad5f-40cd-ae93-3e06459697ca)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(34a1b83d-eacf-4c2d-b9ec-ee7df2384803)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(3e98afa5-9bc2-4c8a-802e-d01560cb6cd4)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(5bb0bc9f-471c-420d-a3ff-89c791331197)
…
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(02dd0e3a-3e28-4ea3-8a1c-e5c07ac8b79e)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(07eb9ade-6027-4b20-817f-d06285bc07d7)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(22088909-0ec3-4a43-9f7a-1fbf5f67bdbe)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(2847685f-9c0e-4e27-b6fe-1b6916a12f02)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(358e0ee3-4813-46fd-a8b7-6dd1974e292a)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(4214281e-3bb8-41f0-b805-61b6b342f9b5)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(566dbe0f-4096-49e4-9e10-b5772c1f4829)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(58e39493-f23c-4a36-a47d-af0af3d31290)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(5a7e6ab6-8783-4c10-acfc-30bdcef2ed00)
Testably.Abstractions.AccessControl.Tests.DirectoryInfoAclExtensionsTests ‑ SetAccessControl_ShouldNotUpdateTimes(5d37beb1-fb85-484c-93c0-37ff4a9eb195)
…

@vbreuss
vbreuss merged commit 775b292 into main Aug 7, 2026
14 checks passed
@vbreuss
vbreuss deleted the fix/1067-notify-multiple-filesystem-types branch August 7, 2026 18:25
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown

This is addressed in release v7.0.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working state: released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Notify, etc. cannot Subscribe to multiple target Types

1 participant